IBM Cloud Docs
快照、恢复和克隆

快照、恢复和克隆


IBM Power Virtual Server 于 IBM 数据中心

IBM Power Virtual Server私有云 于 客户所在地


IBM® Power® Virtual Server 提供了捕获整个逻辑卷或数据集的完整时间点副本的功能。 使用 IBM 的 FlashCopyPower® Virtual Server API 的功能,可以创建 delta 快照、卷克隆和还原磁盘。

创建快照

快照是在特定时间拍摄的一个卷或一组卷的状态副本。 通过使用快照,可以将卷恢复到拍摄快照时的状态。

先决条件

  • 在对卷进行快照之前,建议您关闭访问该卷的所有应用程序。 需要执行此操作以确保所有数据都被移动到磁盘上,从而避免数据丢失。

  • 如果要创建多个虚拟服务器实例(VM)共享的卷的快照,则必须关闭所有这些 VM 上的所有应用程序。 如果您不确定如何让应用程序停止运行,建议您关闭与要包含在快照中的卷相连的任何虚拟机。

  • 工作区的快照名称必须是唯一的。 如果要重新使用快照名称,请删除带有该名称的现有快照,然后重新使用该名称。

  • 快照中包含的卷必须在同一个存储池中。

  • 要包含在快照中的卷必须不处于 error 状态,且卷的健康状态必须是 ok

创建快照

通过快照界面,您可以在指定时间在源磁盘和目标磁盘之间创建关系,例如 T1. 目标磁盘的创建是创建快照操作的一部分。 快照操作可追踪源磁盘上发生的超时变化。T1 时间之外对源磁盘所做的更改。 因此,您可以在稍后的时间点将源磁盘复原到其 T1 状态。

用例

快照功能有多种用途。 请考虑以下示例:

  • 管理员计划升级中间件。 如果中间件升级失败,管理员必须将源磁盘恢复到原始状态。
  • 管理员完成以下步骤:
    1. 使用 API 命令 启动中间件信息所在源磁盘的快照。 创建源磁盘快照。
    2. 升级中间件。
    3. 如果升级失败,管理员会使用快照还原源磁盘。
    4. 如果升级成功,管理员会删除快照。

您可以启动多个快照操作。 不过,这些并发快照操作发生在不同的磁盘组上。

使用 API 或 CLI 命令创建快照

使用以下 API 和 CLI 命令创建快照:

您必须在 API 和 CLI 命令中提供以下参数值:

  • name:(必填)指定快照的名称。

    name 必须是工作区所有快照中唯一的值。

  • description:(可选)描述快照。

  • volumeIDs:(可选) 包括要包含在快照中的一个或多个卷的列表。 如果此参数留空,则快照中将包括连接到 Power 虚拟机 (PVM) 实例的所有卷。

创建快照的限制和注意事项

创建快照时必须考虑以下限制和注意事项:

  • 您不能在特定时间从不同的 PVM 实例为同一共享卷并行运行 PVM 实例快照操作。

  • 如果卷包含在 PVM 实例快照中,则无法调整卷的大小。 要调整此类卷的大小,必须先删除该卷所属的所有实例快照。

  • 不能从 PVM 实例中分离包含在实例快照中的卷。 要分离这些卷,必须先删除这些卷所在的所有实例快照。

  • 您必须将快照中包含的所有卷附加到同一个 PVM 实例。

  • 如果未指定 volumeIDs 选项,则快照中会包含连接到 PVM 实例的所有卷。

  • 如果连接到 PVM 实例的卷不在同一个存储池中,则使用 volumeIDs 选项来包含在同一个存储池中的卷。 在这种情况下,必须将同一存储池中的卷分组,并为存储池中的每个卷组创建快照。

如果创建快照的操作失败,会导致 error 状态。 您可以删除该快照,这样就无法对其执行其他操作。

复原快照

restore 操作将作为虚拟机快照一部分的卷还原到源磁盘。 当还原操作正在进行时,Power Virtual Server 会创建一个备份快照,在还原操作失败时可以使用。 如果复原操作成功,那么将删除备份快照。 如果还原操作失败,快照状态将设置为 restore-error。 您可以尝试重试还原或回滚操作,使其恢复到原始状态。 使用带有 retry 值的 restore_fail_action 查询参数重试还原操作。 要回滚到以前的磁盘状态,请使用 restore_fail_action 查询参数和 rollback 值。 还原操作失败时,虚拟机会进入错误状态。

