VMware vSphere 4を試す【第四回】

複数のESXiサーバーを使いこなす


 今回は、2台のESXiサーバーとvCenter Serverで実現する、VMotion、High Availability(HA)、Fault Tolerance(FT)の3つの機能を紹介する。


2台目のESXiサーバーを用意する

 今回紹介する機能を試すには、2台以上のサーバーが必要だ。このため、前回まで使用していたデルのPowerEdge R805(32GBメモリ)をもう1台用意した。テストする場合は、同じメーカーのCPUを搭載したサーバーを2台用意して試していただきたい。

 新たに用意したPowerEdge R805には、USBメモリでESXiがブートする環境を構築する。手順としては、ESXiがブートするUSBメモリを作成し(第一回を参照)、vCenter Serverに登録(第二回を参照)。さらに、iSCSIストレージを利用できるようにする(第三回を参照)。なお、ストレージが使用するネットワークのIPアドレスは、1台目のESXiサーバーと同じIPアドレスには設定しないようにする(VMkernelなど)。

 1台目のESXiサーバーと異なるのは、ストレージアダプタでiSCSIを再スキャンすれば、すでにVMFSでフォーマットされたディスクがストレージとして登録される点。すでに作成されているディスクを利用するため、VMFSでディスクをフォーマットすることなく登録できる。


VMotionを試す

仮想マシンを別のサーバーに移行するVMotion

 VMotionは、動作中の仮想マシンを別のESX/ESXiサーバーに移行できる機能だ。

 VMotionを利用する上で注意が必要なのは、移行元と移行先のサーバーでCPUの互換性が必要という点。つまり、Intel CPUのESX/ESXi上の仮想マシンを、AMD CPUのESX/ESXiに移動することはできない。また、同じAMD・IntelのCPUでも、移行できるCPUが制限されている。このあたりは、事前に把握しておかないと、VMotionが行えないことになる。


仮想マシンを選択し、「サマリ」タブの「コマンド」にある「移行」をクリック移行タイプの選択画面。この画面では、仮想マシンを移行するVMotion(ホストの変更)、仮想マシンが使用しているストレージを別のストレージに移行するStorage VMotion(データストアの変更)が選択できる。今回は、「ホストの変更」を選択移行先のサーバーを指定
VMotionの優先順位を指定。「最適なVMotionパフォーマンスのためにCPUを予約」は、VMotionにかかるCPUパワーが用意できるまで、VMotionを起動しないようにする設定。「使用可能なCPUリソースで実行」は、使用できるCPUパワーを使ってVMotionを行う設定。今回はデフォルトのままで次に進むこれで設定は完了画面的にあまり変わらないが、左のパネルにある仮想マシンが、移動しているのがわかる。VMotionに30秒ほどかかっていた。しかし、セッションは切れない

HAを試す

HAは、物理サーバーの障害時に、別の物理サーバーに仮想マシンをフェイルオーバーしてダウンタイムを最小にする

 HAは、ESX/ESXiサーバーで障害が発生したときに、そのESX/ESXiサーバーで動作している仮想マシンを別のESX/ESXiサーバー上で自動的に再起動する機能。あとで紹介するFTと異なるのは、いったん仮想マシンへの接続が切れる点だ。

 このHAを利用するには、2台以上のESX/ESXiサーバーが必要。また、iSCSIストレージなど外部ストレージも必要だ。そのほか、ESX/ESXiサーバーの名前解決ができていないと動作しない。DNSを用意し、名前解決しておこう。

 HAは、クラスタという機能を利用して実現するもの。このクラスタは、複数のESX/ESXi サーバーのハードウェアリソース(CPUやメモリなど)をまとめて管理する機能で、FTやDRS(Distributed Resource Scheduler)でも使われている。


