Managed Service Column <システム運用コラム>

VMware vMotionとは何か?ゼロから学ぶ仕組み・要件・安全な運用の始め方

Category: 入門編

2026.04.02

ダウンタイム最小化とリソース最適化を安全に実現するためのベストプラクティス

VMware vMotion は、仮想マシンを停止することなく別の物理サーバーへ移動できる機能です。システムの可用性向上や負荷分散を実現するために活用されています。

vMotion のメリットを十分に享受するためには、物理サーバーやネットワークに必要な構成要件、さらにはセキュリティ設定や運用における注意点を理解しておくことが重要です。

本記事では、 vMotion の仕組みから設定手順、運用の注意点までを解説し、安全で効率的な仮想化環境を構築・維持できるよう支援します。

1. vMotionとは?

vMotion とは、物理 ESXi ホスト間で、仮想マシン( VM )を稼働させたまま停止することなく移行できる技術です。

この機能の主な目的は、物理サーバーの計画メンテナンス時におけるダウンタイムの回避(可用性向上)と、 vSphere DRS ( Distributed Resource Scheduler )と連携したリソースの負荷分散(リソース最適化)にあります。これらを活用することで、柔軟かつ可用性の高い仮想化環境の構築が可能です。

2. vMotionの仕組みとユースケース

vMotion における仮想マシンのリアルタイム移行の仕組みと、代表的なユースケースについて解説します。

vMotionによるリアルタイム移行の仕組み

vMotion によるリアルタイム移行は「プレコピー」と「スタニング」という2段階のプロセスで実現されます。

まず「プレコピー」段階で行われるのは、仮想マシンの稼働を継続した状態でのメモリ全体の初期コピーです。その後、移行作業中に書き換えられたメモリ(ダーティページ)を繰り返し転送することで、移行元と移行先の差分を最小化していきます。

次に「スタニング」段階では、仮想マシンをミリ秒単位の極めて短い時間だけ一時停止させます。この停止(スタニング)の間に、最終的な差分メモリと CPU レジスタなどの実行状態を転送し、移行先ホストでサービスを再開します。この一連の動作により、ユーザーの体感サービス停止時間をほぼゼロに抑えることが可能です。

移行が完了すると、移行先ホストがネットワークスイッチに対して「仮想マシンの MAC アドレスが新しい物理ポートに移動したこと」を通知し、通信経路が新しいホストへと更新されます。

<vMotion リアルタイム移行の処理フロー>
vMotion リアルタイム移行の処理フロー

vMotionのユースケース

可用性向上とリソース最適化のユースケースを紹介します。

リアルタイムの仮想マシン移行によるダウンタイムの最小化

物理ホストのファームウェア更新、パッチ適用、ハードウェア増設といった計画メンテナンス時に vMotion を活用すれば、仮想マシンを停止させることなく作業可能です。これにより、インフラの保守作業中であってもビジネスサービスの継続性を確保し、システムの可用性を大幅に向上させられます。

負荷分散の実現によるリソース最適化

vSphere DRS と連携することで、特定のホストに CPU やメモリの負荷が集中した際、 vMotion を使用して負荷の低いホストへ仮想マシンを自動的に移動可能です。この仕組みにより、仮想マシン全体のパフォーマンスを安定させ、リソース利用効率の最大化を図れます。

<vMotionによる負荷分散の実行>
vMotionによる負荷分散の実行

3. vMotionの要件と設定手順

vMotion を正しく導入するために必要な要件と設定手順を解説します。

vMotionの要件

vMotion の導入には、あらかじめクリアすべきいくつかの要件が存在します。

ハードウェア

移行元と移行先のホストは、同一ベンダーの CPU ( Intel 同士、または AMD 同士)を搭載している必要があります。 CPU の世代が異なる場合には、クラスタ内で EVC ( Enhanced vMotion Compatibility )を有効化し、機能の互換性を確保しなければなりません。また、移行先ホストには、移行対象の仮想マシンが使用するメモリを収容できるだけの十分な空き物理メモリが必要です。

ソフトウェア

移行元と移行先のホストは、単一の vCenter Server によって管理されていることが前提となります。また、 vMotion 機能が含まれる vSphere ライセンスが、各ホストに正しく適用されているかを確認してください。