先决条件

在启动 restore 操作前,确保满足以下前提条件:

  • 默认情况下,必须先关闭 PVM 实例,然后才能启动 restore 操作。

  • 要在实时 PVM 实例上还原数据,请使用 force restore 操作。 必须满足以下条件:

    • 让应用程序安静下来
    • 不要在卷磁盘上运行 I/O 操作

    如果不满足 force restore 操作条件,可能会导致数据损坏。

  • 如果要恢复多个虚拟机共享的卷的实例快照,则必须静止所有虚拟机上的所有应用程序。 此外,还原操作期间,共享卷上不得运行任何 I/O 操作。

  • 如果您不确定如何让应用程序停止运行,建议您关闭与要包含在快照中的卷相连的任何虚拟机。

使用 API 或 CLI 命令还原快照

使用以下 API 和 CLI 命令还原快照:

您必须在 API 和 CLI 命令中提供以下参数值:

  • SNAPSHOT_ID:(必填)指定快照的唯一标识符
  • force:(可选)指定标志值为 TrueFalse。 默认情况下,该标志设置为 False。 只有在虚拟机实例关闭时,该标记才会设置为 true。 默认情况下,在启动快照还原操作前,必须先关闭虚拟机。 当 force 标志设置为 True 时,虚拟机关闭的前提条件就会放宽。
  • restore 注意:(可选)只有在之前的还原操作导致将 PVM 实例快照设置为 restore-error 状态时,才使用 restore_fail_action 查询参数。 restore_fail_action 查询参数接受以下 retryrollback 值:
    • 如果快照状态设置为 retry,则会再次尝试失败的还原操作。
    • 如果快照状态设置为 rollback,则无法还原的卷将回滚到原始状态。

如果使用 force 选项,则必须确保访问实例快照中卷的所有应用程序都已停止,并且卷磁盘上没有正在运行的 I/O 操作。

用例

请考虑以下情况来还原快照:

  • 复原属于 VM 快照的所有卷
  • 运行多个 VM 复原操作
  • 如果 VM 复原操作最初失败,请重试该操作
  • 将 VM 回滚到其原始卷状态

限制和注意事项

  • 在系统开始 PVM 实例快照的 restore 操作之前,会创建一个仅供内部使用的临时卷备份快照。 如果快照 restore 操作失败,系统会使用临时备份将 PVM 实例恢复到 restore 操作失败前的状态。

  • 如果目标卷上正在运行任何复制操作,则不允许进行卷恢复操作。 对实例快照中的卷进行验证,以确保没有针对它们运行复制操作。 使用 API 获取卷的 FlashCopy 映射列表 或使用 CLI 命令 获取卷的 FlashCopy 映射列表

  • 在 PVM Instance 快照上执行 restore 操作时,PVM Instance 任务状态会更改为 restoring,卷状态会更改为 reverting,并且不允许执行其他 PVM Instance 操作。

  • restore 操作 PVM Instance 快照失败时,PVM Instance 状态将变为 restore-Error 状态。 您可以重试 PVM 实例快照 restore 操作,也可以请求将 PVM 实例回滚到还原操作失败前的原始状态。

  • 如果在共享卷上执行 restore 操作,则会恢复共享该卷的所有虚拟机。

  • 如果在一台虚拟机上对共享卷执行 restore 操作,则无法在使用共享卷的其他虚拟机上执行快照、还原、克隆或捕获操作。

  • 在对启动盘执行 restore 操作前,必须关闭虚拟机,且状态必须更改为 shutoff 状态。

  • restore retry 操作成功后,虚拟机状态可能无法从 Error 状态重置。 使用用户界面上的 Reset State 功能重置虚拟机状态。

  • 如果快照是最近创建的,且 FlashCopy 操作仍在后台运行,则无法还原 PVM 实例快照。 FlashCopy 操作必须首先完成。 使用 API 获取卷的 FlashCopy 映射列表 或使用 CLI 命令 获取卷的 FlashCopy 映射列表

快照的测量和定价

您创建的每个快照都会在每小时内受到监控,并根据快照所需的磁盘空间收费。 快照所使用的空间按基本费率的 30% 收费。

