問題
Cisco の UCS C220 M4S に VMware ESXi6.5(Custom)をインストールしたところ、ネットワークアダプタへ割り当てるデバイス名(vmnicN:N は整数)が予期せぬ形となる問題に遭遇しました。
KB2091560を参考に、デバイス名の割り当てを変更する等色々試しましたが正攻法では回避できず、以下の対策でのみ解決することができました。本対策の妥当性については、今後メーカへ確認予定です。
ESXi6.5 新規インストール後の問題
ESXi のバージョン確認
~ # esxcli system version get Product: VMware ESXi Version: 6.5.0 Build: Releasebuild-5310538 Update: 0 Patch: 19
インターフェース構成の確認
~ # esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description M1-1 -> vmnic0 0000:06:00.0 igbn Up 1000Mbps Full a0:36:9f:8d:05:4c 1500 Intel Corporation I350 Gigabit Network Connection M1-2 -> vmnic1 0000:06:00.1 igbn Down 0Mbps Half a0:36:9f:8d:05:4d 1500 Intel Corporation I350 Gigabit Network Connection M2-1 -> vmnic2 0000:81:00.0 igbn Up 1000Mbps Full a0:36:9f:8f:7a:60 1500 Intel Corporation I350 Gigabit Network Connection M2-2 -> vmnic3 0000:81:00.1 igbn Down 0Mbps Half a0:36:9f:8f:7a:61 1500 Intel Corporation I350 Gigabit Network Connection M2-3 -> vmnic4 0000:81:00.2 igbn Down 0Mbps Half a0:36:9f:8f:7a:62 1500 Intel Corporation I350 Gigabit Network Connection M2-4 -> vmnic5 0000:81:00.3 igbn Up 1000Mbps Full a0:36:9f:8f:7a:63 1500 Intel Corporation I350 Gigabit Network Connection LOM1 -> vmnic6 0000:01:00.0 igbn Up 1000Mbps Full 00:35:1a:10:44:0e 1500 Intel Corporation I350 Gigabit Network Connection LOM2 -> vmnic7 0000:01:00.1 igbn Up 1000Mbps Full 00:35:1a:10:44:0f 1500 Intel Corporation I350 Gigabit Network Connection M1-3 -> vmnic8 0000:06:00.2 igbn Down 0Mbps Half a0:36:9f:8d:05:4e 1500 Intel Corporation I350 Gigabit Network Connection M1-4 -> vmnic9 0000:06:00.3 igbn Up 1000Mbps Full a0:36:9f:8d:05:4f 1500 Intel Corporation I350 Gigabit Network Connection
通常では以下のとおり割り当てられますが、上記のとおり想定外の割り当てとなります。
- LOM1 -> vmnic0(LOM1 はオンボード NIC1 の略称)
- LOM2 -> vmnic1(LOM2 はオンボード NIC2 の略称)
- M1-1~4 -> vmnic2~5(M1 はスロット1に挿入されたメザニンカードの略称)
- M1-2~4 -> vmnic6~9(M2 はスロット2に挿入されたメザニンカードの略称)
ネットワークアダプタとエイリアス名の割り当てを表示(上記同様にバラバラです。)
~ # localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep vmnic | grep -v logical M1-1 -> pci p0000:06:00.0 vmnic0 M1-2 -> pci p0000:06:00.1 vmnic1 M2-1 -> pci p0000:81:00.0 vmnic2 M2-2 -> pci p0000:81:00.1 vmnic3 M2-3 -> pci p0000:81:00.2 vmnic4 M2-4 -> pci p0000:81:00.3 vmnic5 LOM1 -> pci s00000000.00 vmnic6 LOM2 -> pci s00000000.01 vmnic7 M1-3 -> pci s00000000.02 vmnic8 M1-3 -> pci s00000000.03 vmnic9
回避策
本事象は、ESXi5.1では発生せず、またKB2091560にも記載があるとおり、ESXi のアップデートをしてもアップデート前に割り当てたデバイス名は維持されるため、ESXi6.5 を新規インストールせず、5.1からアップデートします。(以下 KB 抜粋)
Upgrades from one release of ESXi to the next, including autodeploy configurations, do not change the aliases previously assigned to the system's ports. This includes upgrading from prior releases to ESXi 5.5 and later.
ESXi5.1 新規インストール後の状態
ESXi のバージョン確認
~ # esxcli system version get Product: VMware ESXi Version: 5.1.0 Build: Releasebuild-2323236 Update: 3
インターフェース構成の確認
~ # esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description LOM1 -> vmnic0 0000:01:00.0 igbn Up 1000Mbps Full 00:35:1a:10:44:0e 1500 Intel Corporation I350 Gigabit Network Connection LOM2 -> vmnic1 0000:01:00.1 igbn Up 1000Mbps Full 00:35:1a:10:44:0f 1500 Intel Corporation I350 Gigabit Network Connection M1-1 -> vmnic2 0000:06:00.0 igbn Up 1000Mbps Full a0:36:9f:8d:05:4c 1500 Intel Corporation I350 Gigabit Network Connection M1-2 -> vmnic3 0000:06:00.1 igbn Down 0Mbps Half a0:36:9f:8d:05:4d 1500 Intel Corporation I350 Gigabit Network Connection M1-3 -> vmnic4 0000:06:00.2 igbn Down 0Mbps Half a0:36:9f:8d:05:4e 1500 Intel Corporation I350 Gigabit Network Connection M1-4 -> vmnic5 0000:06:00.3 igbn Up 1000Mbps Full a0:36:9f:8d:05:4f 1500 Intel Corporation I350 Gigabit Network Connection M2-1 -> vmnic6 0000:81:00.0 igbn Up 1000Mbps Full a0:36:9f:8f:7a:60 1500 Intel Corporation I350 Gigabit Network Connection M2-2 -> vmnic7 0000:81:00.1 igbn Down 0Mbps Half a0:36:9f:8f:7a:61 1500 Intel Corporation I350 Gigabit Network Connection M2-3 -> vmnic8 0000:81:00.2 igbn Down 0Mbps Half a0:36:9f:8f:7a:62 1500 Intel Corporation I350 Gigabit Network Connection M2-4 -> vmnic9 0000:81:00.3 igbn Up 1000Mbps Full a0:36:9f:8f:7a:63 1500 Intel Corporation I350 Gigabit Network Connection
上記のとおり想定どおりの割り当てとなります。
ESXi5.1 から 6.0U2 へアップデート
ESXi5.1 から 6.5 のアップデートパスはないため、まずは 6.0U2 へアップデートします。
VMware のサイトからアップデートファイルをダウンロードし、SCP 等を利用して対象のホストへ転送します。
本例では、以下のパスへ配置します。
vmfs/volumes/datastore1/update/Vmware-ESXi-6.0.0-3620759-Custom-Cisco-6.0.2.2-Bundle.zip
アップデートファイルを確認
~ # esxcli software sources profile list -d /vmfs/volumes/datastore1/update/Vmware-ESXi-6.0.0-3620759-Custom-Cisco-6.0.2.2-Bundle.zip Name Vendor Acceptance Level ---------------------------------------------- ------ ---------------- Vmware-ESXi-6.0.0-3620759-Custom-Cisco-6.0.2.2 Cisco PartnerSupported
ESXi5.1 から 6.0U2 へアップデート実行
~ # esxcli software profile update -p Vmware-ESXi-6.0.0-3620759-Custom-Cisco-6.0.2.2 -d /vmfs/volumes/datastore1/update/Vmware-ESXi-6.0.0-3620759-Custom-Cisco-6.0.2.2-Bundle.zip Update Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: <...snip...>
再起動
~ # reboot
ESXi5.1 から 6.0U2 アップデート後の状態
ESXi のバージョン確認
~ # esxcli system version get Product: VMware ESXi Version: 6.0.0 Build: Releasebuild-3620759 Update: 2 Patch: 34
ESXi6.0U2 から 6.5 へアップデート
アップデートファイルを確認
~ # esxcli software sources profile list -d /vmfs/volumes/datastore1/update/Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2.zip Name Vendor Acceptance Level ---------------------------------------------- ------ ---------------- Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2 Cisco PartnerSupported
ESXi6.0U2 から 6.5 へアップデート実行
~ # esxcli software profile update -p Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2 -d /vmfs/volumes/datastore1/update/Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2.zip [DependencyError] VIB Emulex_bootbank_scsi-be2iscsi_10.2.250.0-1OEM.500.0.0.472629 requires com.vmware.iscsi_linux-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile. VIB QLogic_bootbank_scsi-qla4xxx_634.5.26.0-1OEM.500.0.0.472560 requires com.vmware.driverAPI-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile. VIB Emulex_bootbank_scsi-be2iscsi_10.2.250.0-1OEM.500.0.0.472629 requires com.vmware.driverAPI-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile. VIB QLogic_bootbank_scsi-qla4xxx_634.5.26.0-1OEM.500.0.0.472560 requires com.vmware.iscsi_linux-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile. VIB Emulex_bootbank_scsi-be2iscsi_10.2.250.0-1OEM.500.0.0.472629 requires vmkapi_2_0_0_0, but the requirement cannot be satisfied within the ImageProfile. VIB QLogic_bootbank_scsi-qla4xxx_634.5.26.0-1OEM.500.0.0.472560 requires vmkapi_2_0_0_0, but the requirement cannot be satisfied within the ImageProfile. Please refer to the log file for more details. <...snip...>
依存関係のエラーがでましたが、本例では Emulex や Qlogic 社製のアダプタは使用していないので、以下のコマンドで強制的にアップデートを実行しました。
~ # esxcli software profile update -d /vmfs/volumes/datastore1/update/Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2.zip -p Vmware-ESXi-6.5.0-4564106-Custom-Cisco-6.5.0.2 -f Update Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: <...snip...>
再起動
~ # reboot
ESXi6.0U2 から 6.5 アップデート後の状態
ESXi のバージョン確認
~ # esxcli system version get Product: VMware ESXi Version: 6.5.0 Build: Releasebuild-4564106 Update: 0 Patch: 0
インターフェース構成の確認
~ # esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description LOM1 -> vmnic0 0000:01:00.0 igbn Up 1000Mbps Full 00:35:1a:10:44:0e 1500 Intel Corporation I350 Gigabit Network Connection LOM2 -> vmnic1 0000:01:00.1 igbn Up 1000Mbps Full 00:35:1a:10:44:0f 1500 Intel Corporation I350 Gigabit Network Connection M1-1 -> vmnic2 0000:06:00.0 igbn Up 1000Mbps Full a0:36:9f:8d:05:4c 1500 Intel Corporation I350 Gigabit Network Connection M1-2 -> vmnic3 0000:06:00.1 igbn Down 0Mbps Half a0:36:9f:8d:05:4d 1500 Intel Corporation I350 Gigabit Network Connection M1-3 -> vmnic4 0000:06:00.2 igbn Down 0Mbps Half a0:36:9f:8d:05:4e 1500 Intel Corporation I350 Gigabit Network Connection M1-4 -> vmnic5 0000:06:00.3 igbn Up 1000Mbps Full a0:36:9f:8d:05:4f 1500 Intel Corporation I350 Gigabit Network Connection M2-1 -> vmnic6 0000:81:00.0 igbn Up 1000Mbps Full a0:36:9f:8f:7a:60 1500 Intel Corporation I350 Gigabit Network Connection M2-2 -> vmnic7 0000:81:00.1 igbn Down 0Mbps Half a0:36:9f:8f:7a:61 1500 Intel Corporation I350 Gigabit Network Connection M2-3 -> vmnic8 0000:81:00.2 igbn Down 0Mbps Half a0:36:9f:8f:7a:62 1500 Intel Corporation I350 Gigabit Network Connection M2-4 -> vmnic9 0000:81:00.3 igbn Up 1000Mbps Full a0:36:9f:8f:7a:63 1500 Intel Corporation I350 Gigabit Network Connection
上記のとおり想定どおりの割り当てが維持されます。
ネットワークアダプタとエイリアス名の割り当てを表示(上記同様に維持されます。)
~ # localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep vmnic | grep -v logical LOM1 -> pci s00000000.00 vmnic0 LOM2 -> pci s00000000.01 vmnic1 M1-1 -> pci p0000:06:00.0 vmnic2 M1-2 -> pci p0000:06:00.1 vmnic3 M1-3 -> pci s00000000.02 vmnic4 M1-4 -> pci s00000000.03 vmnic5 M2-1 -> pci p0000:81:00.0 vmnic6 M2-2 -> pci p0000:81:00.1 vmnic7 M2-3 -> pci p0000:81:00.2 vmnic8 M2-4 -> pci p0000:81:00.3 vmnic9