VM のライブマイグレーションとストレージ移動
Cockpit を使用すると、動いている仮想マシン(VM)とその仮想ハードディスクを、電源を切ることなく別の物理サーバーやストレージの間で移動させることができます。
1. ライブマイグレーション (VM本体の引っ越し)
動作中の VM の CPU の処理状態とメモリ(RAM)のデータを、元の物理サーバーから引っ越し先の物理サーバーへと移動させます。
- 💡 たとえ話:陸上競技のバトンパス リレーのバトンパスをイメージしてください。走者が立ち止まってバトン(VMの稼働状態)を渡す代わりに、2人目の走者(引っ越し先サーバー)が走り出し、並走してスピードを合わせてからバトンを渡します。バトンが渡った後もランナーは走り続けます。VMの電源は一度も落ちず、システムを利用中のユーザーは作業をそのまま継続できます。
ストレージの構成方法によって、Cockpit は以下のいずれかの方法で移動を行います:
A. 共有ストレージを利用した移動 (Shared Storage Migration - 高速パス)
- 仕組み: VMの仮想ディスクが、両方の物理サーバーからアクセス可能な共有ネットワークドライブ(NFS や OCFS2 など)に保存されている場合。
- 💡 たとえ話: 2人の走者が同じトラック上を走っている状態です。渡すのはバトン(CPU/メモリ状態)だけで、グラウンド(ストレージ)を動かす必要はありません。ディスクデータをコピーしないため、数秒で引っ越しが完了します。
B. 共有ストレージがない移動 (Shared-Nothing / Block Migration - 重い荷物パス)
- 仕組み: VMの仮想ディスクが、物理サーバー内蔵のローカル SSD に直接保存されている場合。
- 💡 たとえ話: 走者が重いリュックサック(仮想ディスク)を背負っており、走りながらその中身をすべて2人目の走者に一つ一つ手渡していくような状態です。Cockpit はネットワーク経由でディスクの中身をすべてコピーするため、ディスクの容量とネットワーク速度に応じて完了まで時間がかかります。
2. ストレージマイグレーション (ディスクの引っ越し)
VM を稼働させたまま、同じ物理サーバー内にある異なるストレージドライブ(データストア)間で仮想ディスクファイル(.qcow2 や raw)を移動させます。
- 💡 たとえ話:引き出しの整理 作業中の書類を開いたまま、遅い引き出し(HDD)から高速な引き出し(SSD)へと、書類を閉じることなく移動させるようなものです。
- 自動ピボット (Auto-Pivot): コピーが完了した瞬間、システムは書き込み先を自動的に新しいディスクファイルへと「切り替え(ピボット)」、不要になった古い元のファイルを削除して容量を空けます。
高度なオプション
ライブマイグレーションを開始する際、以下の設定を調整できます:
- Live: VMの切り替え時に発生するごくわずかな一時停止時間を最小限に抑えます。
- Persistent: 引っ越し先サーバーに VM の構成を永続的に登録し、再起動後もそこに留まるようにします。
- Undefine Source: 移動完了後、古い元のサーバーから VM の登録情報を自動的に削除して整理します。
- Auto Converge: VMが激しくメモリに書き込みを行っており、ネットワークのコピー速度が追いつかない場合、一時的に VM の処理速度をわずかに落としてコピーを完了させます。
- Max Bandwidth: 移動処理が使用できるネットワーク帯域幅(MB/s)の上限を設定し、他の業務通信が遅くなるのを防ぎます。
安全確認 (プレフライトチェック)
Cockpit は、VMを移動させる前に以下の安全確認を自動で実行し、失敗を防ぎます:
- ストレージの確認: 引っ越し先サーバーから、VMのディスクファイルが正しく見えるか確認します。
- ネットワークの確認: 引っ越し先サーバーにも同じ仮想ネットワークスイッチ(ブリッジ)が存在し、移動後にネットワークが途切れないか確認します。
- CPU の互換性確認: 引っ越し先サーバーの CPU が、元のサーバーと同じ技術命令を処理できるか確認します。