こんにちは、ソフトバンク コマース&サービス株式会社 稲葉です。

最近話題の「2ノードvSAN」。名前だけが先行していて、どのような構成でどのように
構築できるのか、どの程度の耐障害性を得られるのか、よくわからず導入に踏み切れて
いない方が多いのではないでしょうか。

そこで、わたしたちはデルさまと共同で実際に2ノードvSANを構築し、さまざまな実験をしてみました。
その結果を、8回のシリーズブログにまとめ、詳しく解説していきます。

第7回では、検証を通じて知り得た2ノードvSANでしてはいけない事を挙げ、
それらをしてしまったらどうなるか?を復旧方法と防止案を交えてご紹介していきます。

2ノードvSANでしてはいけない事

1.vSANクラスタ配下のESXiホストをメンテナンスモードにせずに停止する。

2.仮想マシンを停止せずにvSANを無効化する

3.vSANを無効化せずにWitnessをインベントリから除去する

No.1、2について最悪してしまったとしても突然「vSANサービス起動しなくなる」、「仮想マシンが一斉に停止する」といった事象は今回の検証では確認できませんでした。

ただ、VMware社から以下のドキュメントが公開されていますので、基本的にはこちらの内容に添う事を推奨いたします。

【vSANクラスタのパワーオフ】
https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.virtualsan.doc/GUID-F396E477-2E9E-4180-9B8E-DBEE051285FD.html

【vSAN を無効にする】
https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.virtualsan.doc/GUID-BA802B7B-1014-4F45-8237-E205E6B0A573.html

No.3について実施した場合、非常に復旧が複雑になることがわかりました。

そのため、運用者がメンテナンス中に誤って「vSANを無効化せずWitnessをvCenter Serverから削除してしまった!」という想定で挙動と復旧手順を解説していきます。


vSANを無効化せずにWitnessをインベントリから除去(削除)した場合

検証内容:vSANを無効化せずにWitnessをvCenter Server上から削除する。

検証結果:復旧成功。ただしvSANの無効化と仮想マシンの停止が伴う。

※ 本検証はvSAN6.5で実施した場合の検証結果となります。
  vSAN6.6ではvSANを有効化した状態(仮想マシン起動状態)でWitnessの復旧が可能です。
     (詳細は本記事の「まとめ」参照)


1.問題の発生手順

vCenter Server上からWitnessのホストを選択し、「インベントリからの除去」をクリックします。



確認画面が表示されるため、[はい]をクリックします。


vCenter Server上からWitnessの表示が消えました。


「ディスク管理」からWitnessの状態を確認すると、Witnessのディスクグループが"null"に変わります。


「フォールト ドメインおよびストレッチクラスタ」を確認すると、ステータスは「有効」のまま監視ホストが空白になります。


WitnessをvSANに再認識させるためには、vSANの再有効化が必要となります。

しかしvSANを無効化しようとすると以下の「通知」が表示されvSANを無効化できません。
これは無効化するWitnessがvCenter Server上に存在せず整合性が取れていないためと考えられます。

※ 事前にvSANを「無効化」した状態でWitnessを削除した場合は、こちらの「通知」は発生しません。
  [無効化]した状態であれば、正常にvSANを停止することができます。

それではこの状態を復旧させる手順を紹介します。


2.復旧手順

復旧の順番は以下の通りです。

 1) 管理ESXiホスト上に新規のWitnessを配置(デプロイ)する

 2) vSANクラスタ内の仮想マシンを全て停止/インベントリから除去する
        (もしくは別クラスタにvMotion&Storage vMotionする)

 3) vSANのクラスタに属するESXiホストをメンテナンスモードにする

 4) vSANのクラスタに属するESXiホストをインベントリから除去する

 5) クラスタを削除する

 6) クラスタを作成する

 7) クラスタ配下にNo.4にて除去したESXiホストを追加する。

 8) Witnessをクラスタ外に追加する

 9) vSANを無効化する

10)  vSANを有効化する

11)  仮想マシンのインベントリ情報を登録する

それでは解説していきます。

1) 管理ESXiホスト上の新規のWitnessホストを配置(デプロイ)する

管理ESXiホストにログインし、インベントリから除去した「WitnessVM」を停止し、新たに「WitnessVM_3」を配置します。(※仮想マシン名は任意です。)



2) vSANクラスタ内の仮想マシンを全て停止/インベントリから除去する(*1

*1) 同Datacenter配下に別クラスタがあればホストとストレージのvMotionを行うことで仮想マシンの停止を回避できます。

3) vSANのクラスタに属するESXiホストをメンテナンスモードにする。



4) vSANのクラスタに属するESXiホストをインベントリから除去する



5) クラスタを削除する



6) クラスタを作成する

「新規クラスタ」からクラスタを再作成します。
クラスタを作成する際Virtual SANを「オンにする」にチェックを入れ作成します。(*2

 *2) 除去したESXiホスト自身は「vSANが有効」の状態となっています。
      クラスタとESXiホストのvSANのステータスを合わせるために、vSANを有効の状態で作成します。
      vSANが有効化された状態でクラスタが作成されます。



