NSX Edgeは仮想マシンだけでなくベアメタルにインストールすることもできます。インストール方法は「Automated install」「Interactive install」の2通りが選べますが、後者の「Interactive install」について説明します。「Automated install」と異なり、「Interactive install」はインストール時にやや詳細なパラメタを指定する手法です。どちらの手法も設定しなければならないパラメタは殆ど変わらず、インストール中に実施するかインストール後に実施するかの違いが殆どです。
前提条件
ハードウェア要件
ベアメタル版NSX Edgeはハードウェア要件が厳しめで、例えば、遊休資産をNSX Edgeに転用するようなことは殆どできないでしょう。ハードウェア要件は「NSX Edge ベア メタル要件」を参照ください。
もし、要件を満たしてないハードウェアを使用すると、以下のようにOSインストールは成功したとしても、dataplaneの設定でエラーを返されます。
nsx-edge182> set dataplane device list 0000:02:00.1 Updating custom NIC list... ERROR: NSX Edge configuration has failed. Host is not configured with supported network device. nsx-edge182>
もし、適当なハードウェアが見当たらないものの、インストールの練習をしたい場合は仮想マシンでもほぼ同等の操作を確認することができます。
起動方法
NSX Edgeの起動はUEFIではなくレガシーBIOSが推奨されています。仮想マシン版を使用する場合は、ovaテンプレート内にレガシーBIOSの設定が含まれているため明示的な操作は不要です。しかし、ベアメタルの場合は、近年の殆どのベアメタルサーバはデフォルト設定がUEFIになっているため、デフォルト設定を明示的に変更する必要があります。
NSX-T 3.2.0でUEFIがサポートされました。レガシーBIOSへの設定変更が必要なのはNSX-T 3.2.0未満である事に注意ください。
NSX Edgeのインストール
ダウンロード
「My VMwareのNSX-T ダウンロードページ」へアクセスします。「VMware NSX-T Data Center 3.1.2」の「ダウンロードする」を押下します。
「NSX Edge for Bare Metal」の「今すぐダウンロード」を押下します。
インストール準備
さきほどダウンロードしたISOファイルから起動するようにします。設定方法はメーカーごとに異なるため説明を省略します。以下スクリーンショットはHPE Proliant DL360 G9の場合のものです。
ISOファイルをマウントします。
必要に応じてboot先を変更してください。設定方法はメーカーごとに異なるため説明を省略します。以下スクリーンショットはHPE Proliant DL360 G9の場合のものです。
以下スクリーンショットはCD-ROMから起動する例です。
インストール
「Automated install」か「Interactive install」か、どちらかのインストール方法を選択します。このページでは「Interactive install」を説明します。
ここで紫色の画面が表示された場合は、UEFIになっている可能性があります。起動方法を「UEFI」から「レガシーBIOS」に変更してください。
キーボードを自動検出するか否かを選択します。日本語キーボードの場合はうまく自動検出できないことが多いので「No」がオススメです。
キーボードを選択します。
管理用IPアドレスを付与するNICを選択します。
前述のNICにvlanタグを付与するかどうかを聞かれます。タグを付与しないならば「No」を選びます。
前述の指定したNICとvlanの設定を用いてDHCPでIPアドレスを取得できるかどうかを試みています。もし、DHCPが存在しない環境ならば、「Cancel」を押下することで待ち時間をスキップできます。
DHCPによるIPアドレス取得不能の旨のメッセージが表示されます。「Continue」を押下します。
「Configure network manually」を選びます。
IPアドレスを入力します。
デフォルトゲートウェイを入力します。
DNSサーバを入力します。最大で3台まで入力可能で、複数を入力する場合はスペースで区切ります。
ホスト名を入力します。
もし、kickstartファイルを使ったインストールをするならば、そのURLを指定します。このページではkickstartの説明は対象外としますので、デフォルトで入力されている「http://」を削除してブランクにした状態に変更してから、「Continute」を押下します。
複数ディスク構成の場合は、インストール先のディスクを選びます。
インストールが完了するまで待ちます。
boot loaderのインストール先を選びます。多くの場合は1番目の/dev/sdaなどが無難かでしょう。「Enter device manually」から「/dev/sda」に変更します。
boot loaderのインストール完了まで待ちます。インストール完了後、自動的に再起動されます。
インストール後の設定
初期パスワードの変更
初期状態ではrootユーザのパスワードは「vmware」で、adminユーザのパスワードは「default」です。
初回ログイン後はパスワードの変更を求められます。パスワードは12文字以上との要件がありますので、要件を満たすパスワードを入力してください。なお、英字キーボードになっていますので、特殊文字を使うときは注意が必要です。例えば、「@」を入力したいならば「Shift + 2」です。
以下スクリーンショットはrootユーザでログインし、rootパスワードを変更したときの操作です。
さらに「passwd admin」コマンドでadminユーザを変更します。
NSX EdgeはUbuntu18をベースに作られたOSですので、基本操作はUbuntuと同じです。
root@nsx-edge182:~# passwd admin New password: Retype new password: passwd: password updated successfully root@nsx-edge182:~#
パスワード有効期限の指定
以下の通り、デフォルト設定ではNSX-Tのrootユーザ, adminユーザ共にパスワード有効期限は90日に設定されています。
root@nsx-edge182:~# chage -l admin Last password change : Aug 25, 2021 Password expires : Nov 23, 2021 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7 root@nsx-edge182:~#
adminユーザにスイッチした後、以下のコマンドでパスワード有効期限を変更できます。指定可能な有効期限日数は1日から9999日までの範囲です。
set user root password-expiration 9999 set user admin password-expiration 9999
設定変更が反映された事を確認します。
root@nsx-edge182:~# chage -l root Last password change : Aug 25, 2021 Password expires : Jan 09, 2049 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 9999 Number of days of warning before password expires : 7 root@nsx-edge182:~# chage -l admin Last password change : Aug 25, 2021 Password expires : Jan 09, 2049 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 9999 Number of days of warning before password expires : 7 root@nsx-edge182:~# su - admin NSX CLI (Edge 3.1.3.0.0.18329008). Press ? for command list or enter: help nsx-edge182> nsx-edge182> get user root password-expiration Thu Sep 16 2021 UTC 05:48:32.587 Password expires 9999 days after last change. Current password will expire in 9977 days. nsx-edge182> get user admin password-expiration Thu Sep 16 2021 UTC 05:48:47.583 Password expires 9999 days after last change. Current password will expire in 9977 days.
sshdの起動
adminユーザにスイッチした後、以下のコマンドでsshの起動しさらに自動起動を有効にします。
start service ssh set service ssh start-on-boot
ssh起動後、NSX Edgeへsshによるログインが可能になったことを確認します。
root sshログインの許可
root sshを許可する方法は一般的なLinuxディストリビューションと同じです。rootユーザで/etc/ssh/sshd_configを編集し、PermitRootLoginをyesに変更します。
# vim /etc/ssh/sshd_config <omitted> # Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes MaxAuthTries 3 MaxSessions 2
systemctlコマンドで設定を反映させます。
systemctl restart ssh
データプレーン用 NIC登録
NSX EdgeのNICをデータプレーン用として設定します。eth0は管理用ですので、残りのeth1, eth2, eth3をデータプレーン用として使用します。
データプレーン用として使用するNICはインターフェース名やインターフェース番号ではなく、PCIアドレスで指定する必要があります。PCIアドレスを調べるには、rootユーザでlspciコマンドなどを使用します。使用例は以下の通りです。
root@nsx-edge:~# lspci -D | egrep -i "Network|Ethernet" 0000:03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 0000:0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 0000:13:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 0000:1b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) root@nsx-edge:~#
adminユーザならば、get dataplane device list コマンドでもPCIアドレスを調べる事ができます。
nsx-edge> get dataplane device list System datapath-supported devices: 0000:03:00.0 - VMXNET3 Ethernet Controller | Vendor: VMware ^ Kernel interfaces detected: eth0 0000:0b:00.0 - VMXNET3 Ethernet Controller | Vendor: VMware 0000:1b:00.0 - VMXNET3 Ethernet Controller | Vendor: VMware 0000:13:00.0 - VMXNET3 Ethernet Controller | Vendor: VMware Thu May 13 2021 UTC 15:33:22.087 nsx-edge>
「set dataplane device list」コマンドでNICをデータプレーン用として登録します。複数のNICを指定する場合は、カンマ区切りで指定します。成功した場合は「Grub config is good」と表示されます。
サポートされないハードウェアを登録しようとした場合は「Host is not configured with supported network device.」と表示されます。
nsx-edge> set dataplane device list 0000:0b:00.0,0000:13:00.0,0000:1b:00.0 [sudo] password for admin: Updating custom NIC list... WARNING: 0000:0b:00.0 is not bound to any linux driver WARNING: 0000:13:00.0 is not bound to any linux driver WARNING: 0000:1b:00.0 is not bound to any linux driver INFO: Config was written to: /config/vmware/edge/config.json INFO: Grub backup already exists. Skipping. INFO: Grub config is good. nsx-edge>
再起動で設定を反映させます。
nsx-edge> restart service dataplane nsx-edge>
「get interface」コマンドでNIC一覧を表示すると、設定前はeth1, eth2, eth3と表示されていたNICがfp-eth0, fp-eth1, fp-eth2に変わっていることが分かります。
nsx-edge> get interfaces Thu May 13 2021 UTC 15:33:36.078 Interface: bond0 Address: unknown MAC address: d2:f3:95:c7:ff:5e MTU: 1500 Broadcast address: None KNI: False Bond mode: ACTIVE_BACKUP Bond primary slave: None Bond currently active slave: None Bond slaves: Link status: down Admin status: down RX packets: 0 RX bytes: 0 RX errors: 0 RX dropped: 0 TX packets: 0 TX bytes: 0 TX errors: 0 TX dropped: 0 TX collisions: 0 Interface: eth0 Address: 192.168.1.133/24 MAC address: 00:50:56:89:7c:3c MTU: 1500 Default gateway: 192.168.1.1 Broadcast address: 192.168.1.255 Plane: mgmt KNI: False Link status: up Admin status: up RX packets: 613 RX bytes: 49801 RX errors: 0 RX dropped: 0 TX packets: 336 TX bytes: 37873 TX errors: 0 TX dropped: 0 TX collisions: 0 Interface: fp-eth0 ID: 0 Link status: up MAC address: 00:50:56:89:9e:86 MTU: 1500 PCI: 0000:0b:00:00 Offload Capabilities: TX_VLAN_INSERT TX_UDP_CKSUM TX_TCP_CKSUM TX_TCP_TSO RX_VLAN_STRIP RX_IPV4_CKSUM RX_UDP_CKSUM RX_TCP_CKSUM RX_TCP_LRO Polling Status: active Driver: net_vmxnet3 Rx queue: 2 Tx queue: 2 Socket: 0 RX packets: 64 RX bytes: 7807 RX errors: 0 RX badcrc: unknown RX badlen: unknown RX misses: 0 RX nombufs: 0 RX pause xoff: unknown RX pause xon: unknown TX packets: 0 TX bytes: 0 TX errors: 0 TX pause xoff: unknown TX pause xon: unknown Interface: fp-eth1 ID: 1 Link status: up MAC address: 00:50:56:89:1a:4c MTU: 1500 PCI: 0000:13:00:00 Offload Capabilities: TX_VLAN_INSERT TX_UDP_CKSUM TX_TCP_CKSUM TX_TCP_TSO RX_VLAN_STRIP RX_IPV4_CKSUM RX_UDP_CKSUM RX_TCP_CKSUM RX_TCP_LRO Polling Status: active Driver: net_vmxnet3 Rx queue: 2 Tx queue: 2 Socket: 0 RX packets: 60 RX bytes: 7567 RX errors: 0 RX badcrc: unknown RX badlen: unknown RX misses: 0 RX nombufs: 0 RX pause xoff: unknown RX pause xon: unknown TX packets: 0 TX bytes: 0 TX errors: 0 TX pause xoff: unknown TX pause xon: unknown Interface: fp-eth2 ID: 2 Link status: up MAC address: 00:50:56:89:84:e7 MTU: 1500 PCI: 0000:1b:00:00 Offload Capabilities: TX_VLAN_INSERT TX_UDP_CKSUM TX_TCP_CKSUM TX_TCP_TSO RX_VLAN_STRIP RX_IPV4_CKSUM RX_UDP_CKSUM RX_TCP_CKSUM RX_TCP_LRO Polling Status: active Driver: net_vmxnet3 Rx queue: 2 Tx queue: 2 Socket: 0 RX packets: 56 RX bytes: 7327 RX errors: 0 RX badcrc: unknown RX badlen: unknown RX misses: 0 RX nombufs: 0 RX pause xoff: unknown RX pause xon: unknown TX packets: 0 TX bytes: 0 TX errors: 0 TX pause xoff: unknown TX pause xon: unknown
補足説明
仮想マシンを使用した操作練習
ベアメタル版NSX Edgeはハードウェア要件が厳しく、実機を使った操作練習をすることは難しい状況です。しかし、仮想マシンを使えば、ベアメタルほどの性能は担保できないものの、操作の練習だけならば十分に可能です。以下、仮想マシンを使ったベアメタル版NSX Edgeのインストール操作を練習する方法を説明します。
まず仮想マシンを作成します。
将来の仕様変更の可能性はありますが、NSX Edge 3.1.2時点ではUbuntu18をベースにしたOSです。どのOSをベースにしているかは仮想マシン版のNSX Edgeを構築してみて、「/etc/os-release」などのファイルからベースとなるOSを調べると良いでしょう。「ゲストOSのバージョン」は「Ubuntu 18 (64bit)」に一番近いものを選びます。
root@nsx-edge182:~# cat /etc/os-release NAME="Ubuntu" VERSION="18.04.4 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.4 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic
仮想マシン版 NSX Edge同等以上のメモリ, CPU, ディスクリソースを割り当てます。
NSX Edgeのインストーラーのisoファイルをマウントします。
仮想マシン起動後は、ベアメタル版とほぼ同じ操作画面が出力されます。
起動方法の変更
NSX Edgeの起動はUEFIではなくレガシーBIOSが推奨されています。レガシーBIOSを設定する方法は、メーカー依存、ハードウェア世代依存が強い操作ですが、参考情報として、HPE Proliant DL360 G9の場合の操作例を紹介します。
起動時に「F9(System Utilities)」を押下します。
「System Configuration」を選びます。
「BIOS/Platform Configuration (RBSU)」を選びます。
「Boot Options」を選びます。
「Boot Mode」を選びます。
「Leagecy BIOS Mode」に変更します。
UEFIの場合の操作画面
「レガシーBIOS」ではなく、非推奨の「UEFI」を使用した場合は、全体的に崩れた画面が表示されます。もし、以下のような画面が現れた場合は、BIOSの設定誤りの可能性を疑ってください。
「Automated install」か「Interactive install」かの選択画面でNSXのロゴが表示されていません。
全体的に紫基調の画面が表示されます。