今月は1日1回くらい、さまざまな ネステッド vSAN 6.7 U1 を構成してみています。
一連の投稿へのリンクは下記をどうぞ。
昨日はこちら。
ネステッド vSAN 6.7 U1 を楽しむ。2018-12-15
16日目は、vSAN でフォールト ドメインを構成してみます。
フォールト ドメインは、2ノード vSAN / ストレッチ クラスタ でも構成したものです。
今回は、ストレッチクラスタではない vSAN でのフォールト ドメインで、
サーバ ラック障害対策を意識した構成をしてみます。
vSAN-Cluster-20181216 クラスタ
今回は ESXi ホスト 6台を、3 つのサーバラックに 2台ずつ配置する想定とします。
ただし、実際に物理サーバ ラックがあるわけではなく、ネスト環境で構築します。
あわせて VM も、平常時に、どのサーバ ラックで起動させるか決めておきます。
6 ノードの vSAN で、フォールト ドメインを 3つ作成しています。
フォールト ドメインの名前は、対応する サーバ ラックがわかりやすいようにしました。
この vSAN クラスタでは、DRS を有効にしています。
DRS は、アフィニティ ルールを利用して
VM の配置(優先的に起動するサーバ ラック)を調整するために有効化しています。
DRS のアフィニティ ルールで利用するため、サーバ ラックごとに ESXi の「ホスト グループ」を作成しました。
そして、サーバ ラックごとに「仮想マシン グループ」も作成しました。
サーバ ラック A むけの「ホスト グループ」と「仮想マシン グループ」は、
下記のように、「仮想マシン / ホスト ルール」でひもづけます。
サーバ ラック A のホスト(192.168.1.31、192.168.1.32)で
vm01 が優先的に起動するように、ルールのタイプを「仮想マシンをホスト上で実行」にしています。
これを「グループ内のホストで実行する必要があります」としないのは、
障害時の vSphere HA で、別ラックでも VM を起動したいためです。
同様に、サーバラック B むけのアフィニティ ルールも作成しています。
そして、サーバラック C むけのアフィニティ ルールです。
また、この vSAN クラスタでは、vSphere HA も有効にしています。
データストア障害(APD)時にも、vSphere HA によって VM が自動起動がされるようにしています。
この vSAN クラスタで VM を起動すると、それぞれ DRS アフィニティ ルールに従った配置になっています。
サーバ ラック A の障害をイメージして、ESXi ホスト 2台を同時に停止してみます。
今回も、ネストの外側から ESXi VM をパワーオフします。
今回の「仮想マシン ストレージ ポリシー」は、vSAN 6.7 U1 デフォルトのポリシーである
「vSAN Default Storage Policy」のままです。
ラック単位でのフォールト ドメイン構成をしていない場合は、同じラック内のホストに
データのコピーが配置されることもあるので、ラック単位の障害時に、正常ホストのリソースがあっても
データの可用性がなくなり、VM が vSphere HA で起動できないことがありえます。
今回はラック単位でのフォールト ドメインを構成しているので、VM のデータの可用性が担保されているはずです。
それでは、2台同時に ESXi をパワーオフしてみます。
ホスト 2台で障害が発生し、vm01 が vSphere HA で再起動されたことがわかります。
この VM は、アフィニティ ルール設定外のホストでも vSAN 上のデータにアクセスして起動できています。
あらためて、物理的なデータ配置を確認すると、vm01 の vSAN オブジェクトは、
いずれもフォールト ドメインをまたいでデータ配置されています。
このように、フォールト ドメインの構成によりサーバ ラック A 全体の障害でも(ESXi が 2ノード同時に停止しても)
データの可用性が担保されて VM が起動できています。
また、今回は 3つのフォールト ドメイン構成でしたが、可用性の観点では
障害時もリビルドができるように 4つ以上のフォールト ドメインがあるとよいはずです。
Designing and Sizing vSAN Fault Domains
つづく。
Comments