Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

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. 备份一个虚拟机

  1. 使用 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 的磁盘进行快照。
  2. 从快照下的 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
  3. 记录快照的磁盘 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
  4. 把快照附加到用于备份的虚拟机,并激活磁盘:
    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>
  5. 使用备份软件在用于备份的虚拟机上备份快照磁盘中的数据。
  6. 把快照磁盘从用于备份的虚拟机上断开:
    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>
  7. 或者,删除快照:
    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. 恢复一个虚拟机

  1. 在管理门户中,创建一个用来恢复备份的浮动磁盘。请参阅 第 11.6.1 节 “创建浮动虚拟磁盘” 来获得如何创建浮动磁盘的信息。
  2. 把磁盘附加到用于备份的虚拟机上:
    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>
  3. 使用备份软件在磁盘上恢复备份。
  4. 把磁盘从用于备份的虚拟机上断开:
    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>
  5. 使用被恢复虚拟机的配置信息创建一个新虚拟机。
    POST /api/vms/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <vm>
        <cluster>
            <name>cluster_name</name>
        </cluster>
        <name>NAME</name>
        ...
    </vm>
  6. 把磁盘附加到新虚拟机上:
    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 所创建的备份恢复了一个虚拟机。