vm.gowatana.jp

NEOにほんごVMware(仮)

Single USB NIC + vDS 構成 ESXi ホストの pNIC 接続永続化。(ESXi 7.0 U3l)

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

 

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 の起動時に自動実行されるスクリプトです。

gist.github.com

 

ちなみに 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 を利用している自宅ラボの備忘でした。