今回の記事では、vSphere Clientを使用してvMotionを初めて実行する場合の操作手順と、vMotionを動かすために必要となるESXiやvCenterの設定、及び、互換性エラー時の対応方法を紹介していきます。
尚、今回の記事で使用しているvSphereのバージョンは6.5です。
vMotionとは
「vMotion」とは、VMware vSphereのライセンスが有り、ESXiホストを複数使用して仮想環境を運用している場合に必ず覚えておきたい便利な機能です。
VMware vSphereの製品群の一つに「vCenter」という製品があり、このvCenterを利用することで複数あるESXiホストを統合管理することができます。
このvCenterの機能の一つが「vMotion」です。
vMotionは仮想マシンを停止させることなく仮想マシンを稼働させるESXiホストを移動させることができる機能です。
イメージとしては以下です。
vMotionを利用するためには、まず仮想マシンを稼働させているESXiホストを別のESXiホストに無停止で移動させる機能であるため、複数のESXiホストが必要です。
また、複数のESXiホストを管理するためのvCenterも必要になります。
さらに、vMotionで移動できる仮想マシンの物理ファイル(仮想ハードディスクファイル)はNFSやFCなどの共有ストレージに配置されており、そのストレージを両ESXiホストがマウントしている必要があります。
これらの条件が揃えばvMotionが利用できます。
vMotionの主な用途
vMotionはほぼ無停止で仮想マシンを異なるESXiホスト間で移動させることができます。
どの様なケースでvMotionが必要になるのでしょうか。
ESXiホストのシステムメンテナンス
例えば、普段は複数のESXiホスト上で仮想マシンを稼働させているが、特定のESXiホストを停止してメンテナンスしないといけないとなった場合、停止予定のESXiホスト上で稼働している仮想マシンを別のESXiホストに移動させることが必要になります。
そんな時も仮想マシンを止めることなく安全に別のESXiホストに仮想マシンを移動させることができます。
ESXiホストの負荷分散
VMware vSphereでは、「vSphere DRS」といった、複数のESXiホスト間でCPUなどのリソースを自律的に調整して負荷分散しながら稼働できる機能を持っています。
ただ、その機能を使用せずに運用している場合は、ESXiホスト毎の負荷状況のチェックや負荷が偏っている場合の調整は手作業で実施します。
その際には、負荷の高いESXiホスト上で稼働している仮想マシンを、負荷の低いESXiホストへ移動させることが必要になります。
そんな時も仮想マシンを簡単に移動させることができます。
vMotionを実行する具体的な手順とよくあるエラーの解説
当項では、vSphere 6.5 の「vSphere Client」を使用して、初めてvMotionを実行する場合の具体的な操作手順の紹介と、併せて、最初に実行する場合にありがちなエラー内容についても解説していきます。
インベントリから移動対象の仮想マシンを右クリックし「移行」
vSphere Clientのインベントリから移動させたい仮想マシンを選択して右クリックします。
表示されたアクションのなかから「移行」を選択します。
移行タイプの選択
仮想マシンの移行処理用のウィザードが起動します。
まずは「移行タイプ」をこの画面で指定します。
各選択項目は以下の違いがあります。
項目テキスト | 機能名 | 機能内容 |
---|---|---|
コンピューティングリソースのみ変更します | vMotion | 仮想マシンを実行するESXiホストを別のホストに移動します。 |
ストレージのみ変更します | Storage vMotion | 仮想マシンを実行するESXiホストは変更せず、仮想ハードディスクを異なるデータストアに移動します。 |
コンピューティングリソースとストレージの両方を変更します | vMotion/Storage vMotion | 仮想マシンを実行するESXiホストと仮想ハードディスクを配置しているデータストアの両方を移動します。 |
今回の記事ではvMotionを紹介しているため、一番上の項目の「コンピューティングリソースのみ変更します」を選択して「NEXT」を押下します。
尚、ストレージのみを変更する「Storage vMotion」も実際に運用では時々使用します。
データストアのディスク空き容量などの状況やデータストアのディスクI/Oなどの負荷状況により、「Storage vMotion」を使用して無停止でデータのみ移動させることが必要になったりします。
尚、過去に「Storage vMotion」の解説や操作についても当ブログで紹介しています。
興味があればこちらもご一読ください。
コンピューティングリソースの選択
選択した仮想マシンをどこに移動させるのかを指定します。
今回はESXiホストを選択しています。
移動先を選択すると、自動的に互換性チェックが実行されて、そのチェック結果が画面下部の「互換性」枠内に表示されます。
チェック処理を実行され、問題が無い場合は以下の様な表示になり、「NEXT」が押下できるようになります。
「コンピューティングリソース選択」時にエラーが出るケース
新規環境構築時だったり、vSphereのバージョンアップ作業時など、これまで対象のESXiホストでvMotionを実行していない環境で互換性チェックに成功しないケースでは以下のような表示になる場合もあります。
これは、vMotionでも使用する「VMkernelポートグループ」の設定が既定値のままで、vMotionを許可していない可能性があります。
ESXiでは、仮想のswitchにポートグループと呼ばれる論理グループを設定してネットワークを構築します。
vCenterがESXiホストを管理する目的で使われるポートグループが「VMkernel」です。
このVMkernelポートグループでは仮想マシンが通信をする用途のネットワークとしては使用しません。
このVMkernelポートグループの既定値の設定では、vCenterがESXiホストを管理する目的の通信しか許可されておらず、vMotionは使えない設定になっています。
そのため、以下のようにVMkernelポートグループにvMotionを許可する設定を追加する必要があります。
まず、ESXiホストに作ってある仮想スイッチの「VMkernelポートグループ」の設定画面まで遷移します。
「設定の編集」画面で「vMotion」にチェックを付けて「OK」を押下します。
この設定は移動元、移動先の両ESXiホストで実施する必要があります。
また、仮想分散スイッチ(vDS)を使用している場合も同様に設定が必要です。
これで、コンピューティングリソース選択時の互換性チェックはパスするようになると思います。
移動先のESXiホストがリストに表示されない場合
vMotionでは、ESXiホストにデータストアがマウントされていないと移動先ESXiホストとして表示されません。
例えば、初期構築時で移動先のESXiホストにデータストアのマウントをするのを忘れているといったケースもあるかと思います。
まず、データストアがマウントできているかを確認してください。
ネットワークの選択
仮想マシンを移動させた際に、移動先のESXiホストで設定されている仮想スイッチのどのポートグループを使わせるのかのマッピングを行います。
移動元のESXiホストで作成している仮想スイッチやその仮想スイッチに設定されているポートグループと、移動先のESXiホストに作成されている仮想スイッチやポートグループの設定が同じであれば、自動的にマッピングされ、互換性チェックもパスします。
この場合は「NEXT」を押下します。
「ネットワークの選択」時にエラーが出るケース
移動元と移動先で同じ名前のポートグループがあれば、自動的にマッピングして当画面を読み込みます。
そのポートグループの設定も同じであれば「NEXT」を押下して終わりです。
互換性チェックでエラーになる場合は、そのマッピングされたポートグループ間の設定が違っている可能性が高いです。
例えば以下のようなエラーが出ます。
このケースでは、以下の設定に相違がありました。
まず、マッピングされたポートグループの設定を確認します。
今回のケースでは、片方のESXiホストで作成されていたポートグループの設定「セキュリティ」のなかの「無差別モード」が既定値の「拒否」になっており、片側が「承諾」だったためにエラーになりました。
「無差別モード」とは、自分宛以外のMACアドレスのフレームを受信するか否かの設定になります。
サーバーOSだけを仮想マシンとして運用する場合は「拒否」で問題無いのですが、仮想ルーターなどのネットワークアプライアンスを仮想マシンとして運用する場合は、その用途から自分宛以外のフレームを受信する必要が有り、無差別モードを有効にしてあげる必要があります。
vMotionの優先順位の選択
画面の説明の通りですが、vMotionの処理に使用するCPUリソースを優先するか否かを選択して「NEXT」を押下します。
vMotionではリソース割り当ての大きい仮想マシンほど処理に時間が掛かります。
ただ、当方の環境でvMotionを実行する場合、メモリーサイズの割り当てが512MB程度の仮想ルーターアプライアンスでは1秒程度で完了し、32GB程度メモリーを割り当てていた仮想マシンの場合は5分ほどで完了します。
共にCPUの優先順位は標準です。
また、vMotion自体は基本的に仮想マシンの停止が発生しないため、特に理由が無ければ「標準」で良いかと思います。
設定の確認
一連の画面で指定した内容の確認画面です。
内容を確認して問題が無ければ「FINISH」を押下し、vMotionが開始されます。
vMotionが完了すると、インベントリ内の仮想マシンの場所も移動します。
補足説明
vMotionは基本的に仮想マシンを停止することなく実行できますが、実行環境の構成や仮想マシンのスペックや負荷状況によっては、僅かながらネットワーク的な瞬断が発生する場合があります。
当方の環境では以下の画像のようにPingも常に応答が返っていましたが、所詮はPingも1秒ごとの応答を表示しているだけであり、1秒よりも短い時間での瞬断は発生していた可能性はあります。
基本的にvMotionの開始直後のみですが、環境によっては数秒程度の通信断が発生する可能性があります。
瞬断も許されないクリティカルな環境で実施する場合は十分に注意をしたうえで実施してください。
最後に
今回の記事では、ESXiやvCenter初心者向けとして、vMotionを実行する場合の操作方法や、設定内容の簡単な説明、互換性チェックでエラーになった場合に想定される原因とその対策をまとめました。
VMware vSphereを運用するにあたって、vMotionは必ず使い方を覚えておいてほしい機能の一つです。
是非積極的に試しみてください。
今回も記事を読んで頂きましてありがとうございます。
それでは皆さまごきげんよう!