Red Hat Training
A Red Hat training course is available for Red Hat Virtualization
12.2. バックアップ/リストア API を使用した仮想マシンのバックアップと復元
12.2.1. バックアップ/リストア API
バックアップ/リストア API は、全体またはファイルレベルでの仮想マシンのバックアップと復元を可能にする機能のコレクションです。この API は、ライブスナップショットや REST API などの Red Hat Virtualization の複数のコンポーネントを組み合わせて、独立系のソフトウェアプロバイダーの提供するバックアップソフトウェアが実装された仮想マシンにアタッチできる一時ボリュームを作成/操作します。
サポート対象のサードパーティーバックアップベンダーについては、「The Red Hat Ecosystem」をご確認ください。
12.2.2. 仮想マシンのバックアップ
バックアップ/リストア API を使用して仮想マシンをバックアップします。以下の手順は、バックアップ用の仮想マシンと、バックアップを管理するソフトウェアのインストール先となる仮想マシンの合計 2 台が用意されていることを前提とします。
仮想マシンのバックアップ
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
バックアップ用仮想マシンにスナップショットをアタッチします。その際、正しいインターフェースタイプ (例: virtio_scsi) を設定してアクティブなディスクとしてアタッチします。
POST /api/vms/22222222-2222-2222-2222-222222222222/diskattachments/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk_attachment> <active>true</active> <interface>_virtio_scsi_</interface> <disk id="11111111-1111-1111-1111-111111111111"> <snapshot id="11111111-1111-1111-1111-111111111111"/> </disk> </disk_attachment>
- バックアップ用仮想マシンでバックアップソフトウェアを使用して、スナップショット上のデータをバックアップします。
バックアップ用仮想マシンからスナップショットディスクのアタッチを解除します。
DELETE /api/vms/22222222-2222-2222-2222-222222222222/diskattachments/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
オプションとして、スナップショットを削除します。
DELETE /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
別の仮想マシンにインストールしたバックアップソフトウェアを使用して、一定時点の仮想マシンがバックアップされました。
12.2.3. 仮想マシンの復元
バックアップ/リストア API を使用してバックアップした仮想マシンを復元します。以下の手順は、以前のバックアップの管理に使用するソフトウェアがインストール済みの仮想マシン 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 を使用して作成したバックアップで、仮想マシンを復元しました。