3つのホストで構成されるHyperVクラスターがあります。各ホストは、イーサチャネルで実行されている両方のNexus5548スイッチに接続されています。スイッチのLACPとNICサーバー側のBroadcom 802.3adを使用したチーミング。これにより、2GBの帯域幅が得られ、フォールトトレランスも提供されます。
ライブマイグレーションを実行すると、問題が発生します。ライブマイグレーションの前に、両方のNexusスイッチがARPテーブルにVMのMACを表示します。マイグレーション後、一方のスイッチがVM)のMACを表示し、もう一方のスイッチが移動先のHyperVホストのMACを示します。
パケットキャプチャを実行したところ、HyperVホストがVMのMACではなくVM)のIPとホストのMACを使用してGratuitousARPを送信するのがわかりました。これによりレイヤー3接続が失われます。スイッチからARPエントリを手動でクリアするか、ARPエントリが修正されるまで約7分待つ必要があります。
Broadcomを使用したNICチーミング)を扱うときに、周りを見回したところ、同様の問題が発生しています。誰かこれを見たことはありますか?アドバイスはありますか?
--------編集を以下に追加
Link Aggregation 802.3adを使用してチーム化したときにのみ、この問題が発生します。 Broadcomのチーム化オプションは...
スマートロードバランシングに切り替えたところ、ネットワーク接続を失うことなくVM Live Migrates)になりました。ただし、NexusスイッチのARPテーブルは同期していますが、ホストのMACアドレスが表示され、 VM。これは私が思っていたのとは逆です。スイッチのARPテーブルにVMのMACを表示するべきではありませんか?そうでない場合、ホストのMACを表示することになっています。なぜですか。
はい。 3週間にわたる激しい戦いの末、ようやくすべてを理解することができました。
Broadcomのサポートを利用してケースをオープンしました。数日間行ったり来たりした後、Broadcomソフトウェア開発者から受け取った返答です。
多くのネットワークでは、リモートステーションまたはスイッチで(vm_ipv4、Host_mac_addr)または(vm_ipv6、Host_mac_addr)のペアを確認しても問題ありません。 Baspはアドレスの多重化を処理し、VMが正しいパケットを取得することを確認します。
ただし、いくつかのネットワーク構成では、vm_mac_addrにマップするためにIPアドレスが必要です。 Host_mac_addrの代わりにvm_mac_addrを使用する場合は、以下にリストされているHyperVModeレジストリキーを追加する必要があります。
Vmのmacアドレスを多重化しない、つまりnicのmacアドレスに置き換えないようにする場合は、vmが実行されているホストに次のレジストリエントリを設定し、システムを再起動して取得する必要があります。効果。このレジストリエントリを設定すると、baspによる操作の効率が低下しますが、IPアドレスを割り当てるためにVMのMACアドレスを使用する必要があるDHCPサーバーがある場合など、特定の設定で必要になります。このレジストリエントリを設定すると、VMが接続されているすべてのリモートステーションのarpテーブルに実際のVMのMACアドレスも表示されます。
この登録エントリは、チームが作成された後、チームを使用するhyper-v仮想アダプターが作成される前に追加できます。値が1の場合、負荷分散が流れるときに、slbチームのnicのMACアドレスではなくvmのMACアドレスを使用するようにbaspが構成されます。値が0の場合、または存在しない場合は、チーム内のNICの1つのMACアドレスを使用してVMのMACアドレスをマルチプレクサ/デマルチプレクサするようにbaspを構成します。
レジストリパスの「1」を、このモードを適用する正しいチーム番号に設定し、システムを再起動します。このレジストリエントリは、チームが削除されると削除され、チームが作成されるたびに再作成する必要があることに注意してください。 BACSの将来のバージョンには、このレジストリエントリを設定するチェックボックスがあり、チームが作成されてシステムを再起動する必要があるときに、このエントリを追加する必要がなくなります。このレジストリエントリは、> = basp6-1.5.1でのみ使用できます。
Windowsレジストリエディタバージョン5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Blfp\Parameters\1] "HyperVMode" = dword:00000001
PS。このレジストリエントリは> = basp6-1.5.1でのみ利用可能であることに加えて、slbチームタイプにのみ適用可能であり、lacpまたはgecチームには適用されません。
それで、私はそれを試してみました。まず、レジストリキーを作成して適用しました。次に、仮想スイッチをプライベート仮想マシンネットワークモードに変更しました。サーバーをすばやく再起動しました。最後に、サーバーがオンラインに戻ったときに、仮想スイッチをエクスターナルモードに戻し、BASP仮想アダプターを選択しました。ライブマイグレーションをテストしたところ、すべてが完全に機能し、NexusのARPテーブルにVM_IPとVM-MACが表示されました。 YEY !!!!
これがSCVMM内の設定です。ホストのトランクモードをオンにするまで、私はあなたのような問題を抱えていました。 SCVMMのホストを右クリックした場合->プロパティ->ネットワークタブ