ネットワークエンジニアのITブログ

長らくネットワークで仕事をしてきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、クラウドのネットワークというのが自分の性分にはあっているようです。最近のお気に入りはNSXALBとGoogle Cloud。

仮想空間に共有ストレージを!Nested vSANの構成とクラスタの作成

前回、物理マシン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の空き容量が表示されました。まさに灯台下暗しですね。

運用Tips:ホロデックの正しい「電源の切り方」

最後に、この環境のシャットダウンと起動の手順について触れておきます。 vSANクラスタは、いきなり電源を切るとデータの整合性が崩れるリスクがあります。特に4台すべてを落とす場合は手順が重要です。

停止手順(Shutdown)

vCenterには便利な機能があります。クラスタを右クリックして [vSAN] -> [クラスタのシャットダウン] を選ぶだけです。

このウィザードが、vSANの静止確認や、各ホストのメンテナンスモードへの移行(データの退避なし)を全自動でやってくれます。
完了後、物理ホスト側でVMがパワーオフになったことを確認します。

起動手順(Startup)

起動時は、物理ホスト上でNested VMをパワーオンするだけではありません。
起動直後、vCenter上では「クラスタはシャットダウンされています」という表示になり、vSANサービスが止まったままになります。
ここで [再起動] ボタンを押すことで、メンテナンスモードの解除や、vSANオブジェクトの再同期が始まります。

ウィザードが走り、全てのチェックマークが緑色になれば、ホロデックの再稼働完了です。

まとめ

これで、コンピューティングリソース(vSphere DRS)とストレージリソース(vSAN)が統合されました。
トラブルもありましたが、無事に約1TBの共有ストレージを確保できました。
もはや4台のバラバラなVMではありません。一つの巨大な 「Software-Defined Data Center (SDDC)」 です。

次回は、この土台の上に、VCFの心臓部である 「NSX Manager」 をデプロイします。 ここからが本当の「クラウド構築」の始まりです。