Hyper-V下的Linux虚拟机网卡丢失

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

猜你喜欢

  1. linux下一个网卡配置多个IP

    linux下一个网卡怎样配置多个IP?linux下边如果没有图形界面了配置网络还真的不是太方便了,呵呵,习惯问题,当然习惯需要改的,最近遇到一个问题需要单网卡配置多个ip地址。文本控制台下面有netc ...

  2. Linux网卡聚合 linux多网卡绑定聚合之bond模式原理

    将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, ...

  3. Linux虚拟机怎样安装tools

    Linux虚拟机怎样安装tools方法如下: 1.需要我们首先打开虚拟机,然后点击虚拟机选项,点击安装VMtools,如果已经安装过了就会显示重新安装(如果出现此字样证明你已经成功安装了VMtools ...

  4. 怎样开启windows10下的linux系统

      怎样开启windows10下的linux系统 1.查看win10系统版本,并更新到最新版本.设置->更新和安全->windows更新(左侧); 2.开启win10开发者模式; 3.开启 ...

  5. Linux系统网卡绑定的设置方法

     Linux系统网卡绑定的设置方法 简介 端口绑定就是将多个物理网卡绑定为一个逻辑网卡;根据模式不同可以网卡绑定的作用可分为提升吞吐量和热备份两个主要作用,一般都是提升吞吐量.另外需要bonding内 ...

  6. Linux下双网卡双网关路由表配置相关资料

    最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为 Linux。计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。 ...