web-dev-qa-db-ja.com

KVM / qemu / libvirtの最適なオプションVM共有ストレージなしの移行

私のチームは最近、会社の仮想化インフラストラクチャの改善を任されており、私たちが検討していることの1つは、移行の高速化です。ローカルストレージはすべてのVMホストでのみ使用します。1つの課題は、CentOS、KVM、libvirt、およびqemuの異なるバージョン(悲しい面)を実行している何千ものホストがあることです。すべてのゲストはCentOSとして私たちが実行している最低バージョンは次のとおりです。

  • CentOS 5.6
  • カーネル2.6.18
  • libvirt 1.0.0
  • qemu 1.1.0

移行を行うために使用される現在のツールは、基本的にnetcatを使用してディスクイメージファイルを送信し、適切なvirshコマンドを実行して、ゲストを新しいホストに表示します(構成管理の調整に加えて)。

私たちは、必要な創造的な手段によって、ゲストのダウンタイムを減らしたり、転送自体を高速化したりする方法を見つけようとしています。インターウェブのさまざまなコーナーから情報を収集するのに数日を費やしましたが、Serverfaultの立派な住人が知識を共有できるかどうか興味があります。必要に応じて、一時的に共有ストレージを仲介者として使用できますが、ハイパーバイザーを変更したり、すべてのホストに共有ストレージを実装したりすることを除けば、何でも公正なゲームです。

私たちが探求しなければならないいくつかの現在の実用的なアイデア:

  • ゲストのスナップショット、ベースイメージの新しいホストへのコピー、ゲストのシャットダウン、スナップショットの新しいホストへのコピー、新しいホストでのスナップショットのコミット、スナップショットの削除、開始
  • 一時的に仲介者として何らかの方法で共有ストレージを使用することを検討してください。詳細については現時点では不明ですが、一時的にマウントされたglusterfs共有などを使用することをお勧めします。
  • VMが稼働している間にディスクイメージファイルをコピーし、ゲストをシャットダウンしてから、rsyncを使用して変更されたビットをコピーします。

新しいバージョンのkvm/qemu/libvirtのみをサポートするさまざまなメソッド/ツールを用意していますが、古いものも可能な限り最善の方法で移動できるようにしたいと考えています。

何人かの人々が彼らがしたことのいくつかの例を共有できることを願っています!ありがとう。

3
irlrobot

OVirtがハイパーコンバージド仮想化をサポートし、移行するまで、もう少し待つことができます。無料のオープンソースKVMベースの仮想化システムがあり、ローカルストレージをglusterボリュームとして使用し、すべてを一元管理できます。少しyum-updatesdまたはpuppet/ansible/whatever、およびホストのバージョン管理も確立されます。

1
dyasny