SR-IOV 対応仮想マシンのゲスト OS で MAC アドレスを変更すると、仮想マシンの接続が切断されます。
問題
仮想マシンのネットワーク アダプタを SR-IOV 仮想機能 (VF) に接続するときに、仮想マシンのパススルー ネットワーク アダプタを作成します。ゲスト OS の (VF) ドライバでパススルー ネットワーク アダプタの MAC アドレスを変更すると、変更には成功したが仮想マシン ネットワーク アダプタの接続が切断されたということがゲスト OS に表示されます。ゲスト OS には新しい MAC アドレスが有効になっていることが示されますが、/var/log/vmkernel.log ファイルのログ メッセージには操作が失敗したことが示されます。
Requested mac address change to new MAC address on port VM NIC port number, disallowed by vswitch policy.
条件は: 「
- new MAC address は、ゲスト OS の MAC アドレスです。
- VM NIC port number は、仮想マシン ネットワーク アダプタの 16 進数形式のポート番号です。
原因
パススルー ネットワーク アダプタが接続されるポート グループのデフォルトのセキュリティ ポリシーでは、ゲスト OS の MAC アドレスの変更は許可されていません。そのため、ゲスト OS のネットワーク インターフェイスでは、IP アドレスを取得できず接続が切断されます。
解決方法
- ♦ パススルー ネットワーク アダプタで有効な MAC アドレスを再取得できるようにゲスト OS でインターフェイスをリセットします。DHCP を使用してアドレスを割り当てるようにインターフェイスが構成されている場合は、インターフェイスで IP アドレスが自動的に取得されます。
たとえば、Linux 仮想マシンで ifconfig コンソール コマンドを実行します。
ifconfig ethX down ifconfig ethX up
ここで、
ethX
の X は、ゲスト OS の仮想マシン ネットワーク アダプタのシーケンス番号を表します。