19.3. virsh を使用した ライブ KVM 移行
virsh
コマンドを使用してゲストを別のホストに移行することが できます。migrate
コマンドは 以下の形式のパラメータを 受け付けます:
# virsh migrate --live GuestName DestinationURL
GuestName
パラメータは、移行したいゲストの 名前を表すものです。
DestinationURL
パラメータは目的地システムの URL かホスト名です。目的地システムは Red Hat Enterprise Linux の同じバージョンを 実行しなければならず、同じ hypervisor を使用して、libvirt
が 稼働している必要があります。
コマンドが入力されると、目的地システムの root パスワードを催促されます。
例: virsh を使用したライブ移行
この例では、test1.example.com
から test2.example.com
へ移行をします。ご自分の 環境に適したホスト名に変更して下さい。この例は RHEL4test
と言う 仮想マシンを移行します。
この例では、ユーザーが共有ストレージを完全に設定していて、全ての 前提事項を満たしていると想定します(移行の要件 に一覧表示)。
ゲストが稼働していることを確認します
送信元のシステムtest1.example.com
からRHEL4test
が稼働していることを確認します:[root@test1 ~]# virsh list Id Name State ---------------------------------- 10 RHEL4 running
ゲストを移行
以下のコマンドを実行して、ゲストを目的地、test2.example.com
に ライブ移行します。/system
を目的地の URL の末尾に追記することで全面的アクセスが 必要であることを libvirt に伝えます。# virsh migrate --live
RHEL4test qemu+ssh://test2.example.com/system
コマンドが入力されると、目的地システムの root パスワードを催促されます。待ち時間
この移行はゲスト上の負荷とそのサイズによりいくらかの時間がかかります。virsh
は エラーを報告するだけです。このゲストは完全に移行が終了するまで送信元のホストで稼働し続けます。ゲストが目的地のホストに到着したことを確認
目的地のシステム、test2.example.com
から、RHEL4test
が稼働していることを確認します:[root@test2 ~]# virsh list Id Name State ---------------------------------- 10 RHEL4 running
ライブ移行はこれで完了しました。
注記
libvirt は、TLS/SSL、unix sockets、SSH、及び暗号化の無い TCP を含む各種の ネットワーキングメソッドをサポートします。これらのメソッドの使用法に関する 詳細には、20章仮想化ゲストのリモート管理 を参照して下さい。