5.6. インスタンスのライブマイグレーション
ライブマイグレーションでは、ダウンタイムを最小限に抑えて、インスタンスを移行元コンピュートノードから移行先コンピュートノードに移動します。ライブマイグレーションがすべてのインスタンスに適しているとは限りません。詳細は、「移行の制約」を参照してください。
手順
インスタンスのライブマイグレーションを行うには、インスタンスおよび移行先コンピュートノードを指定します。
(overcloud) $ openstack server migrate <vm> --live <dest> --wait
-
<vm>
をインスタンスの名前または ID に置き換えてください。 <dest>
を移行先コンピュートノードの名前または ID に置き換えてください。注記openstack server migrate
コマンドは、共有ストレージを持つインスタンスの移行が対象です。これがデフォルトの設定です。ローカルに確保されたボリュームを移行するには、--block-migration
フラグを指定します。(overcloud) $ openstack server migrate <vm> --live <dest> --wait --block-migration
-
インスタンスが移行されていることを確認します。
(overloud) $ openstack server show <vm> +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | ... | ... | | status | MIGRATING | | ... | ... | +----------------------+--------------------------------------+
- 移行が完了するまで待ちます。インスタンスの移行が完了するのを待つ間、移行のステータスを確認することができます。詳細は、「 移行ステータスの確認 」を参照してください。
インスタンスのステータスをチェックして、移行が成功したかどうかを確認します。
(overcloud) $ openstack server list --host <dest> --all-projects
<dest>
を移行先コンピュートノードの名前または ID に置き換えてください。(オプション) NUMA、CPU ピニング、または DPDK を使用するインスタンスについて、コンピュートノードから NUMA トポロジーに関する情報を取得して、移行の準備手順の実施中に取得した NUMA トポロジーと比較します。移行元と移行先コンピュートノードの NUMA トポロジーを比較して、移行元と移行先コンピュートノードが同じ NUMA トポロジーを使用するようにします。
NUMA および CPU ピニングに関する詳細を確認するには、以下のコマンドを実行します。
$ ssh root@overcloud-compute-n # virsh vcpuinfo <vm>
-
overcloud-compute-n
をコンピュートノードのホスト名に置き換えてください。 -
<vm>
をインスタンスの名前に置き換えてください。
-
インスタンスがどの NUMA ノードを使用しているかの詳細を確認するには、以下のコマンドを実行します。
$ ssh root@overcloud-compute-n # virsh numatune <vm>
-
overcloud-compute-n
をコンピュートノードのホスト名に置き換えてください。 -
<vm>
をインスタンスの名前または ID に置き換えてください。
-
オプション: メンテナンスのために移行元コンピュートノードを無効にした場合は、新規インスタンスがノードに割り当てられるようにノードを再度有効にする必要があります。
(overcloud) $ source ~/stackrc (undercloud) $ openstack compute service set <source> nova-compute --enable
<source>
を移行元コンピュートノードのホスト名に置き換えてください。(オプション)DPDK を使用する移行先インスタンス用に移行先コンピュートノードを無効にした場合には、新規インスタンスがノードに割り当てられるようにノードを再度有効にする必要があります。
(overcloud) $ source ~/stackrc (undercloud) $ openstack compute service set <dest> nova-compute --enable
<dest>
を移行先コンピュートノードのホスト名に置き換えてください。