前回、物理マシン4台の上に仮想のESXi(Nested ESXi)を起動し、ついに「自宅ホロデック」の筐体が完成しました。 しかし、今のままでは単なる「4台の独立したサーバー」が並んでいるだけです。VCF (VMware Cloud Foundation) のようなクラウド基盤を組むには、これらを一つのリソースプールとして束ね、データを共有できなければなりません。
今回は、仮想空間の中に 「vSANクラスタ」 を構築し、約1TBの共有ストレージを構築します。
これが、次回導入するNSX ManagerやEdgeノードの土台となります。
Nested環境のクラスタ作成
クラスタ「N-ESXi-WLD」の定義
まず、物理vCenter上に新しいクラスタを作成します。 物理環境の管理クラスタを P-ESXi-MGT (Physical - Management) と名付けているので、対になるNested環境は N-ESXi-WLD (Nested - Workload) と命名しました。 VCFの構成要素(ワークロードドメイン)を意識したネーミングです。
このクラスタは以下の設定とします。
vSphere DRS / HA:有効 (完全自動化)
vSAN:有効 (OSA: Original Storage Architecture)
※Nested環境では、ハイスペックなNVMeを要求するESAではなく、枯れた技術であるOSAを選択するのが鉄則です。
ホスト管理:物理クラスタをvLCMで管理しているので、このイメージを利用します。
ここに、前回構築した4台のNested ESXi (192.168.10.51 ~ .54) を登録します。


新しい「N-ESXi-WLD」クラスタが完成しました。

ホストの追加
クラスタができたので、ここにesx51~54の4台のホストを追加します。

認証情報はすべて一緒なので、まとめて設定します。

サムプリントを承諾します。

ホストサマリはそのまま「次へ」をクリックします。

イメージはすでに作成しているものがあるので、ここでは「イメージをインポートしない」を選択します。

確認し問題なければ「完了」をクリックします。

正常にホスト追加ができました。

地味に辛いネットワーク設定(手動)
vSAN用のvmkアダプタ作成
vSANを組むには、各ホストが互いに通信するための専用ネットワーク(vmkアダプタ)が必要です。 物理ホストなら分散スイッチ (VDS) で一括設定できるのですが、Nested環境にはまだVDSがありません(NSX導入時に作成します)。
そのため、各ホストの「標準スイッチ (vSwitch0)」に対して、手動で設定を投入する必要があります。 vCenterのクイックスタートウィザードを使えばVDSを自動作成してくれますが、今回は仕組みを理解するため、あえて泥臭く手動で設定します。
4台のホスト全てに対して、vSAN用vmkを作成していきます。
esx51のホストを選択し、「構成」-「ネットワーク」-「VMkernelアダプタ」を表示します。
ここで、「ネットワークの追加」をクリックします。

接続タイプは、「VMkernelアダプタ」を選択します。

ターゲットデバイスは、「既存の標準スイッチを選択」を選び、vSwitch0が表示されるので、それを選択します。

ポートのプロパティは以下を設定します。
ネットワークラベル:PG-vSAN
VLAN ID:20 (物理ネットワークと混ざらないよう分離)
使用するサービス:vSAN

IPv4設定は、VLAN IDを20としているので、192.168.20.0/24のネットワークアドレスを使用します。
IPv4アドレス:192.168.20.51
サブネットマスク:255.255.255.0

なお、この設定は、esx51~54までの4台で同じ設定を行います。

設定後、SSHでホストに入り vmkping で疎通確認できることを確認します。
[root@esx51:~] vmkping -I vmk1 192.168.20.52 PING 192.168.20.52 (192.168.20.52): 56 data bytes 64 bytes from 192.168.20.52: icmp_seq=0 ttl=64 time=0.385 ms --- 192.168.20.52 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.385/0.385/0.385 ms [root@esx51:~] vmkping -I vmk1 192.168.20.53 PING 192.168.20.53 (192.168.20.53): 56 data bytes 64 bytes from 192.168.20.53: icmp_seq=0 ttl=64 time=0.346 ms --- 192.168.20.53 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.346/0.346/0.346 ms [root@esx51:~] vmkping -I vmk1 192.168.20.54 PING 192.168.20.54 (192.168.20.54): 56 data bytes 64 bytes from 192.168.20.54: icmp_seq=0 ttl=64 time=0.432 ms --- 192.168.20.54 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.432/0.432/0.432 ms [root@esx51:~]
vSANの有効化
vSANライセンスの適用
vSANを構成するにはライセンスが必要となります。評価版が適用されていますが、vExpert用で取得したライセンスを手協していきます。

ライセンスの割り当てについては、他のライセンスと同様のため割愛します。
以下、ライセンス適用が完了するとこのような表示になります。


ディスクの要求とデータストア作成
いよいよvSANの有効化です。VM作成時に仕込んでおいた「50GB」と「250GB」の空きディスクを使用していきます。
画像を取り損ねてしまったので、途中の画像となります。
本来、cache用とcapacity用のディスクを選択するのですが、vCenterが自動的に「50GBをキャッシュ」「250GBをキャパシティ」として認識してくれました
これで問題ないので、[CREATE] (作成)を選択します。

作成をクリックすることで、実際にディスクフォーマットが行われ、ディスクグループが作成され、「vsanDatastore」 という共有ストレージが出現します。

【トラブル】作成したはずのデータストアが「0 Byte」?
ここで予期せぬトラブルが発生しました。 ディスクグループの作成には成功し、vsanDatastore は出現したのですが、なぜか容量が 「0B」 と表示されたままです。
ライセンスも入れたました。ディスクもマウント済みです。なぜでしょう?
原因は、あまりにも基本的なことでした。 「ホストがメンテナンスモードに入っていたから」 です。
Nested ESXiを展開した直後、これらはデフォルトでメンテナンスモードになっています。vSANは、メンテナンス中のホストのディスクを「有効なリソース」としてカウントしません。よって、容量もゼロだったわけです。
4台すべてのメンテナンスモードを解除した瞬間、vCenterの更新ボタンと共に、約1TBの空き容量が表示されました。まさに灯台下暗しですね。



