■ESXiのクラスタ機能
VMwareクラスタのグループに参加するESXiに対しては以下の3つの機能を設定出来ます。
- vSphere HA
- vSphere FT
- vSphere DRS
上記がどんな機能を有しているか下記の表にまとめます。
機能名 | 機能の内容 | シャットダウンの有無 |
vSphere HA | ESXiに障害が発生した際にESXiで稼働していた 仮想マシンを他のESXi上で自動的に再起動する。 |
有り |
vSphere FT | ESXiに障害が発生したとき、ESXiで稼働していた 仮想マシンの処理を別のESXi上の仮想マシンに引き継ぐ |
無し |
vSphere DRS | ESXiに負荷が集中したとき、ESXi上の仮想マシンを 別のESXi上にvMotionで自動的に移動する。 |
– |
vSphere HAはESXiに障害が発生した時、ESXiで稼働していた仮想マシンから他のESXiの仮想マシンへの切り替えが行われます。このように自動的に予備のバックアップシステムに切り替わるのでESXiの障害によって仮想マシンがダウンしたとしても自動的に仮想マシン上のシステムを復旧できます。
vSphere HAを利用した場合、クラスタ内のESXiの間では正常に稼働していることを 他のESXiに知らせるハートビート信用をやりとりしています。 他のESXiからこの信号を受信しない状態が15秒続くとそのESXiで障害が発生したと みなして障害が起きたESXi上で稼働していた仮想マシンを他のESXiの仮想マシンに切り替えます。 |
■クラスタを構成するホストの役割
HAクラスタを構成する各ESXiホストの役割は同等ではなく、ホストごとに役割が異なります。HAクラスタに追加されたESXiホストのうち最初の5台はプライマリホストとして構成され特別な役割が与えられます。6台目以降追加されたホストはセカンダリホストとして構成されます。プライマリホストの役割は以下の通りです。
○ HAクラスタの状態をHA DBとして保持し他のプライマリホストに複製する
○ 他のホストの死活監視を行う。
プライマリホストのうち1台に障害が発生した場合でもクラスタの状態はプライマリホストに複製されて正常にフェイルオーバーが行われるため、クラスタ内のいずれかのホストが単一の障害ポイントになるわけではありません。
HA DBには電源状態、予約値、動作しているホストなどの仮想マシン情報、ホストのリソースの利用状況などのフェイルオーバーに必要な情報が含まれています。これらの情報はvCenterにより定期的に更新されますが、vCenterがダウンしている場合は最後の情報に基づいてフェイルオーバーが実施されます。
フェイルオーバーの動作の祭にはプライマリホストのうち1台がアクティブプライマリホストに選ばれ他のホストにフェイルオーバーの指示を行います。アクティブプライマリホストの役割は次の通りです。
○ 仮想マシンをどのESXiホスト上で再起動するか決定する
○ 再起動に成功したかどうかを追跡する
○ 再起動に失敗した場合、再起動をリトライするタイミングを決定する
アクティブプライマリホストに障害が発生した場合でも他のプライマリホストが直ちにその役割を引き継ぐのでこれが単一障害ポイントになることはありません。セカンダリホストの役割は次の通りです。
○ 自分自身の状態に関する情報をプライマリホストに送信する
○ アクティブプライマリホストからのフェイルオーバーの指示に対応し仮想マシンを再起動する。
○ ホストネットワークの隔離を検出する
■VMware HAを設定する
VMwareクラスタを作り、vSphere HAを有効にします。続いてvSphere HAを有効したVMwareクラスタにESXiを追加します。vCenter Serverアプライアンスにログインし、新規クラスタを作成します。データーセンターの基本タスクの中からクラスタの作成をクリックします。
クラスタの名前を入力し、「vSphere HAをオンにする」にチェックマークを入れ次へをクリックします。
ホストの監視ステータス、アドミッションコントロール、アドミッションコントロールポリシーを設定します。それぞれの設定の意味は次の様になります。
ホスト監視の有効化 | クラスタ内のESXi間で送信されるハートビートを vSphere HAで監視できる |
アドミッションコントロール | 有効化を選択した場合、アドミッションコントロールを 強制的に実行し、フェイルオーバーのリソースを確保する |
アドミッションコントロールについて以下の3つがあり状況に応じて適切なものを選択します。
ポリシー | 説明 | 奨励される用途 |
ホスト障害のクラスタ許容 | 指定する数のホスト障害に対応するため、 十分なリソースを確保 |
複数の仮想マシンが同程度のCPU/メモリ予約と メモリのオーバーヘッドを保つ場合 |
フェイルオーバーの予備容量として 予約されたクラスタリソースの割合 |
総キャパシティに対する指定された割合を予約 | 仮想マシン間でCPU/メモリの予約が大きく異る場合 |
フェイルオーバーホストの指定 | フェイルオーバーサービス専用のホストの割り当て | パッシブフェイルオーバーホストを明示的に指定する場合 |
仮想マシン再起動の優先順位 | 低、中、高のうちどのレベルに指定された仮想マシンを優先して 再起動するか指定する。ここで無効を指定するとHAが無効となる。 仮想マシンの優先順位はそれぞれの仮想マシンの設定で指定する。 |
ホスト隔離時の対応 | 特定のESXiからハートビートを受信しない状態が15秒継続したら そのホストにpingを送信する。疎通する場合は何もせず疎通しない場合は フェイルオーバー動作に入る。監視対象全てからハートビートを 12秒継続して受信しなければゲートウェイにpingを送信し、 疎通する場合は何もせず、疎通しない場合は隔離されたと判断し 以下のいずれかを実施する。・パワーオンのままにする ・パワーオフ ・シャットダウン |
仮想マシンの監視 | 以下の「監視感度」で設定された時間内のハートビートが受信されない場合は 仮想マシンを再起動する。アプリケーションを監視することも可能ではあるが VMwareが提供するSDKを利用することにより監視用ハートビートを 生成するようカスタマイズする必要がある。 |
監視感度 | 上の「仮想マシンの監視を有効にする」がチェックされている場合、 ここで設定した時間内にVMwareToolsプロセスから送信される ハートビートを受信しないと仮想マシンを再起動する。 |
EVC ( Enhanced vMotion Compatibility ) を有効にすると同クラスタ内のホスト間でvMotionの互換性が向上します。但し、より上位にあるCPUは下位にあるCPUに機能セットを合わせようとするためックラスタ全体のCPUの機能セットは低下する点に注意する必要があります。
またクラスタのホストと互換性のあるホストだけがクラスタに追加できるようになります。CPU ( AMDあるいはIntelプロセッサ ) を選択して指定しますがここでは無効にします。
「仮想マシンと同じディレクトリにスワップファイルを格納する」がチェックされていることを確認します。
2台のESXiを作成したクラスタにドラッグ&ドロップしてHA構成を作成します。タスクが完了になればvSphere HAが完成します。