4.4. 将卷恢复到最新的快照
要将卷恢复到其最新快照的状态,您可以更改卷的状态,而不是从这个快照创建新卷。
支持恢复到快照功能的块存储驱动程序,比没有驱动程序更快、更高效地执行此任务。例如,写时复制空间优化不会受到影响。有关驱动程序支持哪些功能,请联系您的驱动程序供应商。
限制
- 在多附加卷中使用恢复到快照功能可能会有限制。在使用此功能前,检查是否应用了这些限制。
- 在进行快照后,您无法恢复调整(扩展)的卷。
- 您不能在附加或正在使用的卷中使用 restore-to-snapshot 功能。
默认情况下,您无法在可引导的根卷中使用 restore-to-snapshot 功能。要使用这个功能,您必须使用
delete_on_termination=false
属性引导实例,以便在实例终止时保留引导卷。在这种情况下,要恢复到快照,您必须:- 删除实例,使卷可用,然后
- 恢复卷,然后恢复卷
- 从卷创建一个新实例。
先决条件
- 块存储(cinder) REST API 微版本 3.40 或更高版本。
- 您必须至少为卷创建了一个快照。
流程
- 提供您的凭据文件。
分离卷:
openstack server remove volume <instance_id> <vol_id>
$ openstack server remove volume <instance_id> <vol_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<instance_id
> 和 <vol_id
> 替换为您要恢复的实例和卷的 ID。
-
将
找到您要恢复的快照的 ID 或名称。您只能恢复最新的快照。
cinder snapshot-list
$ cinder snapshot-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复快照:
cinder --os-volume-api-version=3.40 revert-to-snapshot <snapshot_id>
$ cinder --os-volume-api-version=3.40 revert-to-snapshot <snapshot_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<snapshot_id
> 替换为快照的 ID。
-
将
可选: 您可以使用
cinder snapshot-list
命令检查您要恢复的卷是否处于恢复状态。cinder snapshot-list
$ cinder snapshot-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新附加卷:
openstack server add volume <instance_id> <vol_id>
$ openstack server add volume <instance_id> <vol_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<instance_id
> 和 <vol_id
> 替换为您恢复的实例和卷的 ID。
-
将
验证
要检查流程是否成功,您可以使用
cinder list
命令验证您恢复的卷现在是否处于 available 状态。cinder list
$ cinder list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow