13.2. 使用备份和恢复 API 对虚拟机进行备份和恢复
13.2.1. 备份和恢复 API
备份和恢复 API 就是一组功能调用,您可以使用它们来执行虚拟机的完全或文件级备份和恢复操作。API 包括了 Red Hat Virtualization 的多个组件(如实时快照和 REST API)来创建并使用临时卷,这个卷可以被附加到包括第三方软件商提供的备份软件的虚拟机上。
如需了解支持的第三方备份厂商,请参阅 Red Hat Virtualization Ecosystem(Red Hat Marketplace)。
注意
如需了解如何使用 REST API 的信息,请参阅 REST API 指南中的备份和恢复 API。
13.2.2. 备份一个虚拟机
使用备份和恢复 API 来备份一个虚拟机。这个步骤假设您有两个虚拟机:一个需要备份的虚拟机和一个安装了备份管理软件的虚拟机。
过程 13.6. 备份一个虚拟机
- 使用 REST API 创建需要备份的虚拟机的一个快照:
POST /api/vms/11111111-1111-1111-1111-111111111111/snapshots/ HTTP/1.1 Accept: application/xml Content-type: application/xml <snapshot> <description>BACKUP</description> </snapshot>
注意
在创建一个虚拟机快照时,虚拟机当时的配置数据会被保存到快照下的initialization
中的configuration
属性的data
属性中。重要
您不能对标记为“可共享”的磁盘或基于直接 LUN 的磁盘进行快照。 - 从快照下的
data
属性中获取配置数据:GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
- 记录快照的磁盘 ID 和快照 ID:
GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111/disks HTTP/1.1 Accept: application/xml Content-type: application/xml
- 把快照附加到用于备份的虚拟机,并激活磁盘:
POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> <snapshot id="11111111-1111-1111-1111-111111111111"/> <active>true</active> </disk>
- 使用备份软件在用于备份的虚拟机上备份快照磁盘中的数据。
- 把快照磁盘从用于备份的虚拟机上断开:
DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <detach>true</detach> </action>
- 或者,删除快照:
DELETE /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
您使用在一个独立虚拟机上安装的备份软件备份了一个虚拟机。
13.2.3. 恢复一个虚拟机
恢复使用备份和恢复 API 备份的虚拟机。这个过程假设您有一个安装了备份虚拟机软件的、用于进行备份的虚拟机。
过程 13.7. 恢复一个虚拟机
- 在管理门户中,创建一个用来恢复备份的浮动磁盘。请参阅 第 11.6.1 节 “创建浮动虚拟磁盘” 来获得如何创建浮动磁盘的信息。
- 把磁盘附加到用于备份的虚拟机上:
POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> </disk>
- 使用备份软件在磁盘上恢复备份。
- 把磁盘从用于备份的虚拟机上断开:
DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <detach>true</detach> </action>
- 使用被恢复虚拟机的配置信息创建一个新虚拟机。
POST /api/vms/ HTTP/1.1 Accept: application/xml Content-type: application/xml <vm> <cluster> <name>cluster_name</name> </cluster> <name>NAME</name> ... </vm>
- 把磁盘附加到新虚拟机上:
POST /api/vms/33333333-3333-3333-3333-333333333333/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> </disk>
您通过使用备份和恢复 API 所创建的备份恢复了一个虚拟机。