【VMware 6.5】VMware HA(High Availability)

VMware HA(High Availability)の機能について解説します。

VMware HA を利用することで障害発生時のダウンタイムが計算できるようになり、インフラの運用管理の品質が大幅に向上します。

 

 

VMware HA(High Availability)とは

VMware HA は、H/W 障害やパニックなどホスト障害時(仮想マシンの障害ではありません)に、仮想マシンを他のホストにフェイルオーバーする機能です。

 

仮想マシンごとに「OS」「アプリケーション」で複雑な設定をする必要はなく、HAの設定でアプリケーションレベルまでフェイルオーバーによる保護の対象になります。

 

VMware HA は vSphere によってクラスタを構成することで利用できます。

その結果、物理ホスト障害に対する高可用性を実現できます。

 

 

VMware HA は、2台以上の ESXi ホストで HA クラスタを構成する必要があります。

ホストでハードウェア障害が発生した場合に、そのホスト上で動作していた仮想マシンを(正常動作している)他の ESXi ホスト上で再起動させることにより、仮想マシンの稼働を回復させる高可用性の機能です。

再起動の間は、サービスは利用できません。そのため多少のダウンタイムが発生します。

 

しかし仮想マシンは、VMware HA によって速やかに他のホスト上で再起動されるので、物理ホストの復旧を待つことなく、仮想マシンのサービスを復旧できます。

 

VMwara HA のメリット

仮想マシン(OS やアプリケーション含む)は、特別な構成を行う必要がありません。

例えば、Apache や MySQL などアプリケーションがインストールされていても HA 用に設定をする必要ありません。

 

クラスタで HA 設定を「有効」にするだけで、クラスタに所属している仮想マシン全体に対して VMware HA で保護されるので設定がシンプルで簡単です。

 

 

VMware HA の構成

VMware HA を構成するためには以下の構成が必要です。

 

VMware HA を有効にするための条件

上記構成に加えて以下の条件を満たしている必要があります。

 

VMware HA を構成するコンポーネント

 

■FDM(Fault Domain Manager)

FDM(HA エージェント)は、各ホスト上で動作し

などをクラスタ内の他のホストに通知しています。

 

また、

を行ないます。

 

■HOSTD エージェント

FDM と連携して仮想マシンのパワーオンを行ないます。

 

ハートビートでお互いのホストを相互監視している

VMware HA では、ハートビートでクラスタ内のホストを相互に死活監視しています。

具体的には、ESXi ホスト間でハートビートを交換しています。

※heartbeatとは「心臓の鼓動、動悸」という意味です。

 

ハートビート用のネットワークですが、VMkernel ネットワークを利用するためハートビート専用のネットワークは必要ありません。

 

VMware vCenter Server の役割

vCenter Serverは、

など VMware HA に必要な処理を行います。

 

ただし vCenter Server は、ホスト/仮想マシンの死活監視やフェイルオーパーの実行などは行いません。

そのため、vCenter Server に障害が発生した場合でも VMware HA は動作します。

 

 

ハートビートデータストア

VMware vSphere 5.0 からハートビートデータストアが追加されました。

その結果、より精度の高い障害状況の把握ができるようになりました。

ハートビートデータストアは、障害の識別をするために使用され、ストレージパスの死活監視は行いません。

vSAN を使用する場合は、vSAN のデータストアはハートビートデータストアとしては利用できません。

 

VMware HA フェイルオーバーの実行

死活監視やフェイルオーバーの実行は、クラスタに属する ESXi ホスト自身が行います。

ESXi ホストを VMware HA クラスタに追加すると vCenter Server によって HA エージェントがホストにインストールされ、クラスタ内の他の HA エージェントと通信できるよう構成されます。

 

HAクラスタを構成する各ホストの役割

ホストは

に役割が分かれます。

 

■マスターホストの役割

 

 

 

■スレーブホストの役割

 

VMware HA で認識される障害一覧

以下、VMware HA で認識される障害の一覧です。

 

 

「ホスト障害」時のフェイルオーバー

ESXi ホスト上の HA エージェントは、相互にハートビートを交換して死活監視を行います。

他のホストからハートビートを受信しない状態が一定期間続くと、そのホストに障害が発生したと判断し、フェイルオーバーします。

 

ネットワークパーティション時のファイルオーバー

ネットワークパーティション状態とは、管理ネットワークの一部で障害が発生したため、管理ネットワークが分断された状態です。

ハートビートを受信しない状態が継続したら、分断されたホストから隔離アドレスに Ping を送信します。

Ping が疎通する場合は ESXi ホスト及び物理 NIC は問題ないと判断し、フェイルオーバーは行われません。

 

 

障害時の動作(マスター選出&フェイルオーバー実行)のまとめ

以下、障害時の動作を表にしましたが、こうしてみると基本的に「ホスト障害時にしか仮想マシンフェイルオーバーしない」と覚えておけばいいようです。

※ちなみにホスト障害時には「ネットワークへのハートビート」も「ハートビートデータストアへのハートビート」も通りません。全滅状態です。

あとは細かい部分で「マスター」と「スレーブ」が選出されたりされなかったりといったところです。

事象ホスト選別マスター(再)選出の有無仮想マシンフェイルオーバーの有無
ネットワークパーティション状態マスターありなし
スレーブありなし
ホスト隔離状態マスターありなし
スレーブなしなし
ホスト障害/PSOD(パープルスクリーン)マスターありあり
スレーブなしあり
HAエージェント障害マスターありなし
スレーブなしなし
vCenter Serverとの通信不可マスターなしなし
スレーブなしなし
ハートビートデータストアへのアクセス不可マスターなしなし
スレーブなしなし

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人