例如,虚拟机上有 M 个磁盘,加起来共有 600 GB 空间。 M 磁盘用作快照的源磁盘。 以下费用适用于 M 盘:

  • 如果创建一个快照,那么将向您收取基本 600 GB M 磁盘所使用的磁盘空间以及 600 GB 磁盘空间的 30% 的费用。 即,600 GB (M 磁盘空间) + 180 GB (600 GB 的 30%) = 780 GB 磁盘空间。
  • 如果使用相同的磁盘创建另一个快照,则需要支付 M 磁盘使用的磁盘空间费用。 也就是说,600 GB(M 个磁盘空间)+(600 GB 的 30%)+(600 GB 的 30%)= 960 GB 磁盘空间。
  • 快照的定价是根据快照中各个源卷的卷大小和存储层级计算的。 例如,请参考下表计算具有卷 A 和卷 B 的快照的成本。
计算快照成本的示例
卷名 卷大小 层类型 一卷的成本
A 卷 100 GB 第 1 层 100 GB 的 30
B 卷 30 GB 第 0 层 30 GB 的 30

快照的成本是 A 卷和 B 卷成本的总和。

创建卷克隆

创建加密卷克隆请求

克隆操作将创建卷的完整副本。 您可以选择多个卷并启动组克隆操作。 选择多个卷时,克隆操作将确保创建一致的数据副本。

克隆操作继续将数据从源磁盘复制到后台的目标磁盘。 根据源磁盘的大小和要复制的数据量,克隆操作可能需要大量时间。

先决条件

在开始创建卷克隆请求之前,确保满足以下前提条件:

  • 对于工作区来说,卷克隆请求名称必须是唯一的。 如果要重复使用卷克隆请求名称,请删除具有该名称的现有卷克隆请求,然后重复使用该名称。

  • 要包含在卷克隆请求中的卷必须位于同一个存储池中。

  • 要包含在 volume-clone 请求中的卷必须不处于 error 状态,且卷的健康状态必须为 ok

  • 关闭访问要包含在卷克隆请求中的卷集的应用程序。

使用 API 和 CLI 命令创建加密卷克隆请求

Prepare action 操作完成了为要克隆的卷创建组快照的准备工作。

先决条件

在启动 Prepare action 操作前,确保满足以下前提条件:

  • 至少两个卷
  • 至少有一卷处于 in-use 状态
  • 唯一卷-克隆名称

Prepare action 操作正在进行时,不能对同一组卷触发另一个 Prepare action 操作。 Prepare action 操作之后必须有 StartExecute 操作。 如果不使用现有的 Prepare action 操作,则必须先取消现有操作,然后再启动下一个 Prepare action 操作。

使用以下 API 和 CLI 命令启动 Prepare action 操作:

您必须在 API 和 CLI 命令中提供以下参数值:

  • name:(必填)提供要分配给加密卷-克隆请求的名称。 该名称在所有现有的加密卷-克隆请求中必须是唯一的。
  • volumeIDs:提供要克隆的卷标识符或名称列表。 至少需要两个卷 ID,其中至少一个卷必须处于 in-use 状态。 卷克隆请求中包含的所有卷必须位于同一个存储池中。

Prepare action 运行到 100% 时,Prepare 的状态会根据以下条件发生变化:

  • 如果 Prepare action 成功完成,状态将变为 prepared
  • 如果 Prepare action 未能成功完成,状态将变为 failed

要检查 Prepare action 操作的状态,请使用带 volumesCloneID 选项的 API 或 CLI 命令。

限制和注意事项

  • 至少需要 2 个加密卷 ID,其中至少一个必须处于 in-use 状态。

要克隆单个卷,您可以使用 为指定卷创建卷克隆 API 或 ibmcloud pi volume clone-async CLI 命令。 要检查单个卷克隆的状态,您可以使用 获取指定克隆任务 ID API 的卷克隆请求的状态ibmcloud pi volume clone-async get CLI 命令。

  • 对处于 in-use 状态的卷执行克隆操作时,Power Virtual Server 会创建一致的组快照,并使用组快照重新创建克隆卷的副本。

  • 克隆操作正在进行时,不能修改源磁盘或目标磁盘的属性(如磁盘大小)。

  • 不能尝试将作为一致性组一部分的卷克隆为现有一致性组的一部分。 必须运行 volumes-clone 启动请求后,卷才会属于一致性组,或者卷是快照 create 操作的一部分,后台闪存复制已完成。

  • 卷不能从一个存储池克隆到另一个存储池。

