vCenter Server によって生成された重複した MAC アドレスが仮想マシンにあると、パケットや接続が失われます。

問題

同じブロードキャスト ドメインまたは IP サブネット上の仮想マシンの MAC アドレスが競合しているか、新しく作成された仮想マシンの重複する MAC アドレスが vCenter Server によって生成されます。

仮想マシンはパワーオンし、正常に機能しますが、別の仮想マシンと MAC アドレスを共有しています。このような状況では、パケット ロスや他の問題が生じる場合があります。

原因

仮想マシンに重複する MAC アドレスが生成されるには、いくつかの原因があります。

  • 同一の ID を持つ 2 つの vCenter Server インスタンスによって、仮想マシン ネットワーク アダプタの重複する MAC アドレスが生成されます。

    vCenter Server インスタンスには 0 から 63 までの ID があります。この ID はインストール時にランダムに生成されますが、インストール後に再構成することもできます。vCenter Server はこのインスタンス ID を使用して、マシンのネットワーク アダプタ用の MAC アドレスを生成します。

  • パワーオフ状態にある仮想マシンが、たとえば共有ストレージを使用して、ある vCenter Server インスタンスから同一ネットワーク内の別のインスタンスに転送され、最初の vCenter Server の新しい仮想マシン ネットワーク アダプタが、解放された MAC アドレスを取得します。

解決方法

  • 仮想マシン ネットワーク アダプタの MAC アドレスを手動で変更します。
    競合する MAC アドレスを持つ既存の仮想マシンがある場合、 [仮想ハードウェア] 設定に一意の MAC アドレスを指定する必要があります。
    • 仮想マシンをパワーオフにし、手動で設定した MAC アドレスを使用するようにアダプタを構成して、新しいアドレスを入力します。
    • 構成を行うために仮想マシンをパワーオフできない場合、手動で設定した有効な MAC アドレス割り当てと競合しているネットワーク アダプタを再作成して、新しいアドレスを入力します。ゲスト OS で、再度追加されたアダプタに以前と同じ固定 ID アドレスを設定します。

    仮想マシンのネットワーク アダプタの構成については、vSphere のネットワークおよび vSphere の仮想マシン管理 ドキュメントを参照してください。

  • vCenter Server インスタンスによってデフォルトの割り当てである VMware OUI 割り当てに従って仮想マシンの MAC アドレスが生成される場合、vCenter Server インスタンス ID を変更するか、別の割り当て方法を使用して競合を解決します。
    注: vCenter Server インスタンス ID を変更したり、別の割り当て方法に切り替えたりしても、既存の仮想マシンで MAC アドレスの競合は解決されません。変更の後に作成された仮想マシン、または追加されたネットワーク アダプタのみが新しい方法に従ってアドレスを受け取ります。

    MAC アドレスの割り当て方法とセットアップの詳細については、vSphere のネットワークドキュメントを参照してください。

    解決方法 説明
    vCenter Server ID の変更

    デプロイに少数の vCenter Server インスタンスしか含まれていない場合、VMware OUI 割り当て方法をそのまま使用できます。この方法に従って、MAC アドレスには次の形式を使用できます。

    00:50:56:XX:YY:ZZ

    00:50:56 は VMware OUI を表し、XX は (80 + vCenter Server ID) として計算され、YY:ZZ はランダムな数字です。

    vCenter Server ID を変更するには、vCenter Server インスタンスの [全般] 設定から [ランタイム設定] セクションにある [vCenter Server の一意 ID] オプションを構成し、それを再起動します。

    VMware OUI 割り当ては最大 64 個の vCenter Server インスタンスで機能し、小規模なデプロイに適しています。

    プリフィックス ベースの割り当てへの切り替え

    カスタム OUI を使用できます。たとえば、02:12:34 のようなローカルで管理されているアドレス範囲の場合、MAC アドレスの形式は 02:12:34:XX:YY:ZZ です。4 番目のオクテット XX を使用して、vCenter Server インスタンスの間に OUI アドレス スペースを分散できます。この構造を使用すると、vCenter Server あたり約 65,000 個の MAC アドレスで、255 個のアドレス クラスタがそれぞれ別個に vCenter Server インスタンスによって管理されるようになります。たとえば、vCenter Server A は 02:12:34:01:YY:ZZ で、vCenter Server B は 02:12:34:02:YY:ZZ のようにします。

    より大規模なデプロイにはプリフィックス ベースの割り当てが適しています。

    グローバルで一意な MAC アドレスについては、OUI を IEEE で登録する必要があります。

    1. MAC アドレスの割り当てを構成します。
    2. 新しい MAC アドレスの割り当て方法を、[仮想ハードウェア] 設定の既存の仮想マシンに適用します。
      • 仮想マシンをパワーオフにし、手動で設定した MAC アドレスを使用するようにアダプタを構成して、自動 MAC アドレスの割り当てに戻し、仮想マシンをパワーオンにします。
      • 仮想マシンが本番環境にあり、構成を行うためにマシンをパワーオフできない場合は、vCenter Server ID またはアドレスの割り当て方法を変更した後に、有効な自動 MAC アドレス割り当てと競合しているネットワーク アダプタを再作成します。ゲスト OS で、再度追加されたアダプタに以前と同じ固定 ID アドレスを設定します。
  • データストアから仮想マシンファイルを使用して、vCenter Server インスタンス間で仮想マシンを転送するときに MAC アドレスの再生成を強制します。
    1. 仮想マシンをパワーオフし、それをインベントリから削除して、構成ファイル (.vmx) で ethernetX.addressType パラメータを generated に設定します。
      ethernet の横にある X は、仮想マシンの仮想 NIC のシーケンス番号を表します。
    2. ターゲット vCenter Server のデータストアから仮想マシンを登録することで、ある vCenter Server システムから別の vCenter Server に仮想マシンをインポートします。
      仮想マシン ファイルは、2 つの vCenter Server インスタンス間で共有されているデータストアに配置することも、ターゲット vCenter Server システムでのみアクセスできるデータストアにアップロードすることもできます。

      データストアからの仮想マシンの登録の詳細については、vSphere の仮想マシン管理を参照してください。

    3. 初めて仮想マシンをパワーオンにします。
      仮想マシンは起動していますが、 vSphere Web Client の仮想マシンに情報アイコンが表示されます。
    4. 仮想マシンを右クリックして、[ゲスト OS] > [質問への回答] を選択します。
    5. [コピーしました] オプションを選択します。
    ターゲット vCenter Server によって、仮想マシンの MAC アドレスが再生成されます。新しい MAC アドレスは VMware OUI 00:0c:29 で開始し、仮想マシンの BIOS UUID に基づいています。仮想マシンの BIOS UUID はホストの BIOS UUID から計算されます。
  • vCenter Server およびホストのバージョンが 6.0 以降であり、vCenter Server インスタンスが強化されたリンク モードで接続している場合、vMotion を使用して vCenter Server システム間で仮想マシンを移行します。
    vCenter Server システム間で仮想マシンが移行される場合、ソースの vCenter Server は仮想マシンの MAC アドレスを拒否リストに追加し、それらの MAC アドレスを別の仮想マシンに割り当てません。