NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

UCS へ ESXi6.5 をインストールした際に発生した問題について

問題

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