vSAN ネットワーク クラスタパーティション エラーを復旧してみた。
vSAN障害ネタ第2弾。
本記事では、vSAN 6.6.1環境で クラスタパーティション エラー がたまたま発生したので
復旧までの手順をまとめました。
ネタ第1弾もお暇でしたら読んでみてください☟
きっかけ_vSAN ネットワーク クラスタパーティションが"失敗"
web clientにて、Node#1に「vSANサービスが有効になっていません」というエラーが表示されていました。
確かに、vSAN DiskGroupとしては存在しているが..
vSAN健全性チェックを見ると、[ネットワーク] > [vSANクラスタパーティション]が失敗。
詳細を見ると、パーティション化していました。
パーティション化しているにも関わらず、他のネットワークチェックはすべてパス。
[vSANクラスタパーティション] のテストがどういった事を実行しているか?
をVMware KBから確認してみました。
- vSAN 健全性サービス - ネットワークの健全性 - vSAN クラスタ パーティション (2148543)
https://kb.vmware.com/s/article/2148543
* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -
Q:エラー状態とは、どのような状況を意味しますか。
Q:どのようにエラー状態をトラブルシューティングして修正しますか。
* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* - * -* -* -
今回、その他ネットワークの健全性サービスチェックはすべて正常。
加えて本環境はテスト環境としての利用なので、ほとんど負荷はかけていません。
そのため、改めて基本に立ち返って調査することにしました。
調査_vSAN Architectureから現状を理解する
以下はVMware社提供する whitepaper、 "VMware Virtual SAN Layer 2 and Layer 3 Network Topologies" から抜粋した図になります。
vSANでは、各ノードにRole(役割)が存在します。
Masterは Agent/Backup ノードから得た情報を収集・集約した情報を再配布することで、全ノードで一貫したvSANメタデータが共有されます。
これらの通信はvSAN Networkでやりとりされます。なお、vSAN6.6からはユニキャストで通信されます。
つまり、vSANがvSAN Clusterとして正常に動作するためには、以下をクリアする必要がある。
✅vSAN Networkが適切に構成されているか ★既にvSAN健全性チェックでpass済★
✅Master Group Multicast + Agent Group Multicast でやり取りが出来ているか
✅各vSAN Role が適切に役割分担出来ているか
## Master Group Multicast + Agent Group Multicast でやり取りが出来ているか
connectionとしてはlistできる状態。
実際に今やり取りが出来ているか?はtcpdumpを追加でとれば分かります。
node#1
[root@sds-01:~] esxcli network ip connection list | egrep 224
udp 0 0 224.1.2.3:12345 0.0.0.0:0 65897
udp 0 0 224.2.3.4:23451 0.0.0.0:0 65897node#2
[root@sds-02:~] esxcli network ip connection list | egrep 224
udp 0 0 224.1.2.3:12345 0.0.0.0:0 65897
udp 0 0 224.2.3.4:23451 0.0.0.0:0 65897node#3
[root@sds-03:~] esxcli network ip connection list | egrep 224
udp 0 0 224.1.2.3:12345 0.0.0.0:0 65897
udp 0 0 224.2.3.4:23451 0.0.0.0:0 65897node#4
[root@sds-04:~] esxcli network ip connection list | egrep 224
udp 0 0 224.1.2.3:12345 0.0.0.0:0 518116 VSAN_0x43170ace2318_CMMDSProces
udp 0 0 224.2.3.4:23451 0.0.0.0:0 518116 VSAN_0x43170ace2318_CMMDSProces
## 各vSAN Role が適切に役割分担出来ているか
なんと、Node#1がMasterのRoleとして割り当てられていました。
[root@sds-01:~] esxcli vsan cluster get
Cluster Information
Enabled: true
Current Local Time: 2018-04-28T14:40:11Z
Local Node UUID: 5add76f4-f498-ca86-5b72-246e96ac1870
Local Node Type: NORMAL
Local Node State: MASTER
Local Node Health State: HEALTHY
Sub-Cluster Master UUID: 5add76f4-f498-ca86-5b72-246e96ac1870
Sub-Cluster Backup UUID:
Sub-Cluster UUID: 529b340b-60bc-671c-37b3-5fd2ec850ad8
Sub-Cluster Membership Entry Revision: 0
Sub-Cluster Member Count: 1 ★vSAN Clusterに参加しているnode数★
Sub-Cluster Member UUIDs: 5add76f4-f498-ca86-5b72-246e96ac1870
Sub-Cluster Membership UUID: 9484dd5a-6448-a2f3-8d25-246e96ac1870
Unicast Mode Enabled: true
Maintenance Mode State: OFF
Config Generation: 6e397dda-6b3a-45ce-bf2d-ad1b84adccd5 15 2018-04-28T13:28:07.604
[root@sds-03:~] esxcli vsan cluster get
Cluster Information
Enabled: true
Current Local Time: 2018-04-28T14:41:08Z
Local Node UUID: 5a81f6c9-eda3-e3de-3f01-246e96abf790
Local Node Type: NORMAL
Local Node State: MASTER
Local Node Health State: HEALTHY
Sub-Cluster Master UUID: 5a81f6c9-eda3-e3de-3f01-246e96abf790
Sub-Cluster Backup UUID: 5a81f6c3-66b0-c318-f932-246e96ac0db0
Sub-Cluster UUID: 525f3eba-a578-0034-a0a7-051f6af61134
Sub-Cluster Membership Entry Revision: 12
Sub-Cluster Member Count: 3 ★vSAN Clusterに参加しているnode数★
Sub-Cluster Member UUIDs: 5a81f6c9-eda3-e3de-3f01-246e96abf790, 5a81f6c3-66b0-c318-f932-246e96ac0db0, 5adc877e-70c3-bb20-79ba-246e96ac1b10
Sub-Cluster Membership UUID: d272dd5a-d447-9eca-7091-246e96abf790
Unicast Mode Enabled: true
Maintenance Mode State: OFF
Config Generation: 6e397dda-6b3a-45ce-bf2d-ad1b84adccd5 15 2018-04-28T13:28:07.581
結果_vSAN Clusterからの離脱/再参加 で改善!
いくつかVMwareの文献を漁りましたが、vSAN Roleの役割を変更するコマンドなどは確認出来ませんでした。
そのため、vSAN Clusterからの離脱/再参加 を実施したところ改善しました。
Node#1をメンテナンスモードへ移行(componentはnode#1に未配置だったため、[データを退避しない]のオプションを選択)し、以下の通り データセンタを移行先に指定します。
移行後、すぐにvSAN健全性エラーは正常化しました。
再参加させるため、vSAN Clusterへ移行します。
メンテナンスモードを解除したところ、役割がAgentとして認識したことを確認しました。
[root@sds-01:] esxcli vsan cluster get
Cluster Information
Enabled: true
Current Local Time: 2018-04-28T15:10:43Z
Local Node UUID: 5add76f4-f498-ca86-5b72-246e96ac1870
Local Node Type: NORMAL
Local Node State: AGENT
Local Node Health State: HEALTHY
Sub-Cluster Master UUID: 5a81f6c9-eda3-e3de-3f01-246e96abf790
Sub-Cluster Backup UUID: 5a81f6c3-66b0-c318-f932-246e96ac0db0
Sub-Cluster UUID: 525f3eba-a578-0034-a0a7-051f6af61134
Sub-Cluster Membership Entry Revision: 15
Sub-Cluster Member Count: 4
Sub-Cluster Member UUIDs: 5a81f6c9-eda3-e3de-3f01-246e96abf790, 5a81f6c3-66b0-c318-f932-246e96ac0db0, 5adc877e-70c3-bb20-79ba-246e96ac1b10, 5add76f4-f498-ca86-5b72-246e96ac1870
Sub-Cluster Membership UUID: d272dd5a-d447-9eca-7091-246e96abf790
Unicast Mode Enabled: true
Maintenance Mode State: OFF
Config Generation: 6e397dda-6b3a-45ce-bf2d-ad1b84adccd5 19 2018-04-28T15:07:59.600
以上です。
長文お読みいただきありがとうございました。
皆さまのvSANライフに活かして頂けると幸いです。