内容

概要

背景説明

VMWare OSシステムへの影響

解決方法

回避策

不具合

概要

このドキュメントでは、さまざまな第3世代Cシリーズ仮想インターフェイスカード(VIC)アダプタのネットワークインターフェイスカード(NIC)のリオーダーの問題について説明します。動作の変化は、仮想ネットワークインターフェイスカード(VNIC)/仮想ホストバスアダプタ(vHBA)の配置、デバイスの順序、Peripheral Component Interconnect(PCI)の列挙を参照して認識され、さまざまなオペレーティングシステム(OS)からPCIの再順序の問題が発生します。

背景説明

この問題の原因は次のとおりです。

- vNICの追加/削除

- サーバのリブート

- サーバのアップグレード

この問題は、BIOS、ファームウェア、パッチアップグレードを適用した後、または新しいNICを追加するために発生するNIC列挙が原因です。

外部にネットワーク通信を提供する仮想スイッチ(vSwitch)は、仮想マシンネットワークインターフェイスコントローラ(VMNIC)名に基づいて設定されます。すべてのNICの名前が変更されると、vSwitchは存在しなくなったインターフェイスにパケットをルーティングします。

Unified Computing System Manager(UCSM)は、VIC13XXホストポートを扱う場合の標準のロードバランスアルゴリズムに従います。

次の点に注意してください。

1. vNICの総数は、相対的なキャパシティ比率に比例して分配されます。

2. システムは、vNICの容量が大きいアダプタカードに多くのvNICを配置し、容量が小さいアダプタカードに少ないvNICを配置しようとします。その結果、実際の配置がvNICに適切に割り当てられ、vNICは目的のPeripheral Component Interconnect(PCIe)アダプタカードにマッピングされます。この配置は、実際の順序で行われます。

3. Mixed-Mezz設定の場合、すべてのアダプタカードが必要な機能をサポートしている限り、負荷分散アルゴリズムにより、少なくとも1つのvNICと1つのvHBAが各アダプタカードに配置されます。

VMWare OSシステムへの影響

PCI IDとVMNICの番号関係はブート時に決定され、持続性を確保するために/etc/vmware/にあるesx.confファイルに自動的に入力されます。ESX/ESXiホストは、最初にセグメント番号、次にバス番号、スロット番号、最後に機能番号をスキャンします。この順序により、同じマルチポートNIC上のポートに順番に番号が付けられます。

ESXi/ESXがインストールされると、VMNICの順序は順番に並びます。NICが取り外され、他のNICが追加されると、この変化は時間とともに起こります。その結果、VMNICの順序は望ましくなく、他のESX/ESXiホストの命名規則と同期しません。

ESXiがVMNICおよびvHBAデバイスを列挙する際に、必ずしもPCIアドレスの順序に従うとは限りません。初期インストールでは、PCIアドレスに従います。ただし、デバイスが削除されて追加されると、順序を処理する特定のアルゴリズムが存在します。これにより、サービスプロファイルとOSの間でVNIC/vHBA注文が誤ったり、同期しなくなる可能性があります。

VMware KBを参照：http://kb.vmware.com/kb/2019871

ESXi 5.5および6.0では、これらの症状が続く場合でも、注文アルゴリズムが変更されています。http://kb.vmware.com/kb/ 2091560を参照してください。

解決方法

初期インストール時に、新しい名前スキームは物理ロケーションによって予測可能な順序で名前を割り当てようとします。その後、システムに他のデバイスを追加または削除しても、デバイスの名前が安定します。インストール時には、通常、システムのマザーボードに統合されたデバイスは、その出力ポートがシステムのケースで番号が付けられた順に、最も小さい番号の名前を受け取り、プラグ可能なスロットにあるデバイスは、ケースで番号が付付付付次がき。このプロセスでは、ドライバが見つからないデバイスは無視されます。

回避策

この問題は、次のソリューションで解決できます。

ステップ1:ESXiの再インストール。

ステップ2:ESXi Secure Shell(SSH)からの順序の変更を手動で修正します。

ステップ3:UCSMでvNIC/vHBA配置ポリシーを作成します。

ステップ2:ESXi SSHからの再発注を手動で修正します（SSHを使用）。

1.図に示すように、サーバのUCSM GUIからMACアドレスマッピングを取得します。

2. ESXi CLIからMACアドレスマッピングを取得します。

[root@ucs-116:~] esxcli network nic list

3. UCSMからのMACアドレスがesxcli network nicリストの出力と一致するかどうかを確認します。

この出力では、MACアドレスが一致せず、vmnic2とvmnic4が入れ替えられました。これは、PCIバスの再順序付けの問題が原因です。

4. esxcliでPCIバスの順序を確認します。

localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep -i vmnic | sort -k3

vmnic2とvmnic4の間のPCIバスの順序がスワップされました。

5. PCIバス番号をメモし、次のコマンドを使用して順序を変更します。

localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias

vmnic2 --bus-address s00000000:05.00 --bus-type pci

localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias

vmnic4 --bus-address s00000000:07.00 --bus-type pci

6.再起動し、ホストが起動したら、PCIの順序とNICのリストを確認します。

PCIの再発注を正しく修正しました。

ステップ3:UCSMでのvNIC/vHBA配置ポリシーの作成

UCSMで、[Service Profile] > [Network] > [Modify vNIC/vHBA Placement]に移動します。

1.初期インストール時：図に示すように[Modify vNIC/vHBA Placement Policy]に移動します。

2.現在、管理ホストポートがANYと表示されています。これはラウンドロビン割り当てで、ホストポート1にvnic0、ホストポート2にvnic1を配置します。サービスプロファイルに2つのvNICを追加する場合は、最初に既存のvNICの割り当てホストポートと一致します。

3.次に、新しいvNICをホストポート2のみに追加します。これにより、既存のvNICのPCIアドレスが保持され、再割り当てが行われなくなります。

注：これで、ホストポート1に1つのvNICが、ホストポート2に3つのvNICが割り当てられました。ロードバランシングのポイントは、負荷と帯域幅が均等に分散されるようにすることです。1つのホストポートの負荷が高い場合、パフォーマンスや帯域幅に影響を与える可能性があります。追加のvNICを2つ以上作成する必要がある場合は、ホストポートを均等に分散させるために、OSの再インストールを計画することをお勧めします。

不具合

- CSCut78943:VIC1340/1380（vNICとvHBAの不適切な配置順序）。

- CSCuv19605：接続ポリシーを使用すると、vNICのホストポートを設定できない。

機能拡張不具合が提出されました。HXインストーラは、PCI NICの再順序付けを回避するために、vNIC/vHBA配置ポリシーを作成する必要があります。

注：vCON配置ポリシー(vCONまたは管理ホストポート)を変更すると、PCIe列挙が異なる場合があります。vCON1 vNICは、vCON2 vNICの前に列挙されています。