5.8. インスタンスの退避
インスタンスを障害の発生したコンピュートノードまたはシャットダウンしたコンピュートノードから同じ環境内の新しいホストに移動する場合、インスタンスを退避させることができます。
退避プロセスにより元のインスタンスは破棄され、元のイメージ、インスタンス名、UUID、ネットワークアドレス、およびインスタンスに割り当てられていたその他すべてのリソースを使用して、別のコンピュートノードに元のインスタンスが再ビルドされます。
インスタンスが共有ストレージを使用する場合、インスタンスのルートディスクは退避プロセス中に再ビルドされません。移行先コンピュートノードが引き続きこのディスクにアクセス可能なためです。インスタンスが共有ストレージを使用しない場合は、インスタンスのルートディスクも移行先コンピュートノードに再ビルドされます。
-
コンピュートノードがフェンシングされ、API が報告するコンピュートノードの状態が「down」または「forced-down」である場合に限り、退避を行うことができます。コンピュートノードが「down」または「forced-down」と報告されない場合、
evacuate
コマンドは失敗します。 - クラウド管理者でなければ、退避を行うことはできません。
5.8.1. 単一のインスタンスの退避
インスタンスを一度に 1 つずつ退避させることができます。
手順
- 障害の発生したコンピュートノードに管理者としてログインします。
コンピュートノードを無効にします。
(overcloud) [stack@director ~]$ openstack compute service set \ <host> <service> --disable
-
<host>
をインスタンスの退避元となるコンピュートノードの名前に置き換えてください。 -
<service>
を無効にするサービスの名前 (例:nova-compute
) に置き換えてください。
-
インスタンスを退避させるには、以下のコマンドを入力します。
(overcloud) [stack@director ~]$ nova evacuate [--password <pass>] <vm> [<dest>]
-
<pass>
を退避するインスタンスに設定する admin パスワードに置き換えてください。パスワードを指定しなかった場合には、無作為に生成され、退避の完了時に出力されます。 -
<vm>
を退避させるインスタンスの名前または ID に置き換えてください。 <dest>
をインスタンスの退避先となるコンピュートノードの名前に置き換えてください。退避先コンピュートノードを指定しなかった場合には、Compute のスケジューラーがノードを選択します。退避先に指定可能なコンピュートノードを確認するには、以下のコマンドを使用します。(overcloud) [stack@director ~]$ openstack hypervisor list
-