データセンターを右クリックし、「新規クラスタ」を選択クラスタ名を入力し、「VMware HAをオンにする」をチェックして次に進むHAの設定を行う。「ホスト監視の有効化」は、クラスタ内のESX/ESXiサーバー間で送信されるハートビートを監視する。「アドミッションコントロール」は、「可用性の制約に違反する場合、仮想マシンをパワーオンしない」に設定する。「アドミッションコントロールポリシー」の「ホスト障害のクラスタ許容」は「1」に設定しておく(すべてデフォルトでOK)
仮想マシンのオプションを設定する。ここでは、仮想マシンを再起動する優先順を設定する。HAとして使用するためには、「低」「中」「高」のどれかにしておく(「無効」にするとHA自体が無効になる)。「ホスト隔離時の対応」は、サービスコンソールを介して接続できなくなった仮想マシンへの対応を指定する。各設定はデフォルトのままでOK仮想マシンの監視を設定。「仮想マシンの監視ステータス」の「仮想マシンの監視を有効にする」をオフにする。「監視感度」スライダーバーで設定した時間内にハートビートを受信しないと、仮想マシンを再起動する機能だ。ここでは、デフォルトのままにしておくVMware EVCの設定。EVC(Enhanced VMotion Compatibility)は、それぞれのESX/ESXiサーバーのCPUをチェックして、VMotionの互換性をアップさせる。今回は、VMotionを使用しないので、「無効」にしておく。ここもデフォルトのままでOK
仮想マシンのスワップファイルの場所を指定する。「仮想マシンと同じディレクトリにスワップファイルを格納する」に設定する。デフォルトのまま以上で設定は終了作成したクラスタのアイコンに、ESX/ESXiサーバーのアイコンをドラッグする

 以上で、HAの設定は終了だ。HAの構成が済むまで少し時間がかかる。HAの構成が終了したかどうかは、vCenter Server画面の下に表示されている「最近のタスク」で確認しよう。

 HAが正しく動作しているかを試すには、仮想マシンが動作しているESX/ESXiサーバーになんらかの障害を起こせばいい。今回は、HAを設定した仮想マシンが動作しているサーバーから、マネジメント用ネットワークのLANケーブルを抜くことで、障害を発生させてみた。

仮想マシンのコンソールウィンドウのタイトルバーをみると、どのESX/ESXiサーバー上で動作しているかを確認できる

 仮想マシンが動作しているESX/ESXiサーバーで障害が起こった場合、障害を検知して、自動的に正常に動作しているESX/ESXiサーバーで仮想マシンを再起動する。コンソール画面を表示している場合、障害が起きた仮想マシンはフリーズしているが、新しく起動した仮想マシンは再起動されるため、ログイン画面が表示されている。仮想マシンのウィンドウの枠にサーバー名が表示されている。2つの画面では、サーバー名が異なっているのがわかる。


FTを試す

FTは、物理サーバーの障害時に、稼働している仮想マシンを止めずに、フェイルオーバーする

 FTは、仮想マシンを2台のESX/ESXiサーバーで動かすことで、プライマリの仮想マシンに障害が起こっても、すぐさまセカンダリに切り替える機能。そのため、ユーザーは切り替わったことさえわからない。HAは仮想マシンを再起動するため、サービスの停止時間が発生するが、FTを使えばサービスを停止することなく仮想マシンを動作し続けることができる。

 また、可用性を高めるため、プライマリに障害が起き、セカンダリに切り替わった後、別のESX/ESXiサーバーに新しく同じ仮想マシンを起動する機能も用意されている。常に仮想マシンを二重化するため、耐障害性を高めることができる。

 ただし、FTは仮想マシンのバックアップを作成するため、システム全体のリソースは二重に消費されることになる。絶対にシステムダウンできない重要なサーバーが、FTの対象となるだろう。


FTを使用するには、HAの設定がされている必要がある。その後、ネットワークの設定が必要になる。FTを設定するESX/ESXiサーバーの「構成」タブ→「ネットワーク」で、iSCSIで利用している「VMkernel」仮想スイッチのプロパティを表示する「ポート」タブから「VMkernel」を選択し、「編集」ボタンを押すVMkernelのプロパティの「全般」タブにある「フォールトトレランスのログ」をオンにする
警告画面が表示される。フォールトトレランスのログを設定すると、プライマリの仮想マシンのメモリ内容をセカンダリの仮想マシンに常時送信するので、通信トラフィックが大きくなる。このため、実運用時には、FT用に専用のNICを割り当てる方が良い。今回はテストということで、VMotionと同じNICを使用した変更内容が表示されるので、確認して「閉じる」をクリックする。もう一台のESX/ESXiサーバーでも、同じ設定を行うFTを設定する仮想マシンを右クリックし、「フォールトトレランス」→「フォールトトレランスをオンにする」をクリック。なお、この設定を行うときは、仮想マシンはパワーオフにしておくこと
警告画面が表示される。FTは、仮想マシンで設定されているディスクの容量をまるまる使用するシックディスクでしか利用できない。このため、仮想マシンのディスクがシンプロビジョニングに設定されている場合、FTを構成したときにシックディスクに変換される。「はい」をクリックFTを設定した仮想マシンの「サマリ」タブをみると、「フォールトトレランス」という項目に状況が表示されている。これで設定は終了

 FTを設定した仮想マシンを起動すると、2つのESX/ESXiサーバーで同じ仮想マシンが起動される。なお、プライマリの仮想マシンは操作可能だが、セカンダリは「読み取り専用です」と表示され、操作はできない。

 FTが正しく動作しているかどうかは、FTを設定している仮想マシンを右クリックし、「フォールトトレランス」→「フェイルオーバーのテスト」をクリックすれば確認できる。

 次回は、vSphere 4のエディションによる機能差や、購入方法などを紹介する。





(山本 雅史)

2010/2/10/ 00:00