欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux VMware中鼠标中键无法使用怎么办
linux安装rpm包时遇到Failed dependencies
Windows 2008R2 HyperV下安装CentOS6
linux下能ping ip不能ping域名详解
如何设置并修改CentOS系统细节
使用linux中的quota教程
win7电脑中如何将Power键禁用?
Linux平台上手动卸载Oracle数据库
Linux下定义Windows常用数据类型
ubuntu下的terminal快捷方式大全
Hyper-V下的Linux虚拟机网卡丢失
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法

  虚拟化大势所趋

  公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyper-V做集群跑Hyper-V虚拟机。这是个好东西,节约资源,集中管理,省电,部署超快,关键是可以实时迁移。

  我们使用Dell MD3000i盘柜做集群的共享磁盘,它是基于iSCSI的千兆以太网网络存储,一坨Dell PowerEdge R610服务器做了一个Windows Cluster,交换设备是juniper EX22000-48t-4G全千兆交换机,并开启了巨帧支持。

  众所周知,微软的Hyper-V对于自家的windows虚拟机支持很好的,而且还有专门的驱动程序。即使这样linux我们也跑了好多台虚拟机,主要是因为windows的Hyper-V便宜,比ESX实惠。

  下面来说一说Linux虚拟机与Hyper-V的一些尴尬事儿

  1. 网卡要选老的,驱动刚刚发布

  在Hyper-V上开Linux虚拟机最致命的一点就是网卡驱动,我们创建一个新的linux虚拟机的时候,转好了linux系统之后发现网卡不能用,因为不管是RHEL还是Ubuntu还是大便的Linux系统都不支持Hyper-V的网卡驱动。这需要我们在Hyper-V Manager把挂载给Linux虚拟机的network Adapter网卡删除,然后添加一块Legacy Network Adapter,这种网卡可以模拟成经典的老式网卡,Linux一般都集成这种网卡的驱动,装好了网络就可以用了。

  好消息是微软8月刚发布了可以支持RHEL和Ubuntu的Hyper-V下的虚拟机驱动,需要的朋友可以网上google一下,只有几百K,很小的。

  2. 神呐~我的网卡呢?

  做了集群,那么迁移就是不可不免得,有时候我们某一台服务器需要重启维护一下,需要把跑在它身上的虚拟机实时迁移到其他服务器上面去,迁移很顺利,但是发现Linux系统迁移后,网卡找不到了,ifconfig只能看到一个lo的本地回环网卡,eth0跑哪儿去了?

  赶紧查看网络配置,sudo vi /etc/network/interfaces,发现配置都在,那是为啥eth0没了呢?

  使用ifconfig -a 来查看所有网卡,发现eth0没了,却多出来了eth1。灵机一动,改了一下interfaces文件

  sudo vi /etc/network/interfaces

  把eth0替换成eth1,然后重启网络服务

  sudo /etc/init.d/networking restart

  哈哈,网卡好啦~~

  3. 又悲剧了

  再后来,有一台ubuntu 9.10 64位版本迁移后,这招不好使了,因为eth1也没找到,后来手动删除了ubuntu的网络配置文件后重启,就好了。

  sudo rm /etc/udev/rules.d/70-persistent-net.rules

  之后总结了一下,linux之所以网卡会丢失是因为Hyper-V新建一个虚拟机默认分配的网卡MAC地址是动态的,每次宿主的迁移会导致重新分配新的MAC给ubuntu,然后丫就找不到eth0了,有时候会自动生成一个eth1。如果你能记得以前的MAC地址,在Hyper-V Manager上手动把MAC指定成迁移之前的老MAC也能解决问题,但问题是谁他妈会记MAC地址啊~~~?

  所以啊~~清空ubuntu的网络配置缓存文件才是王道,或者在Hyper-V Manager上把分配给Linux的MAC地址设为静态的。

  Hyper-V下安装Linux虚拟机注意事项

  1. 创建虚拟机时先别急着装系统,把网卡替换成Legacy Network Adapter

  2. 网卡MAC地址别用动态的,指定成静态的

  3. 微软刚出了新的Hyper-V下的linux驱动,赶紧安装

  4. 网卡丢失后ifconfig -a看看是不是eth0没了,多出来了eth1,然后改interfaces配置

  5. 终极大法就是删除linux网络配置缓存sudo rm /etc/udev/rules.d/70-persistent-net.rules

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站