過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤の構築 問32

仮想化基盤の構築/仮想マシンの管理とOVFの活用

共有ストレージ上のディスクを使って稼働している仮想マシンvm1を、停止させずにホストhost2へ移したい。移行後はhost2側にvm1の永続的な定義が作られ、移行元のホストからはvm1の定義が削除されるようにしたい。移行元で実行するコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤の構築」に対応。実際の試験問題ではありません)

正解:D

解説

virsh migrateの--liveは、仮想マシンを稼働させたままメモリの内容を移行先へ転送するライブマイグレーションを行います。--persistentを付けないと、移行先の仮想マシンは一時的な(transient)ドメインとして動き、停止すると定義が残りません。--undefinesourceを付けると、移行が成功したあとに移行元の永続的な定義を削除します。したがって、要件をすべて満たすには--live・--persistent・--undefinesourceを組み合わせます。一方、仮想マシンを停止してから定義やディスクを移す方法はコールドマイグレーションと呼ばれます。

選択肢ごとの解説

  • A誤り。--offlineは、仮想マシンを移行先で起動せず、移行元でも停止させずに、ドメインの定義だけを移行先へ作るオプションです。稼働中の状態は移りません。
  • B誤り。--suspendは、移行先で仮想マシンを一時停止した状態のままにするオプションです。--persistentも--undefinesourceも無いため、移行先は一時的なドメインとなり、移行元の定義も残ります。
  • C誤り。--copy-storage-allは、ディスクの内容も移行先へ複製するオプションで、共有ストレージがある場合は不要です。--persistentが無いため移行先の定義は残らず、移行元の定義も削除されません。
  • D正しい。--liveで停止させずに移し、--persistentで移行先に永続的な定義を作り、--undefinesourceで移行元の定義を削除します。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く