2019年4月15日月曜日

2-Node vSAN ネットワークデザイン

巷で話題の”2ノードvSAN”について、DELLブログに追記をしていただきました。
稲葉さんありがとうございました。

https://www.dell.com/support/article/jp/ja/jpbsd1/sln313038/



こちらのBlogでは今回行った修正のポイントと、ネットワークデザインのベストプラクティスについて書いていきます。
今回は長いので、先に要点をざっくりと・・・
  • vmkポートへのIP設定には禁じ手があるので、それを考慮したネットワークデザインが必要。 
  • vSANとして疎通を有効にする設定は、 WitnessアプライアンスとvSANノードでは手順が異なるので注意。



◯Witnessアプライアンスの中身は「Nested ESXi」


2ノード構成であっても、動いているvSANの中身は3ノードと同じなので、メタデータのやり取りには3台構成が必要・・・ということなんです。

 ・実データのやり取り・・・物理ESXi x2台(10G直結の2台間でミラーリング)
 ・メタデータのやり取り・・・物理ESXi x2台+Witness仮想アプライアンス(合計3台)

ほら、FTT=1のときは(2N+1)ルールですと最低3台必要でしたよね?
だから、Witness仮想アプライアンスはNested ESXiなのです。




◯vSANクラスタに参加させるために、vCenterへ登録


仮想アプライアンス展開後に、vCenterと連携させるためにIPアドレスを設定するのですが、DCUIで Nested ESXiにIPアドレスを振ります。






ですが、LAN内の構成においては vmnic0だけにIPアドレスを設定する必要があります。
vmnic1 はDHCPのままほっといてください。




WitnessアプライアンスにはNICが2つありますが、
これは管理用VMkernelvSANVMkernelのために用意されています。


ですが、同一セグメント(IPサブネット)内には、複数のVMkernelポートを利用することがサポートされていません。 (マルチNICでのvMotion, iSCSIポートバインディングは除く)


なので、vmnic0(vmk0)しか設定しないということなのです。




◯どうやって3台でメタデータのやり取りをするのか?



初期のままだと、「vCenter管理(緑色)」と「vSAN(赤色)」というネットワークしかありません。





Witnessアプライアンスは vmk0しかIPアドレスを割り当てませんでしたので、下記のような状態になります。
デバイス
ネットワークラベル
(PortGroup
仮想スイッチ
IPアドレス
管理
(vCenter)
vSAN
vSAN監視
(witness)
vmk0
Management
Network
vSwitch0
192.168.10.13
有効
無効
無効
vmk1
witnessPg
witnessSwitch
169.254.xxx.xxx
無効
有効
無効


どうしたらいいのか。。。これこそ2ノード構成の真髄
  ・
  ・
  ・
  ・

そこで、vSANノード2台と Witnessアプライアンスに メタデータの通信経路を指定させます。
これをWTS(Witness Traffic Separation)構成といいます。




(1)vSANノードでのCLI設定
   vSAN通信を「vSANデータ(赤色)」「Witness(水色)」に分離し、
   Witnessの通信(水色)は、vCenter管理のネットワーク(緑色)に相乗り。 

    ※CLI操作の手順はDELLブログを見てください。


(2)WitnessアプライアンスでのGUI設定
    vCenter管理画面から VSANラベル“ をvmk1からvmk0へ付け替え。


    ※アプライアンス上で変更するラベルはWitnessではなく、VSANとなります。



変更後のWitnessアプライアンスはこのようになります。
デバイス
ネットワークラベル
(PortGroup
仮想スイッチ
IPアドレス
管理
(vCenter)
vSAN
vSAN監視
(witness)
vmk0
Management
Network
vSwitch0
192.168.10.13
有効
有効
無効
vmk1
witnessPg
witnessSwitch
169.254.xxx.xxx
無効
無効
無効




【まとめ】2ノードvSANネットワークデザインパターン

※下記の図にある水色”Witness”は、日本語のブラウザですと「vSAN監視」となりますのでご注意ください。


◯同一LAN内での2ノードクラスタ構成


Witnessアプライアンス上のVMkernelポートは1つだけ利用します。
シンプルな構造なのでおすすめです。



IPアドレスの例です。

デバイス
IPアドレス
ネットマスク
VMkernelオプション
管理
(vCenter)
vSAN
vSAN監視
(witness)

vSAN
ノード#1
vmk0
192.168.10.11
255.255.255.0 (/24)
-

vmk1
192.168.20.11
255.255.255.0 (/24)
-
-

vSAN
ノード#2
vmk0
192.168.10.12
255.255.255.0 (/24)
-

vmk1
192.168.20.12
255.255.255.0 (/24)
-
-

Witness
アプライアンス
vmk0
192.168.10.13
255.255.255.0 (/24)
-

vmk1
割当なし
-
-
-
-




◯ルーターをまたいだ、ROBO構成など


こちらが、Witnessアプライアンスでほったらかしにしていた「もう一つのvmnic1」を使うパターンです。
Witnessアプライアンス上のVMkernelポートは2つ利用しますが、それぞれが異なるネットワークセグメントとなっています。



IPアドレスの例です。(vmk1は環境に合わせてStaticRouteを設定ください)

デバイス
IPアドレス
ネットマスク
VMkernelオプション
管理
(vCenter)
vSAN
vSAN監視
(witness)
Default
GW
vSAN
ノード#1
vmk0
192.168.10.11
255.255.255.0 (/24)
-
vmk1
192.168.20.11
255.255.255.0 (/24)
-
-
-
vSAN
ノード#2
vmk0
192.168.10.12
255.255.255.0 (/24)
-
vmk1
192.168.20.12
255.255.255.0 (/24)
-
-
-
Witness
アプライアンス
vmk0
192.168.30.13
255.255.255.0 (/24)
-
-
vmk1
192.168.40.13
255.255.255.0 (/24)
-
-
-








 

◯疎通確認の方法


Pingではなく、vmkpingコマンドでの確認となります。
操作するESXiサーバー上で、どのvmkernelを経由して確認するかオプションをお忘れなく

# vmkping -I vmk0 192.168.10.11


以上です