ESXi で USB NIC を vDS / 分散ポートグループに接続していると、ESXi 再起動時にうまく再接続されないことが多いのではないかと思います。そして、ラボなどで USB NIC 1ポートのみの ESXi ホストを利用している場合は、vDS への再接続が面倒な手順になります。
先日の Japan VMUG Meeting でも この構成の問題について紹介 されていたので、私の自宅ラボでの工夫も紹介しておこうと思います。
今回の環境
vCenter / ESXi は、すこし古めです。
- 物理マシン: Intel NUC13ANHi5
- vCenter Server 7.0.3 21477706
- vDS バージョンは 7.0.0
- VMware ESXi 7.0.3 19482537
- USB NIC のドライバは、Flings で提供されている USB Network Native Driver for ESXi をインストール
- ESXi703-VMKUSB-NIC-FLING-55634242-component-19849370.zip
- USB NIC のドライバは、Flings で提供されている USB Network Native Driver for ESXi をインストール
ESXi には、USB NIC が 1ポートだけ(vusb0)認識されています。
そして、vDS(infra-vds-01)に接続されています。
USB NIC → vDS 接続 永続化の工夫
ESXi 再起動後に esxcfg-vswitch コマンドを実行することで、USB NIC を vDS に接続できます。私の自宅ラボでは、このコマンドを /etc/rc.local.d/local.sh ファイルに追記して設定を永続化しています。
1. esxcfg-vswitch コマンドを /etc/rc.local.d/local.sh に追記
vDS の管理操作は、基本的に vCenter から実行します。しかし、ESXi のシャットダウン前に vDS 接続されていた pNIC であれば、ESXi の esxcfg-vswitch コマンドで作成ずみ分散ポートに再接続できます。
コマンド実行では vDS の分散ポート ID が必要になるので、下記のコマンドなどで確認しておきます。下記の例では、「Client: vusb0」が接続されているポートの ID が 5046675 であることが確認できます。
[root@infra-esxi-04:~] esxcli network vswitch dvs vmware list infra-vds-01 Name: infra-vds-01 VDS ID: 50 01 a3 98 ec 15 9d 41-70 f9 74 4f b3 1b 66 06 Class: cswitch Num Ports: 2560 Used Ports: 6 Configured Ports: 512 MTU: 1600 CDP Status: listen Beacon Timeout: -1 Uplinks: vusb0 VMware Branded: true DVPort: Client: vusb0 DVPortgroup ID: dvportgroup-12 In Use: true Port ID: 5046675 Client: vmk0 DVPortgroup ID: dvportgroup-14 In Use: true Port ID: 49 Client: vmk1 DVPortgroup ID: dvportgroup-284 In Use: true Port ID: 16 Client: vmk2 DVPortgroup ID: dvportgroup-285 In Use: true Port ID: 24
esxcfg-vswitch コマンドのオプションは、次のように指定します。
esxcfg-vswitch -P <ポート名> -V <分散ポート番号> <vDS名>
今回の環境では次のコマンドになります。
esxcfg-vswitch -P vusb0 -V 5046675 infra-vds-01
/etc/rc.local.d/local.sh ファイルに、esxcfg-vswitch コマンドを追記します。(14行目)
このファイルは、ESXi の起動時に自動実行されるスクリプトです。
ちなみに KB1008127 で紹介されている手順では、ESXi の管理サービスを再起動しないと反映されないこともあるようですが、私の環境では今のところ esxcfg-vswitch 実行のみで問題なく動作している気がします・・・
2. ESXi でのセキュア ブート無効化
/etc/rc.local.d/local.sh ファイル自体にも記載がありますが、このスクリプトは ESXi でのセキュア ブートが有効になっていると実行されません。
そこで、Intel NUC の ESXi を再起動 → F2 キーで UEFI を起動し、セキュア ブートを無効にしておきます。
BIOS バージョンでメニューが変わることがありますが、Advanced → Boot → Secure Boot あたりにあるはず・・・
これで、ESXi 再起動時に USB NIC が vDS に自動接続されるはずです。
以上、USB NIC を利用している自宅ラボの備忘でした。