今月は1日1回くらい、さまざまな ネステッド vSAN 6.7 U1 を構成してみています。
昨日はこちら。
ネステッド vSAN 6.7 U1 を楽しむ。2018-12-15
16日目は、vSAN でフォールト ドメインを構成してみます。
フォールト ドメインは、2ノード vSAN / ストレッチ クラスタ でも構成したものです。
今回は、ストレッチクラスタではない vSAN でのフォールト ドメインで、
サーバ ラック障害対策を意識した構成をしてみます。
vSAN-Cluster-20181216 クラスタ
- ESXi 6ノード
- フォールト ドメインは 3つ作成 → それぞれ ESXi を 2ノードずつ配置
- vCenter は vSAN 外部に配置
- 非ストレッチ クラスタ(監視ホストなし)
フォールト ドメインを利用した vSAN 構成例
今回は ESXi ホスト 6台を、3 つのサーバラックに 2台ずつ配置する想定とします。
ただし、実際に物理サーバ ラックがあるわけではなく、ネスト環境で構築します。
あわせて VM も、平常時に、どのサーバ ラックで起動させるか決めておきます。
- サーバ ラック A: ESXi は 192.168.1.31~32、vm01 が起動。
- サーバ ラック B: ESXi は 192.168.1.33~34、vm02 が起動。
- サーバ ラック C: ESXi は 192.168.1.35~36、vm03 が起動。
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 で起動できないこともありえます。
今回はフォールト ドメインを構成しているので、
2台同時に ESXi をパワーオフしてみます。
ホスト 2台で障害が発生し、
vm01 が vSphere HA で再起動されたことがわかります。
この VM は、アフィニティ ルール設定外のホストでも
vSAN 上のデータにアクセスして起動できています。
あらためて、物理的なデータ配置を確認すると、
vm01 の vSAN オブジェクトは、いずれもフォールト ドメインを
またいでデータ配置されています。
このように、フォールト ドメインの構成みにより
サーバ ラック A 全体の障害でも(ESXi が 2ノード同時に停止しても)
データの可用性が担保されて VM が起動することができています。
つづく。