7) クラスタ配下にNo.4にて除去したESXiホストを追加する

作成したクラスタ配下に先ほどインベントリから除去したESXiホストを追加します。
追加後メンテナンスモードを解除します。



8) Witnessをクラスタ外に追加する

[ホストの追加]からクラスタ外にWitnessホストを追加します。


9) vSANを無効化する

この状態で一度vSANを無効化します。



先ほどは「通知」が発生しvSANを無効化できませんでしたが、この段階で無効化できるようになります。


10) vSANを有効化する

     「2ホストのVirtual SANクラスタの構成」を選択し、vSANを再度有効化します。

「ディスクの要求」画面にて「このリストは空です。」と表示されます。
vSANのディスクグループを一度構成した場合はこのように表示されます。
この状態で「次へ」を押し、次の画面に進みます。


「監視ホストの選択」では新たにデプロイしたWitnessを選択します。


vSANを有効化完了後、vSANのディスクグループを確認すると"null"が解消されます。


11)仮想マシンのインベントリ情報を登録する

     vSANデータストア内のvmxファイルから仮想マシンのインベントリ情報を再登録します。


仮想マシンのインベントリ登録後、仮想マシンを起動し復旧完了となります。


3.防止案

Witnessを誤って削除しないようにするための1案をご紹介します。


AdministratorでvCenter Serverにログインすると、すべてのESXiホストが表示されます。
これではWitnessを誤って削除できてしまいます。

そこでWitnessを表示させないユーザーを作成し、ログイン後にWitnessを非表示にすることで誤削除を未然に防止します。

Witnessを非表示にするための手順は以下の通りです。

1.vCenter Server 上に任意のユーザーを作成

2.vSANクラスタを右クリックし[権限の追加]から作成したユーザーに操作権限を追加する

3.作成したユーザーでログインする

作成したユーザーはクラスタ配下以外に操作権限がないため、Witnessが非表示になります。

<作成したユーザーでログインした場合の画面>



まとめ

第7回では、検証を通じて知り得た「2ノードvSANでしてはいけない事」を3点挙げ、その中から「Witnessの誤削除」についての対処法をご紹介しました。

2ノードvSANを運用する中でのトラブルシューティング情報としてお役立てください。

なお、最初にお伝えした通り本記事でご紹介したWitnessの復旧手順はvSAN6.5の環境を利用した場合の対処法となります。

vSAN 6.6では「監視ホストを変更」する機能が追加されているためWitnessホストを削除しても、仮想マシンを停止せずにWitnessを復旧できます。

<vSAN6.6 監視ホストの変更画面>

いよいよ次回が最終回となりました。

最終回となります第8回では、第1回から第7回までに話した内容のまとめを簡単にご紹介いたします。



ナベさんのつぶやき 

みなさん、こんにちは。Dell EMCの川奈部です。

”2ノード vSANでしてはいけない事”をご紹介いただきました。

実際の運用フェーズではvSANを無効化するケースはそうそうないと察しがつきますが、ESXiホストをメンテナンスモードにせず停止してまうケースはうっかりやってしまうケースは想像できます。

また、Witnessをインベントリから削除する話についてですが、これは要注意だと思っております。

Witness VMはvCenter上のインベントリからは一見ESXiホストがいるように見えるわけですが、「クラスタにも所属してないESXiホストみたいだし、こんなESXiホストはいらないでしょ」と、うっかり削除してしまうケースが想像できます。

自社の環境や2Node vSANの構成要素をよく理解した方が触るならいらぬ心配ですが、そうではない方がうっかりオペレーションミスしてしまうケースが想像できます。

人が操作するものである以上、ミスは付きものですが、こうした予見できるトラブルを未然に防ぐためにも”防止案”にあるようなユーザーの作成とロールの設定をして、通常運用時向けのユーザーを作っておくことは効果的な防止策になると思います。

今回紹介いただいた復旧手順は大変ありがたい情報ですが、これが活躍してしまう機会がないことが何よりですので、今一度、”2ノード vSANでしてはいけない事”をよく読んでいただいた上で、2ノードvSANをご活用いただければと思います。


======Back Number======

(1) 第1回:vSANの新たなカタチ “2ノードvSAN”~概要~

(2) 第2回:vSANの新たなカタチ “2ノードvSAN”~ライセンス~

(3) 第3回:vSANの新たなカタチ “2ノードvSAN”~作り方(その1:構成編)~

(4) 第4回:vSANの新たなカタチ “2ノードvSAN”~作り方(その2:Witness編)~

(5) 第5回:vSANの新たなカタチ “2ノードvSAN”~作り方(その3:仕上げ編)~

(6) 第6回:vSANの新たなカタチ “2ノードvSAN”~障害検証

(7) 第7回:vSANの新たなカタチ “2ノードvSAN”~トラブルシューティング~

(8) 第8回:vSANの新たなカタチ “2ノードvSAN”~まとめ~

(9) 番外編:vSANの新たなカタチ “2ノードvSAN”~2ノードvSANのUPS~



デルの製品またはソリューションに関するお問い合わせは

こちらからご連絡ください。