Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ライブマイグレーション(ライブマイグレーション)とは | 意味や読み方など丁寧でわかりやすい用語解説

ライブマイグレーション(ライブマイグレーション)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ライブマイグレーション (ライブマイグレーション)

英語表記

Live Migration (ライブマイグレーション)

用語解説

ライブマイグレーションは、稼働中の仮想マシンを、サービスを停止することなく別の物理サーバーへ移動させる技術である。この技術は、仮想化環境において、システムの可用性を高め、計画的なメンテナンス作業を容易にし、リソースの効率的な利用を実現するために不可欠な要素となっている。ユーザーが利用しているサービスに中断を与えることなく、バックエンドでサーバーのリソース配置を変更できる点が最大の特徴である。これにより、インフラストラクチャの柔軟性が大幅に向上し、ダウンタイムを最小限に抑えたシステム運用が可能となる。

ライブマイグレーションのプロセスは、主に仮想マシンのメモリ状態の転送と、その後のCPUおよびデバイス状態の切り替えによって構成される。この技術を利用するためには、まず移行元の物理サーバー(ホスト)と移行先の物理サーバーが、移動対象の仮想マシンが使用するデータ(ディスクイメージなど)を共有ストレージを通じてアクセスできる状態であることが前提となる。これは、仮想マシンのディスクデータ自体は移動させず、稼働状態のみを移行させるためである。また、両ホスト間には仮想マシンのメモリ状態を転送するための、十分な帯域幅と低いレイテンシを持つネットワーク接続が確保されている必要がある。

具体的な移行プロセスは以下の段階で進行する。最初に、移行元のホストから移行先のホストへ、仮想マシンの現在のメモリ内容の大部分がコピーされる。この際、仮想マシンは停止することなく稼働を継続しているため、メモリの内容は常に変化している。この変化した部分、すなわち「ダーティページ」と呼ばれるメモリ領域が繰り返し検出され、移行元から移行先へ増分的に転送される。この差分転送のプロセスは、ダーティページの発生量が特定の閾値を下回るか、または設定された最大転送回数に達するまで反復的に繰り返される。この反復的な転送により、移行先のホストは移行元のホストのメモリ状態に極めて近い状態を保ちながら、データの一貫性を維持する。

最終段階において、移行元の仮想マシンは非常に短時間だけ一時停止される。この一時停止中に、最後のわずかなダーティページと、仮想マシンのCPUレジスタの状態、および接続されている各種I/Oデバイス(ネットワークアダプタ、ストレージコントローラなど)の現在の状態が、移行元から移行先へ転送される。この最終転送が完了すると、移行先のホスト上で仮想マシンが稼働を再開し、ネットワークの設定が切り替えられる。具体的には、移行先のホストが仮想マシンのMACアドレスを引き継ぎ、ネットワークスイッチに対してそのMACアドレスが新しいポートに接続されたことを通知する。これにより、クライアントからの既存の接続は中断されることなく、新しいホスト上の仮想マシンへとシームレスに継続される。この一連の切り替え作業は通常、ミリ秒単位の非常に短い時間で完了するため、サービス利用者にはほとんど影響がない。

ライブマイグレーションは多くの利点をもたらす。例えば、物理サーバーのハードウェアメンテナンス(メモリ増設、CPU交換、ファームウェアアップデートなど)を実施する際に、そのサーバー上で稼働している仮想マシンを無停止で別のサーバーへ移動させ、メンテナンス完了後に元のサーバーに戻すことができる。これにより、計画的なダウンタイムをほぼゼロにすることが可能となる。また、リソースの負荷分散にも活用される。特定のホストのCPUやメモリ使用率が高まり、パフォーマンスが低下し始めた場合、そのホストから一部の仮想マシンを、リソースに余裕のある別のホストへ移動させることで、システム全体のパフォーマンスを最適化できる。さらに、予期せぬハードウェア障害の兆候が見られるホストから、重要な仮想マシンを健全なホストへ事前に退避させることで、サービスの中断リスクを低減し、高可用性を実現する。不要になった物理サーバーのリソースを解放し、サーバーを停止することで、データセンター全体の電力消費を削減するグリーンITの取り組みにも貢献する。

一方で、ライブマイグレーションを実装・運用する上での考慮事項も存在する。まず、前述の通り、仮想マシンが使用するストレージは、移行元と移行先の両方のホストから同時にアクセス可能な共有ストレージである必要がある。これは、移行中に仮想マシンのディスクI/Oが継続されるため、両ホストがディスクにアクセスできる必要があるからである。また、大量のメモリデータを短時間で転送するため、ホスト間のネットワーク接続は十分な帯域幅と低いレイテンシを持つ高速なものであることが求められる。移行元と移行先のCPUアーキテクチャは完全に同一でなくても動作する場合が多いが、仮想マシンが利用する特定のCPU機能(命令セット拡張など)について互換性があることが望ましい。移行中のデータ転送はネットワーク上で行われるため、セキュリティの観点から、転送データの暗号化や専用ネットワークによる分離などの対策も検討される。仮想マシンのメモリサイズやI/O負荷が高いほど、移行にかかる時間は長くなる傾向があるため、移行計画時にはこれらの要因を考慮する必要がある。この技術は、VMware vMotion、Microsoft Hyper-V Live Migration、KVM/libvirtにおけるマイグレーション機能など、主要な仮想化プラットフォームによってそれぞれ異なる実装が提供されており、利用する仮想化環境の特性を理解することが重要である。

関連コンテンツ

関連IT用語