启动加密卷克隆请求

此步骤允许一致性组启动 FlashCopy 操作。

前提条件是,卷-克隆请求必须处于 Prepared 状态。

使用 API 和 CLI 命令启动卷克隆请求

加密卷请求的初始状态设置为 Starting

使用以下 API 和 CLI 命令启动卷克隆请求:

您必须在 volume_clones_id 参数中提供卷克隆请求的唯一标识符。 标识符可以是加密卷 ID 或加密卷名称。

启动加密卷克隆请求时,初始状态设置为 Starting。 创建组快照后,请求状态将变为 Availablestart 卷克隆请求的操作是同步的。 当 API 调用返回客户端时,除非发生错误,否则卷-克隆请求状态会更改为 Available。 如果在 start 操作过程中发生错误,卷克隆请求的状态将变为 Failed。 失败原因在随 start 操作响应返回的错误中说明。 将除去已准备好的快照数据,以便您可以再次克隆同一组卷。 如果取消卷克隆请求的 start 操作,卷克隆请求的状态将变为 Cancelling。 当卷-克隆请求处于 Available 状态时,可以取消卷-克隆请求。

限制和注意事项

在启动加密卷克隆请求之前,必须考虑以下限制和注意事项:

  • 至少需要两个加密卷 ID,其中至少一个必须处于 in-use 状态。

  • 对处于 in-use 状态的卷执行克隆操作时,Power Virtual Server 会创建一致的组快照,并使用组快照重新创建克隆卷的副本。

  • 克隆操作正在进行时,不能修改源磁盘或目标磁盘属性,如磁盘大小。

执行卷克隆请求

此步骤执行剩余的执行操作,从可用的组快照中创建克隆卷。

先决条件

卷-克隆请求必须处于 Available 状态。

使用 API 和 CLI 命令执行卷克隆请求

启动 execute 操作后,初始 percentComplete 将为 0%,状态设置为 executing

使用以下 API 和 CLI 命令启动卷克隆请求:

您必须在 API 和 CLI 命令中提供以下参数值:

  • volume-clones-id:(必填)卷克隆请求的唯一标识符。 标识符可以是加密卷 ID 或加密卷名称。
  • name:(必填)新克隆卷的基本名称。 克隆卷名称前缀为 clone-,后缀为 -#####-N。 在后缀中,##### 是一个五位数的随机数,N 是一个以 1 开头的递增数。
  • rollbackPrepare:(可选) 默认值为 False。 当标记设置为 False 时,系统会运行失败的回滚克隆活动,但准备好的快照保持原样。 当标记设置为 True 时,系统会运行故障回滚克隆活动并删除准备好的快照。
  • userTags:(可选)提供要附加到克隆卷的用户标记列表。
  • targetReplicationEnabled:(可选)使用此标记启用或禁用克隆卷的复制。 默认情况下,该标记使用正在克隆的源卷的复制状态。 当设置为 False 时,克隆卷不启用复制功能。 当设置为 True 时,克隆卷将启用复制功能。

如果源卷未启用复制功能,而您要为克隆卷启用复制功能,则必须启用源卷所在存储池的复制功能。

  • targetStorageTier:提供克隆卷的存储层名称。 使用此字段可将一组卷从一个存储层克隆到另一个存储层。 克隆卷必须与源卷保持在同一存储池中。

限制和注意事项

在启动加密卷克隆请求之前,必须考虑以下限制和注意事项:

  • 当卷-克隆请求的状态变为 completedfailedcancelled 状态之一时,卷-克隆请求即被视为完成。
  • volumes-clone execute 请求启动时,初始状态设置为 executing
  • execute 操作成功完成后,卷克隆请求状态将变为 completed
  • 如果在卷克隆过程中发生错误,那么将除去由克隆过程创建的任何工件。 组快照将返回 available 状态,以便您重试 execute 操作。
  • 当卷克隆请求处于 executing 状态时,可以取消该请求。
  • 如果取消加密卷克隆请求的 execute 操作,加密卷克隆请求的状态将更改为 cancelling
  • 您可以使用 rollbackPrepare 选项来控制 execute 操作失败后的行为。 rollbackPrepare 选项的默认值是 false。 默认值会导致失败的 execute 操作回滚克隆活动,但不会删除准备好的快照。 如果 rollbackPrepare 选项设置为 true,则会导致失败的 execute 操作回滚克隆活动并删除准备好的快照。

