自宅で検証できそうなスペックに合わせたNSX-Tのインストール手順を紹介します。NSX Manager 3台, NSX Edge 2台, ESXi 2台, vCenter 1台の構成で、このページではNSX Managerのデプロイ方法について説明します。
理想構成と廉価構成について
理想構成
NSX-Tは「NSX Manager」「NSX Edge」「ホストトランスポートノード」と呼ばれる3つのコンポーネントで構成されます。これコンポーネントは異なるvSphereクラスタに格納されることが望ましいと言われてますので、推奨構成に準拠すれば、ESXi8ノード以上の投資が必要です。
高パフォーマンスが求められるような環境では、ESX Edgeを仮想マシンとしてデプロイするのではなく、ベアメタルにESX Edgeをインストールすることもできます。
商用廉価構成
しかし、この構成はエンタープライズで採用するのは予算観点で非常に難しいこともあるでしょう。ましてや、ESXi8ノードも抱えている自宅環境は滅多にないでしょう。そのような場合はNSX Manager, NSX Edge, ホストトランスポートノードを同一筐体に格納することもできます。
NSX Edgeとホストトランスポートノードを同一筐体に格納すると一定の制約を受けます。「NSX Edge Networking Setup」に記載された「NSX Edge VM can be installed on an NSX-T Data Center prepared host and configured as a transport node. There are two types of deployment」以降の記述に注意ください。
自宅構成
NSX-Tは最小構成ならば、メモリ64G程度のESXiでも検証可能です。自宅などで動作確認する場合の最小構成を以下に記します。
NSX Managerは3台の冗長構成を必要としますが、検証目的ならばNSX Manager 1台でも動作確認可能です。物理的なESXiを複数台用意できないならば、Nested ESXiを使用しても良いでしょう。
リソースが足りない場合はvCenterなしの構成も採用することができます(参照「NSX-T スタンドアローンESXiの導入方法」)。ただし、ホストトランスポートノードは「N-VDSを使用する構成」「VDSを使用する構成」がありますが、NSX-T 3.0は後者が推奨されており、N-VDSは廃止予定の構成です。VDSを設定するためにはvCenterが必要です。
N-VDSを廃止するのは、NSX-TとvSphereとの連携を強めるとのヴイエムウェアの意思表示です。N-VDSに限らず、NSX-TとvSphereで機能が重複するものについては、徐々にvSphereへの移行がなされています。
構築範囲
このページでは、NSX Managerの構築方法を説明します。構築範囲を図示すると以下の範囲です。
NSX Managerのインストール
ダウンロード
「My VMwareのNSX-T ダウンロードページ」へアクセスします。「VMware NSX-T Data Center 3.1.2」の「ダウンロードする」を押下します。
「NSX Manager/ NSX Global Manager / NSX Cloud Service Manager for VMware ESXi」の「今すぐダウンロード」を押下します。
OVFテンプレートのデプロイ
ESXiまたはクラスタの右クリックメニューで「OVFテンプレートのデプロイ」を選びます。
さきほどダウンロードしたovaファイルを指定します。
「仮想マシン名(vCenterやESXi上で表示される名前)」とフォルダを指定し、「次へ」を押下します。
デプロイ先のESXiホストまたはクラスタを選びます。
テンプレートの情報確認の画面です。「次へ」を押下します。
検証サーバのスペックに応じて、NSX-T Managerのサイズを選びます。
デプロイ先のストレージを選びます。もし、検証環境のディスクに余裕がないならば、「シンプロビジョニング」で妥協するのもよいでしょう。
NSX ManagerのWeb UIが接続されるポートグループを指定します。このポートグループはVSS, VDSのどちらでも差し支えございません。
rootユーザのパスワードを指定します。
adminユーザのパスワードを指定します。Web UIでログインする時やsshログインするときのユーザです。
auditユーザのパスワードを指定します。auditは読み取り権限のみが与えられた監査用ユーザです。
NSX Managerのホスト名を指定します。このホスト名は名前解決の必要はありません。
「Rolename」はデフォルトの「NSX Manager」で差し支えございません。Federationのようなマルチデータセンター環境を構築する場合はRolenameの考慮が必要ですが、今回は最小構成のため説明を省略します。
IPアドレスやデフォルトゲートウェイの設定をします。
DNSの設定をします。DNSサーバを複数指定する場合は、スペースで区切ります。
NTPサーバを指定します。その他、SSHログインやrootログインを許可するかの設定があります。セキュリティ上は非推奨であるものの、有効にしておくと操作が便利です。商用のサービスイン前に無効化することもできます。
以上の設定が完了したら、「次へ」を押下します。
設定確認の画面です。「完了」を押下します。
デプロイが完了するまで待ちます。
NSX Managerの起動
NSX Managerの起動には一定の時間を要します。非SSDの環境ならば、多めに見積もって30分くらいはかかると思った方が良いでしょう。初めて構築した人は不安に思うかもしれませんが、これくらい時間がかかるのは「正常な挙動」です。
デプロイ完了後、仮想マシンを起動します。
ブラウザ応答するまでには一定の時間を要しますが、待ちきれないならばping応答を確認してみましょう。もし、ping応答がないならばIPアドレスなどの設定誤りの可能性があります。
しばらく待つとブラウザで応答するようになりログイン画面が現れます。
ログイン後、もし、NSX Manager内部で動作するサービスが起動してないならば、以下のようにhealthがUNKNOWNと表示されます。これらが全てUPになるまで操作はできない状態です。
Some appliance components are not functioning properly. Component health: POLICY:UNKNOWN, MANAGER:UNKNOWN, SEARCH:UNKNOWN, UI:UP, NODE_MGMT:UP. Error code: 101
healthがUPに変わると以下のような画面に変わります。
エンドユーザ使用許諾契約書
「エンドユーザ使用許諾契約書」に同意し、「続行」を押下します。
画面上部の太陽マークを押下すると、黒背景と白背景を切り替えることができます。
ライセンスキーの登録
「システム」「ライセンス」「ライセンスキーを追加」の順に押下します。
ライセンスキーを入力し、「追加」を押下します。
ライセンスが追加されたことを確認します。
補足説明
トラブル調査
疎通不能の場合は、コンソール経由でNSX Managerへログインし、状況を調査しましょう。
NSX Managerはキーボードが設定されていませんので、英字キーボード配列いなっていることに注意ください。例えば、「@」を入力するならば「Shift + 2」です。
ログイン後は、Debuian OSとほぼ同等の調査が可能です。例えば、IPアドレスなどの設定を確認するならば、以下のような操作をします。
root@nsxt-manager121:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.121 netmask 24 gateway 192.168.1.1 root@nsxt-manager121:~# root@nsxt-manager121:~# root@nsxt-manager121:~# ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:a3:c3:42 brd ff:ff:ff:ff:ff:ff inet 192.168.1.121/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever root@nsxt-manager121:~#
pingやtracerouteの調査も可能です。
root@nsxt-manager121:~# ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.307 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.320 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.339 ms ^C --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2019ms rtt min/avg/max/mdev = 0.307/0.322/0.339/0.013 ms root@nsxt-manager121:~# root@nsxt-manager121:~# root@nsxt-manager121:~# traceroute -I -n 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 192.168.1.1 0.825 ms * * 2 42.144.44.1 17.008 ms 17.078 ms 17.165 ms 3 10.202.106.3 36.590 ms 36.611 ms 36.669 ms 4 172.25.25.41 32.913 ms 32.935 ms 33.039 ms 5 10.1.0.237 30.936 ms 30.974 ms 32.185 ms 6 175.129.17.98 31.068 ms 31.531 ms 26.840 ms 7 175.129.17.97 27.479 ms 16.431 ms 16.440 ms 8 61.26.74.46 16.592 ms 22.892 ms 22.903 ms 9 74.125.147.116 22.721 ms 21.776 ms 30.206 ms 10 209.85.245.217 31.514 ms 31.380 ms 31.472 ms 11 142.250.226.61 29.822 ms 29.626 ms 29.609 ms 12 8.8.8.8 29.052 ms 28.842 ms 26.315 ms root@nsxt-manager121:~#
自動化
OVAテンプレートのデプロイ
OVAテンプレートのでデプロイはovftoolを用いるとコマンドライン実行も可能です。特にOVAテンプレートは入力項目が多く操作ミスを誘発しやすいので、慣れてきたらコマンドライン操作に変更しましょう。操作例は以下の通りです。
以下はLinuxで操作する前提のため改行を「\」で表しています。Windowsのコマンドプロンプトなどで操作する場合は、改行を「^」で指定してください。
ovftool \ --X:injectOvfEnv \ --X:logFile=ovftool.log \ --allowExtraConfig \ --noSSLVerify \ --powerOn \ --acceptAllEulas \ --name=122-nsx-manager \ --datastore=datastore12 \ --diskMode=thin \ --network="vSwitch0_vlan0000" \ --prop:nsx_passwd_0="P@ssw0rdP@ssw0rd" \ --prop:nsx_cli_passwd_0="P@ssw0rdP@ssw0rd" \ --prop:nsx_cli_audit_passwd_0="P@ssw0rdP@ssw0rd" \ --prop:nsx_hostname="nsx-manager122.gokatei.go" \ --prop:nsx_gateway_0=192.168.1.1 \ --prop:nsx_ip_0=192.168.1.122 \ --prop:nsx_netmask_0=255.255.255.0 \ --prop:nsx_dns1_0="192.168.1.221 192.168.1.1" \ --prop:nsx_domain_0=gokatei.go \ --prop:nsx_role="NSX Manager" \ --prop:nsx_ntp_0="192.168.1.221" \ --prop:nsx_isSSHEnabled=True \ --prop:nsx_allowSSHRootLogin=True \ ova/nsx-unified-appliance-3.1.2.0.0.17883600.ova \ vi://administrator@gokatei.go:P@ssw0rd@vcenter00.gokatei.go/?ip=192.168.1.181
エンドユーザ使用許諾
エンドユーザ使用許諾契約書に許諾するRest API操作は以下の通りです。
curl --request POST \ -u admin:P@ssw0rdP@ssw0rd \ --header "Content-Type:application/json" \ -k https://192.168.1.121/api/v1/eula/accept
ライセンスキー登録
ライセンスキーを登録するRest API操作は以下の通りです
curl --request POST -d @- \ -u admin:P@ssw0rdP@ssw0rd \ --header "Content-Type:application/json" \ -k https://192.168.1.121/api/v1/licenses << EOF { "license_key":"XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" } EOF