ネットワーク・ストレージ環境

移行対象の仮想マシンが使用するストレージは、双方のホストからアクセス可能な共有ストレージ上に配置されている必要があります。あわせて、移行元と移行先で同一のポートグループ名が構成されていることも不可欠です。

さらに、各ホストには vMotion 専用の VMkernel ポートを作成します。このネットワークは、セキュリティとパフォーマンスの観点から、ほかのトラフィックと分離することが強く推奨されます。十分な帯域幅(ギガビットイーサネット以上、 10 GbE 以上を強く推奨)の確保にも留意してください。

<vMotion利用時のネットワーク環境>
vMotion利用時のネットワーク環境

vMotionの基本的な設定とテスト

設定作業は、以下の手順で進めます。

1.共有ストレージの構成
2.各ホストでの vMotion 用 VMkernel アダプタの作成
3.vMotion サービスの有効化

設定後は必ずテストを実施して動作を確認しましょう。ダウンタイムの最小化を目的とする場合は、ネットワーク性能を最大化させるために、ジャンボフレーム(送受信データの単位を大きくして通信効率を上げる設定)の有効化が推奨されます。そのうえで、大容量メモリを持つ仮想マシンや複数台の同時移行テストを通じて、速度と安定性を検証してください。

リソース最適化が目的の場合は、 DRS クラスタを有効化した状態で意図的に負荷をかけ、 DRS が適切に vMotion をトリガーするか、また移行が滞りなく完了するかを確かめましょう。

4. vMotion運用時の注意点

運用開始にあたって、特に意識すべきセキュリティ設定と注意事項を解説します。

セキュリティ設定

vMotion のトラフィックには、仮想マシンのメモリ内容が平文で流れる可能性があるため、専用の物理 NIC や VLAN を使用してネットワークを完全に分離することが推奨されます。

なお、 vSphere 6.5 以降ではトラフィックの暗号化機能を利用可能です。デフォルトの設定は「可能であれば実施」となっていますが、デフォルト設定に頼らず、セキュリティポリシーや性能への影響を踏まえて、明示的に暗号化を有効化するかどうかを検討するのが望ましい運用です。

運用時の注意事項

高負荷なデータベースサーバーなど、メモリの書き換え頻度(ダーティ化率)が高い仮想マシンを移行する際、帯域が不足していると移行の長時間化や失敗を招くおそれがあります。そのため、 10Gbps 以上の広帯域を確保しておくことが重要です。

また、負荷分散を自動化するにあたり、 DRS の感度を高く設定しすぎると、わずかな負荷変動で不要な vMotion が発生し、システム全体のオーバーヘッドを増大させかねません。感度調整はまず標準レベルから開始し、実際の稼働状況を監視しながら段階的に最適化を図ってください。

最後に、 vMotion の実行中は仮想マシンやホストのリソースに若干の負荷がかかります。本番環境で実行する際は、業務への影響を考慮して適切な時間帯を選びましょう。

5. まとめ

VMware環境における可用性向上と負荷分散を支える vMotion は、その仕組みや要件、セキュリティ上の注意点を正しく理解することで、ミッションクリティカルなシステムの安定運用を実現する強力な手段となります。

一方で、現在はほかの仮想化基盤でも同様の機能が提供されており、可用性を維持したまま自社に最適な基盤を選択できます。 vMotion を前提とした運用設計の見直しや、将来を見据えた基盤のリプレースを検討する際には、専門的な知見を持つパートナーの支援を活用することも有効な選択肢の一つです。

Rworks では、 VMware 環境の現状評価から、 vMotion を考慮した運用設計、他基盤へのリプレース支援までを一貫して提供しています。システムの移行や運用の最適化、情報漏えいリスクへの対策に課題を感じている企業様は、ぜひお気軽にご相談ください。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • VMwareリプレイスの選択肢を整理!迷わず進められる判断軸と構成パターン

    本資料を読むことで、仮想化移行に関する不安や課題を整理しながら、目的別の構成パターンやPoCの観点、移行の進め方を押さえることができます。

  • VMware仮想環境 の移行・リプレースのユースケース集~課題別に見る5つの構成パターン~

    本資料では、VMware環境における代表的な課題に対し、企業の状況に応じた5つの解決策をユースケース形式で紹介しています。

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php