16.4.2. 备份虚拟机
使用备份和恢复 API 来备份虚拟机。此流程假设您有两个虚拟机:要备份的虚拟机,以及在其中安装管理备份的软件的虚拟机。
备份虚拟机
使用 REST API,创建要备份的虚拟机的快照:
POST /api/vms/
{vm:id}
/snapshots/ HTTP/1.1 Accept: application/xml Content-type: application/xml <snapshot> <description>BACKUP</description> </snapshot>注意-
在这里,将
{vm:id}
替换为您要生成快照的虚拟机 ID。这个 ID 位于 Administration Portal 和 VM Portal 的 New Virtual Machine 和 Edit Virtual Machine 窗口的 General 选项卡中。 -
对虚拟机执行快照将其当前配置数据存储在快照下
初始化
中的配置属性
的data
属性中。
重要您不能对标记为共享的磁盘或基于直接 LUN 磁盘执行快照。
-
在这里,将
从快照下的
data
属性中检索虚拟机的配置数据:GET /api/vms/
{vm:id}
/snapshots/{snapshot:id}
HTTP/1.1 All-Content: true Accept: application/xml Content-type: application/xml注意-
此处,将
{vm:id}
替换为之前生成快照的虚拟机 ID。将{snapshot:id}
替换为快照 ID。 -
添加
All-Content: true
标头以在响应中检索额外的 OVF 数据。XML 响应中的 OVF 数据位于 VM 配置元素中 <initialization><configuration>
中。之后,您将使用这些数据来恢复虚拟机。
-
此处,将
获取快照 ID:
GET /api/vms/{vm:id}/snapshots/ HTTP/1.1 Accept: application/xml Content-type: application/xml
确定快照的磁盘 ID:
GET /api/vms/
{vm:id}
/snapshots/{snapshot:id}
/disks HTTP/1.1 Accept: application/xml Content-type: application/xml将快照作为活跃磁盘附加附加将快照附加到备份虚拟机,并具有正确的接口类型(例如,virtio_scsi):
POST /api/vms/
{vm:id}
/diskattachments/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk_attachment> <active>true</active> <interface>_virtio_scsi_</interface> <disk id="{disk:id}"> <snapshot id="{snapshot:id}"/> </disk> </disk_attachment>注意在这里,将
{vm:id}
替换为 备份 虚拟机的 ID,而不是您之前生成快照的虚拟机。将{disk:id}
替换为磁盘 ID。将{snapshot:id}
替换为快照 ID。- 使用备份虚拟机上的备份软件备份快照磁盘上的数据。
从备份虚拟机中删除快照磁盘附件:
DELETE /api/vms/
{vm:id}
/diskattachments/{snapshot:id}
HTTP/1.1 Accept: application/xml Content-type: application/xml注意在这里,将
{vm:id}
替换为 备份 虚拟机的 ID,而不是您之前生成快照的虚拟机。将{snapshot:id}
替换为快照 ID。另外,还可删除快照:
DELETE /api/vms/
{vm:id}
/snapshots/{snapshot:id}
HTTP/1.1 Accept: application/xml Content-type: application/xml注意此处,将
{vm:id}
替换为之前生成快照的虚拟机 ID。将{snapshot:id}
替换为快照 ID。
您已在使用在单独虚拟机上安装的备份软件,在固定时间点备份虚拟机状态。