Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

15.5.18. ライブブロックコピーによるディスクイメージの管理

注記

ライブブロックコピーは、Red Hat Enterprise Linux で提供される KVM のバージョンでサポートされる機能です。ライブブロックコピーは、Red Hat Virtualization で提供される KVM のバージョンで利用できます。この機能がサポートされるには、KVM のこのバージョンが物理ホストマシン上で実行されている必要がります。詳細は、Red Hat の担当者にお問い合わせください。
ライブブロックコピーにより、ゲストの実行中に、使用中のゲストディスクイメージを移行先イメージにコピーでき、ゲストディスクイメージを移行先ゲストイメージに切り替えることができます。ライブマイグレーションではメモリーおよびレジストリー状態のホストを移動する間、ゲストは共有ストレージに保持されます。ライブブロックコピーでは、ゲストの実行中に、ゲストのコンテンツ全体を別のホストにオンザフライで移動できます。また、ライブブロックコピーは、永続的な共有ストレージを必要とすることなく、ライブマイグレーションに使用することもできます。この方法では、ディスクイメージは移行後に移行先ホストにコピーされますが、ゲストの実行中にこれが行なわれます。
ライブブロックコピーは、以下のように適用する場合にとくに便利です。
  • ローカルストレージから集中管理できる場所にゲストイメージを移動する
  • メンテナンスが必要な場合に、パフォーマンスを低下させることなく、ゲストを別の場所に転送する
  • イメージをスピードと効率を維持した状態でゲストイメージを管理する
  • ゲストをシャットダウンせずにイメージのフォーマット変換を実行する

例15.1 ライブブロックコピーの使用例

以下の例は、ライブブロックコピーの実行時にどのようになるかを示しています。この例では、ソースと移行先の間で共有されるバッキングファイルがあります。さらに、ソースにのみ 2 つのオーバーレイ (sn1 および sn2) があり、これらはコピーする必要があります。
  1. 開始時のバッキングファイルチェーンは以下のようになります。
    base ← sn1 ← sn2
    コンポーネントは以下のようになります。
    • base - 元のディスクイメージ
    • sn1 - base ディスクイメージから取られた最初のスナップショット
    • sn2 - 最新のスナップショット
    • active - ディスクのコピー
  2. イメージのコピーが sn2 の上に新規イメージとして作成されると、結果は以下のようになります。
    base ← sn1 ← sn2 ← active
  3. この時点で、読み取りアクセス権はすべて正しい順序にあり、自動的に設定されます。書き込みアクセス権が適切に設定されていることを確認するために、ミラーメカニズムがすべての書き込みを sn2 と active の両方にリダイレクトし、sn2 と active がいつでも同じ内容を読み込めるようにします (また、このミラーメカニズムが、ライブブロックコピーとイメージストリーミングの間の本質的な違いになります)。
  4. すべてのディスククラスターにループするバックグラウンドタスクが実行されます。それぞれのクラスターについては、以下のケースおよびアクションが考えられます。
    • クラスターは active ですでに割り当てられており、とくに実行すべきことはない。
    • bdrv_is_allocated() を使用し、バッキングファイルチェーンをフォローする。クラスターが (共有される) base から読み込まれる場合、とくに実行すべきことはない。
    • bdrv_is_allocated() のバリアントが実行可能でない場合、イメージをリベースし、コピーが必要かどうかを決定するために、読み込みデータをベースの書き込みデータと比較する。
    • 上記以外のすべてのケースでは、クラスターを active にコピーする
  5. コピーが完了したら、active のバッキングファイルが base に切り替わります (リベースと同様)。
一連のスナップショット後にバッキングチェーンの長さを短縮するには、以下のコマンドが役立ちます: blockcommit および blockpull。詳細は、「blockcommit を使用したバッキングチェーンの短縮化」を参照してください。