今月は1日1回くらい、さまざまな ネステッド vSAN 6.7 U1 を構成してみようと思います。
一連の投稿へのリンクは下記をどうぞ。
昨日はこちら。
ネステッド vSAN 6.7 U1 を楽しむ。2018-12-01
2日目は、vSAN の最小構成とされる 3ノード クラスタを構成します。
- ESXi は 3ノード
- ハイブリッド(SSD + HDD)ディスクグループ
- ディスクグループは各ノードで 1つずつ
- 重複排除・圧縮 は無効のまま
- フォールト ドメインはデフォルト構成のまま
- vCenter は vSAN 外部に配置
vSAN ではデフォルト(の仮想マシンストレージポリシー)だと、
データは、3ノード(コンポーネント x 2 と 監視 x 1)に分散配置されます。
下記は昨日の 4ノード vSAN ですが、VM「vm01」のオブジェクトがそれぞれ 3ノードに分散されています。
オブジェクトは 3つあります。
- VM Home(.vmxファイルなど)
- Hard Disk 1(VMDK ファイル)
- SWAP オブジェクト
3ノード vSAN でも、1ノードの障害でもデータの可用性がある(データを読み書きできる)状態ですが、
ノード障害中はリビルドができないため、その間に 2台目のノード障害があると
悲しいことになってしまいます。
4ノード vSAN の、1ノード障害。(昨日の vSAN にて)
4ノード以上の vSAN であれば、1ノードの障害が発生した場合でも
デフォルトでは 60分後にデータがリビルドされます。
vSAN のドキュメントでは、下記のあたりが参考になります。
About vSAN Cluster Resynchronization
ためしに、1ノードで疑似障害を発生させてみます。
ネストの外側から、ESXi VM をパワーオフします。
このときのポイントは下記です。
- VM のデータが配置されているノードを選択する。
- VM が起動しているノードは選択しない。
(VM が稼働継続する様子が見られるように)
少し待って vSphere Client を更新すると、1ノード障害の様子が確認できます。
今回は「192.168.1.32」という ESXi を強制停止したので、
そのノード(ホスト)に配置されているデータに問題が発生します。
VM が起動しているノードを停止したわけではないので、「vm01」は、そのまま稼働継続できています。
「監視 → vSAN → 健全性」画面でもアラートが表示されます。
障害直後は「可用性が低下(再構築なし)- 遅延タイマー」に計上されています。
これは、過剰なデータ移動を避けるように「オブジェクト修復タイマー」で指定されている
時間「60分間」は、リビルドを待機するためです。
これは、「オブジェクトの再同期」画面でもわかります。
VM が 1つだけなのに「~ 遅延タイマー」が 3件 となっているのは、
この VM が 3つの vSAN オブジェクトを持っているためです。
60分以上経過すると自動的に正常なノードでリビルドされ、データが健全な状態になります。
「vm01」のオブジェクトがすべて健全になりました。
障害ノード「192.168.1.32」に配置されていたコンポーネントが、
正常ノード「192.168.1.31」にリビルドされています。
3ノード vSAN の、1ノード障害。
一方、3ノード vSAN でノード障害が発生した場合には、障害ノードを復旧するまでリビルドができません。
3ノード vSAN を構築しました。
そして疑似障害を発生させるため、ネストの外側から ESXi VM をパワーオフします。
3ノード vSAN でも、4ノードの場合と同様に VM は稼働継続したまま、
障害ノードのデータにはアクセスができなくなります。
そしてリビルドの遅延タイマーを待ちます。
しかし、60分以上経過しても、正常ノードの台数が不足したままなのでリビルドは実施されません。
「可用性が低下(再構築なし)- 遅延タイマー」はゼロ件になり、
「可用性が低下(再構築なし)」が 3件になります。
障害ノードを何とか復旧するまで、不安な状態となります。
当然ながら、障害ノードを復旧すると自動的にデータは健全な状態になります。
そのため、vSAN は 4ノード以上にしておくと、
1ノード障害時にも落ち着いて復旧作業をすることができます。
つづく。