vSAN の機能検証などで、ネステッド ハイパーバイザ環境を利用することがあります。
そこで、1台の物理マシンに vSAN 環境をセットアップした様子を紹介します。
今回の環境構築の方針。
今回は、下記のような vSAN 環境をセットアップします。
- 物理マシンは 1台のみ利用する。
- スペックは下記。
- CPU: 4コア / 8スレッド(ただし 8スレッド必須というわけではない)
- メモリ: 32GB
- ディスク: 500GB SSD x 1つだけ
- NIC: 1Gbps を 1ポートだけ
- ネステッド ハイパーバイザ環境のベースになる物理サーバの ESXi も、vCenter に登録する。
- これは、vCenter に登録したほうが ESXi / VM の管理をしやすいため。
- vCenter は vSAN クラスタ(vSAN データストア)の外に配置する。
- vCenter を vSAN データストア上に配置することもできるが、
まず vSAN そのものを勉強するためには vSAN 外にある方がよいと思うので。
- vCenter を vSAN データストア上に配置することもできるが、
- vCenter Server 6.7 U1 / ESXi 6.7 U1
- せっかくなので最新版を利用する。
物理マシン ESXi / ネステッド ESXi の関係。
この環境では、物理マシンの ESXi 上の VM に ESXi をインストールしています。
前スクリーンショットの vCenter インベントリでのネステッド ESXi(Nest-ESXi)と
VM の関係を図示すると、下記のようになります。
- 物理マシン ESXi には、下記を配置します。
- vCenter(仮想アプライアンスである VCSA を利用)
- ESXi をインストールする VM(ESXi VM)3台
- ESXi VM のテンプレート
- 物理マシン ESXi に配置している VM へのリソース割り当ては下記にしました。
- vCenter: VCSA の「極小」(Tiny)スペック。vCPU: 2、メモリ: 10GB
- ESXi VM: vCPU: 2、メモリ: 6GB、VMDK: 16GB。(これを 3VM作成)
- 物理マシン ESXi 1台は MGMT-Cluster に登録します。
- Nest-ESXi の実体となる ESXi VM は、こちらのクラスタで見えます。
- Nest-ESXi のインストールは、だいたい下記のいずれかになるはずです。
- 物理 ESXi のデータストアに格納した ISO ファイルを、
ESXi VM の仮想 CD/DVD ドライブに接続してインストール。 - PXE Boot によるネットワーク経由での Kickstart インストール。
- 物理 ESXi のデータストアに格納した ISO ファイルを、
- 物理マシン ESXi 側でインストールした Nest-ESXi 3台は、vSAN-Cluster に登録します。
ESXi VM はそれぞれ ESXi をインストールするか、
あらかじめ ESXi をインストールした VM をテンプレート(クローン元 VM)を利用します。
今回の ESXi VM では、下記のような設定をします。
- ゲスト OS の種類は「ESXi 6.5 以降」を選択。
- CPU で「ハードウェア アシストによる仮想化をゲスト OS に公開」のチェックを入れる。
- 起動オプション → ファームウェアは BIOS にする。
ストレージ(データストア / VMDK)の関係。
Nest-ESXi のローカルディスクで vSAN データストアを構成しますが、
その実体は、ESXi VM に接続された VMDK ファイルです。
(下図では Nest-ESXi が1台ですが、実際は 3台で vSAN データストアを構成します)
Nest-ESXi で vSAN 構成後にそのうえで VM (図の Nest-VM)を作成すると、
当然ながら、その VMDK もネストされることになります。
ネットワーク(vSwitch / ポートグループ / vNIC)の関係。
Nest-ESXi 上で VM(Nest-VM)を作成した場合、Nest-VM の vNIC では、
自身のものとは異なる MAC アドレス / VLAN の通信が発生します。
デフォルトの状態ではそのような通信ができないため、
物理マシン ESXi 側で、下記の設定をします。
- Nest-ESXi を接続するポートグループを追加します。
- 今回は Nested-Trunk-Network という名前で作成。
- シンプルに、標準仮想スイッチ(vSS)の、標準ポートグループで作成。
- 作成したポートグループで、無差別モードを許可する。
- これで 自身の MAC アドレス以外の通信も受け取るようになる。
- MAC アドレス変更 / 偽装転送 は、標準ポートグループでは許可されているので、そのまま。
- 作成したポートグループで、VLAN ID 4095 を設定する。
- これで 物理 ESXi のポートグループで VLAN ID を付与したまま通すようになり、
Nest-ESXi 側のポートグループで VLAN ID を付与できるようになります。
- これで 物理 ESXi のポートグループで VLAN ID を付与したまま通すようになり、
Nest-ESXi 側では、とくにネストしていることを意識することなく
ネットワークを構成します。
vSAN では VMkernel(vmk)ポートで vSAN トラフィックを有効にする必要がありますが、
これは Nest-ESXi 側だけで設定します。
物理 ESXi で作成したポートグループに、すべての ESXi VM の vNIC を接続します。
作成したポートグループでは、下記のように
無差別モードを有効化、VLAN ID 4095 を設定しています。
環境構築自体は、ネストであるかどうかにかかわらず、
一般的な vSphere Client(旧 HTML5 Client)や vSphere Web Client での操作となります。
また、ラボを頻繁に構築するようであれば PowerCLI などによる自動化もできます。
構築 Tips につづく・・・かもしれない