1.2. バックアップおよび復元の仕組み
以下のサブセクション 1.2.1 および 1.2.2 は、バックアップと復元のワークフローを説明しています。
1.2.1. ボリュームバックアップのワークフロー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Block Storage バックアップサービスがバックアップを実行すると、cinder API から、ターゲットのボリュームのバックアップを作成する要求を受け取ります。バックアップサービスは要求を完了し、コンテンツをバックエンドに保存します。
以下の図は、要求が Block Storage (cinder) サービスと相互作用してバックアップを実行する方法を示しています。
- クライアントは、cinder API を起動して、Block Storage ボリュームのバックアップを作成するように要求します。
- cinder API サービスは、HAProxy から要求を受信し、要求、ユーザー認証情報、およびその他の情報を検証します。
- SQL データベースにバックアップレコードを作成します。
- AMQP 経由で cinder-backup サービスに非同期 RPC 呼び出しを行い、ボリュームをバックアップします。
- API 呼び出し元に、現在のバックアップレコード (ID) を返します。
- RPC 作成メッセージは、バックアップサービスのいずれかに届きます。
-
cinder-backupは、get_backup_デバイスへの同期 RPC 呼び出しを実行します。 -
cinder-volumeは、正しいデバイスが呼び出し元に返されるようにします。通常は同じボリュームですが、ボリュームが使用中の場合は、設定によっては一時クローンボリュームまたは一時スナップショットが返されます。 -
cinder-backupサービスは、cinder-volumeへの別の同期 RPC 呼び出しを発行し、ソースデバイスを公開します。 -
cinder-volumeサービスは、ボリュームまたはスナップショットのいずれかのソースデバイスをエクスポートおよびマッピングし、適切な接続情報を返します。 -
cinder-backupは、接続情報を使用してソースボリュームを割り当てます。 -
cinder-backupは、デバイスが接続されている状態でバックアップドライバーを呼び出し、バックアップ先へのデータ転送を開始します。 - ボリュームがバックアップホストから切り離されている。
-
cinder-backupサービスは、cinder-volumeへの同期 RPC 呼び出しを発行し、ソースデバイスを切断します。 -
cinder-volumeサービスは、デバイスのマッピングを解除し、エクスポートを削除します。 -
一時ボリュームまたは一時スナップショットが作成された場合、
cinder-backupはcinder-volumeを呼び出してそのボリュームを削除します。 -
cinder-volumeにより、一時ボリュームが削除されます。 - バックアップが完了すると、データベースのバックアップレコードが更新されます。