Hyper-V VM に割り当てられる MAC アドレスは、Hyper-V がインストールされた時の IPv4 アドレスを使って構成されます。
複数 NIC を持っていているとかで、複数の IPv4 アドレスを持っている場合はいる場合は、そのうち1つが選択されます。
Hyper-V VM MAC Address 体系
オクテット位置 | 意味 |
1-3 | MS のベンダーコード 00-15-5d 固定 |
4 | Hyper-V ホスト IPv4 アドレスの第3オクテット |
5 | Hyper-V ホスト IPv4 アドレスの第4オクテット |
6 | 連番 |
例えば、172.16.58.52 の IPv4 アドレスを持っている環境に Hyper-V
をインストールすると、00-15-5d-3a-34-00 体系の MAC Address が VM に割り当てられます。
(58 = 0x3a、52 =
0x34)
この値を管理しているのが、仮想スイッチ設定の「MAC アドレス範囲」です。
Hyper-V ホスト1台で運用している場合は問題無いのですが、複数台の Hyper-V ホストを運用している場合には VM の MAC アドレスが重複する事があります。
Hyper-V をインストールした時に、ユニークな IPv4 アドレスがセットされていれば、VM の MAC アドレス重複は発生しませんが、Hyper-V をインストールした時に、何らかの理由で重複する IPv4 アドレスを持っていると、VM の MAC アドレス重複が発生します。
IPv4 アドレスが重複するケースとして考えられるのは、以下のような場合です。
・ Hyper-V ホスト構築用のセグメントが DHCP になっていて、Hyper-V をインストール後に固定 IP を設定する
→ 過去構築時と同じ IP アドレスがリースされる(これが原因のトラブルやりました orz)
・ 構築時に IP アドレスを設定していない NIC が複数あり、IPv4
のリンクローカルアドレス(169.254.0.0/16)が構成されている
(リンクローカルは対策されていると思いますが、この仕様に触れているドキュメントが見当たらないので実装不明です)
ユニークな IPv4 アドレスを割り当てた後に Hyper-V をインストールすれば VM の MAC アドレス重複は防げるのですが、そうもいかない場合はユニークな IPv4 アドレスを割り当てた後に、MAC アドレス範囲を再設定します。
GUI で設定するのが面倒な場合は、レジストリ更新します。
レジストリ:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization
キー:
名前 | タイプ | 意味 |
MinimumMacAddress | Binary | 最小値 |
MaximumMacAddress | Binary | 最大値 |
PowerShell で設定するのであれば、以下のスクリプトで設定できます。
|
Copyright © MURA All rights reserved.