Oracle OpenStack for Oracle Solaris では、VM インスタンスは、Oracle Solaris のスケーラブルな高密度仮想環境であるカーネルゾーンまたは非大域ゾーンです。ゾーンのライブ移行のサポートが Nova VM インスタンスに拡張されています。
Horizon サービスのダッシュボードまたは nova コマンドを使用してライブ移行を開始できます。参加しているノードの中からスケジューラが移行のターゲットホストを選択します。セキュリティーを確保するため、移行メカニズムは、移行を実行するために適切な暗号化アルゴリズムを自動的に選択します。ただし、/etc/nova/nova.conf ファイル内のパラメータにより、使用する優先される暗号化を選択できます。
ゾーンライブ移行の詳細は、オペレーティングシステムのドキュメントの使用している Oracle Solaris バージョンのライブラリにある『Oracle Solaris カーネルゾーンの作成と使用』で、カーネルゾーンの移行に関する説明を参照してください。zoneadm(8) および solaris-kz(7) のマニュアルページも参照してください。
ノードの移行を成功させるには、各コンピュートノードの SSH 鍵が各ノードの承認された鍵のファイルに追加されていることを確認する必要があります。それにより、次の図に示すように、これらのノードは承認された鍵の同じファイルを共有します。
次の手順を完了することによって、VM インスタンスの移行を準備します。
# su - nova -c "ssh-keygen -N '' -f /var/user/nova/.ssh/id_rsa -t rsa"
各ノードのすべての鍵ファイルを、いずれかのノード内の共通の場所に移動します。
すべての鍵を authorized_keys ファイルに結合します。
例:
# cat nova(1)/id_rsa.pub nova(n)/id_rsa.pub >> /var/user/nova/.ssh/authorized_keys
ここで、nova(1) から nova(n) は、参加しているノードの SSH 鍵を表します。
authorized_keys ファイルを、その他のすべての参加しているノードの /var/user/nova/.ssh ディレクトリに配布します。
オプションとして、各コンピュートノードの /etc/nova/nova.conf ファイル内の live_migration_cipher パラメータに、移行中に使用する暗号化方式を指定します。
ただし、適切な暗号化方式がこのプロセスで自動的に選択されるようにする場合は、このパラメータを設定解除されたままにします。
実行中のサーバーの別のマシンへのライブ移行を実行するには、グローバルシェル変数を設定したあとに次の構文を使用します。
# nova live-migration server [host]
ここで、server にはそのサーバーの名前または ID を指定でき、オプションの host は宛先サーバーの名前です。
現在のインスタンスのノードに障害が発生した場合、または Nova サービス自体が一定期間無効になっている場合、インスタンスを移動または退避して、別のノードにそれを再構築できます。それにより、このノードを回復できます。
あるホストから別のホストへのすべての VM インスタンスのライブ移行を実行するには、グローバルシェル変数を設定したあとに次の構文を使用します。
# nova host-evacuate-live [--target-host target] server