在Windows 2008中,我们可以在同一台物理机上安装多个Hyper-V实例。 一般这台机器只有1个networking接口。 (我假设1个MAC地址卡)。 那么Hyper-V机器如何获得相同的IP地址? networking适配器是否需要支持任何特殊function?
如果您的虚拟机获得相同的IP,则可能是一个RFC1918专用地址,该地址由托pipe来宾操作系统的Hyper-V软件进行NAT转换。
如果虚拟机在与主机相同的VLAN上拥有独立的IP,则Hyper-V可能使用桥接虚拟networking适配器。 此虚拟适配器将网卡编程为在第2层响应多个IP,并将正确的数据包转发给来宾操作系统。
除了其他答案之外,不需要特殊的网卡。 即使通过一个物理主机网卡,虚拟机也可以获得自己的IP甚至MAC地址。 这与您直接在Windows中如何将多个IP地址分配给单个NIC(即使不使用虚拟化)类似(但不完全相同)。 然而,在这种情况下,你不是也托pipe多个MAC地址。
Hyper-V或VMware(如果您正在运行VMware Server或ESXi),或者XenServer(如果使用的话),都会负责转换networking,以便多个虚拟机可以共享同一个物理网卡。 仍然需要多个物理网卡来实现冗余和/或额外的bandwitdh,如果您拥有许多虚拟机和/或高stream量(如果您使用的是集中式存储,如SAN,则专用NIC或NIC强烈推荐)。 但它将与一个function。
在Hyper V中创build虚拟networking时,可以select:
你有两个设置来pipe理这里。 在Hyper V控制台中创build的networking,以及为每个单独的VMselect的networking。 如果每个虚拟机连接到一个“私人”networking,没有理由他们不会/不可能都拥有相同的IP。
要回答您的其他问题,对于内部和专用networking,Hyper V服务器将把内部IP分配给这些机器。 对于外部来说,虚拟机将获得IP(或不),就像您可能连接到该networking的任何工作站一样。
**注意:根据最佳实践,在Hyper V服务器中至less应有2个物理networking适配器。 一个用于服务器本身,另一个用于每个要为VMstream量创build的外部networking。 我从来没有试过只使用一个网卡,因为在这种情况下据说是不可预知的结果。
Hyper-V机器不会获得相同的IP,它们将获得与主机不同的IP。 这适用于单个NIC,因为它将多个IP分配给主机NIC,然后Hyper-V将请求特定IP的请求转发给正确的guest虚拟机。