近来相信不少朋友都在测试体验 Hyper-V,有些甚至已经开始在生产环境下进行评估,但是同时可能会遭遇到这样的问题,当添加了 hyper-V Roles,安装了虚拟机,并将虚拟机的网卡配置为外部网络类型,以桥接到宿主网卡上与宿主网络进行通讯。此时以为大功告成便上架开始使用,但是却发现 Host OS 无法连接了。本人也遭遇到了这个情况,呵呵!受之前产品的影响没有仔细去了解 Hyper-V 的网络结构,昨天前往实验机所在办公室进行了调试,总算解决了该问题,现在与大家分享。
在之前所使用的虚拟机平台时,如:Virtual Server / PC 以及 VMware,我们都惯用桥接方式将虚拟机网卡桥接到宿主网卡上,便可以直接进行通讯。但是在 Hyper-V 平台上,这一方式被改进了,我个人猜想应该是微软出于整个宿主环境与虚拟环境的兼容性、稳定性与安全性才修改了网络结构。即,当我们对 Hyper-V 进行初始配置时需要为虚拟机环境提供一块用于通讯的物理网卡,当执行完配置后,系统会为当前的 Host OS 添加一块虚拟网卡,用于 Host OS 与网络的通讯。而此时的物理网卡除了作为网络的物理连接外,还兼做虚拟交换机,为 Host OS 及 Guest OS 提供网络通讯。如果还是对这个概念比较模糊,那么请注意下面的网络示意图。
传统模式:
应用程序直接与物理网卡连接并与物理网络建立通讯,在 Virtual Server / PC 上,虚拟机网卡与物理网卡桥接后与物理网络建立通讯。
Hyper-V External Network:
在 Hyper-V 上当配置了外部网络后,系统则自动添加一块虚拟网卡用于 Host OS 的通讯,而物理网卡则用于物理连接及虚拟交换机。
明白以上的示意图后,我们再次登录系统去查看一下当前的网卡及连接状态,图中“Local Area Connection 2”是一块未连接的物理网卡,排除在外。其中"Local Area Connection"是已经连接至网络的物理网卡,而"Local Area Connection 4"则是真正用于 Host OS 连接网络的网卡。
我们分别看一下各网卡的连接状况,"Local Area Connection"状态显示并未使用任何网络协议连接,通过查看该连接的网络属性我们可以看到,该网卡只绑定了"Microsoft Virtual Network Switch Protocol"。
"Local Area Connection 4"连接状态显示正常,此外连接速率竟然高达10Gbps,呵呵!该网卡的网络属性中我们可以看到它进行了常规的协议和服务绑定。
OK,以上的粗鲁讲解希望大家已经明白是怎么回事!因为物理网络中存在有效的DHCP,所以当系统添加了"Local Area Connection 4"后自动获取到了IP地址,并不会给出明显的提示,因为它已经自动获取到IP,在不了解 Hyper-V 的网络模式时,我们便会忽略!如果是远程方式进行配置则会造成网络中断。
为此,我们需要正确的为"Local Area Connection 4"配置网络,添加 IP 等相关信息。
最后不要忘记为你当前的网络配置网络类型,因我用于实验的 Dell 2950 处于内网,所以我选择为专用网络,并允许了网络发现及网络共享。
本文到此暂告段落,希望能让与我同样遭遇的朋友顺利解决问题,并正确认识 Hyper-V 的网络模式。
本文转自 苏繁 51CTO博客,原文链接:http://blog.51cto.com/goxia/221239,如需转载请自行联系原作者