我在Hyper-V Server 2008 R2 SP1上安装了CentOS 6.0。 VM仅启用了合成networking适配器。 安装成功(没有任何networking),然后我从ISO安装Linux集成服务3.1,一切都OK。 现在安装了所有的Hyper-V模块(包括hv_netvsc),但没有检测到networking适配器。
运行dmesg | grep eth返回消息“由于没有校验和function而丢弃NETIF_F_SG”。 互联网上的调查显示,校验和似乎是一些非常重要的特性,没有这个特性,CentOS不能使用networking适配器,而这显然没有被微软的LIS3.1模块实现。
有什么我可以做在CentOS中使用合成networking适配器? 或者我做错了什么,它应该像现在这样工作? 合成适配器function是否依赖于主机中使用的硬件以太网卡? CentOS内核版本似乎是2.6.32-71.el6.x86_64,pipe理程序是安装了所有更新的R2 SP1。
第二个问题,如果第一个问题的答案是“不,这不起作用”:在使用模拟(传统)networking驱动程序时是否会有大的性能损失? 在生产环境中应该避免这样的事情吗?
如果有其他人遇到同样的问题,这里是解决scheme:适配器必须通过添加文件/ etc / sysconfig / network-scripts / ifcfg-eth0和/ etc / sysconfig / networking / profiles / default / ifcfg手动configuration-eth0成功安装LIS3后。
为我工作的步骤:
我find了最有用的信息来源:
(解决了)
请在您的hyper-v设置中分配静态MAC地址。 MAC应该和你的linux虚拟机一样。 您可以在/etc/sysconfig/network-scripts/ifcfg-eth0中的MAC地址中find。
search“为什么eth1上的以太网端口,而不是用于Hyper-v 2012的eth0”?
删除NIC的现有UDEV规则。 如果添加/更改NIC,则udev规则会检测到新设备并为其分配不同的接口名称。 有关说明,请参阅将CentOS Linux上的以太网接口重新编号为eth0或强制CentOS 6重新检测networking设备
这会如何呢? 当一个虚拟机被克隆时。 例如,您使用的NIC是eth0,克隆映像,并为具有不同MAC地址的映像创build一个新VM。 网卡将是eth1而不是eth0。
其他假设? 我使用Hyper-V 2012,CentOS6.3 x64和Microsoft Linux Integration Services 3.4对此进行了testing