取消加密卷克隆请求

Cancel a volumes-clone request 操作会启动清理活动,对预备克隆和快照卷进行清理。

先决条件

卷-克隆请求必须处于 Available 状态。

使用 API 和 CLI 命令取消加密卷复制请求

启动 cancel 操作后,初始 percentComplete 将为 0%,状态设置为 cancelling

使用以下 API 和 CLI 命令取消加密卷克隆请求:

您必须在 API 和 CLI 命令中提供以下参数值:

  • volume-clones-id:(必填)卷克隆请求的唯一标识符。 标识符可以是加密卷 ID 或加密卷名称
  • Force:(可选) 默认状态为 False。 只有当状态设置为 preparedavailable 时,才允许执行 cancel 操作。 当状态设置为 True 时,当状态设置为 NOT completed, cancelling, cancelledfailed 时,允许进行 cancel 操作。

限制和注意事项

在取消加密卷克隆请求前,必须考虑以下限制和注意事项:

  • 如果取消加密卷克隆请求,加密卷克隆请求的初始状态将设为 Cancelling。 当所有清理工作顺利完成后,状态将变为 Cancelled
  • 当卷-克隆请求处于 executing 状态时,可以取消卷-克隆请求。 在 cancel volumes-clone 请求中,必须将 force 选项设置为 True
  • 如果卷-克隆请求处于 Executing 状态,克隆操作过程中创建的任何工件都会被移除。

删除加密卷克隆请求

不再需要卷克隆请求时,可以通过启动卷克隆删除操作来删除请求。

先决条件

卷-克隆请求必须处于以下最终状态之一:Completed, Failed,或 Cancelled

使用 API 和 CLI 命令删除加密卷克隆请求

使用以下 API 和 CLI 命令删除卷-克隆请求:

您必须在 API 和 CLI 命令中提供以下参数值:

  • volume-clones-id:(必填)卷克隆请求的唯一标识符。 标识符可以是加密卷 ID 或加密卷名称。
  • Force:(可选)强制取消卷克隆请求。 只有当状态设置为 preparedavailable 时,才允许执行 cancel 操作。 当状态设置为 True 时,当状态设置为 NOT completed, cancelling, cancelledfailed 时,允许进行 cancel 操作。

限制和注意事项

如果卷克隆请求未处于删除所需的最终状态之一,则可以取消请求,进行剩余清理,并将状态转换为 Cancelled。 如果卷-克隆请求处于 Cancelled 状态,则可删除该请求。

获取卷克隆请求的状态

此 API 请求会返回有关卷克隆请求状态的详细信息。 例如,正在克隆的源卷列表和成功完成 execute 操作后的克隆卷列表。

先决条件

无。

使用 API 和 CLI 命令获取卷克隆请求的状态

volume-clones-id 字段提供一个值。 该值是卷克隆请求的唯一标识符。 标识符可以是加密卷 ID 或加密卷名称。

限制和注意事项

无。

获取卷列表-克隆请求

API 请求提供工作区中所有卷克隆请求的列表以及每个请求的状态。

先决条件

无。

使用 API 和 CLI 命令获取卷克隆请求列表

从以下列表中为 filter 参数提供一个值:

  • prepare- 包括状态值(准备、准备好)
  • start- 包括状态值(启动、可用)
  • execute- 包括状态值(正在执行、可用-回滚)
  • cancel- 包括状态值(取消)
  • completed- 包括状态值(已完成)
  • failed- 包括状态值(失败)
  • cancelled- 包括状态值(已取消)
  • finalized- 包括状态值(完成、失败、取消)

限制和注意事项

在获取加密卷-克隆请求列表之前,必须考虑以下限制和注意事项:

  • 未提供有关源卷或克隆卷的详细信息。

  • 可以使用 filter 参数对列表进行限制。 过滤器是基于“过滤器”参数的状态。

常见问题

以下是常见问题页面中记录的有关快照和克隆的一些常见问题: