16.4.2. 备份虚拟机

使用备份和恢复 API 来备份虚拟机。此流程假设您有两个虚拟机:要备份的虚拟机,以及在其中安装管理备份的软件的虚拟机。

备份虚拟机

  1. 使用 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 PortalVM PortalNew Virtual MachineEdit Virtual Machine 窗口的 General 选项卡中。
    • 对虚拟机执行快照将其当前配置数据存储在快照下 初始化 中的 配置属性data 属性中。
    重要

    您不能对标记为共享的磁盘或基于直接 LUN 磁盘执行快照。

  2. 从快照下的 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> 中。之后,您将使用这些数据来恢复虚拟机。
  3. 获取快照 ID:

    GET /api/vms/{vm:id}/snapshots/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
  4. 确定快照的磁盘 ID:

    GET /api/vms/{vm:id}/snapshots/{snapshot:id}/disks HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
  5. 将快照作为活跃磁盘附加附加将快照附加到备份虚拟机,并具有正确的接口类型(例如,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。

  6. 使用备份虚拟机上的备份软件备份快照磁盘上的数据。
  7. 从备份虚拟机中删除快照磁盘附件:

    DELETE /api/vms/{vm:id}/diskattachments/{snapshot:id} HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    注意

    在这里,将 {vm:id} 替换为 备份 虚拟机的 ID,而不是您之前生成快照的虚拟机。将 {snapshot:id} 替换为快照 ID。

  8. 另外,还可删除快照:

    DELETE /api/vms/{vm:id}/snapshots/{snapshot:id} HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    注意

    此处,将 {vm:id} 替换为之前生成快照的虚拟机 ID。将 {snapshot:id} 替换为快照 ID。

您已在使用在单独虚拟机上安装的备份软件,在固定时间点备份虚拟机状态。