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

Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法的更多相关文章

  1. Session丢失的原因及解决办法

    Asp.net 默认配置下,Session莫名丢失的原因及解决办法: 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定 ...

  2. Linux虚拟机--进入MySQL报错的解决办法

    在Linux安装MySQL有时候会出现 [mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ ...

  3. vmware的Linux虚拟机ping不通外网的解决办法

    转载自:https://blog.csdn.net/l_l_b_/article/details/79409843 1.点击此处编辑 2.选择虚拟网络编辑器 3.点击更改设置 4.选择v8 并将使用本 ...

  4. 造成session丢失的原因和解决方法

    win2003 server下的IIS6默认设置下对每个运行在默认应用池中的工作者进程都会经过20多个小时后自动回收该进程,   造成保存在该进程中的session丢失. 因为Session,Appl ...

  5. VMware下安装linux虚拟机

    安装VMware [下一步] [下一步] 点击[自定义],[下一步] 更改安装目录,[下一步] [下一步] [下一步] [跳过] [完成] 点击桌面图标 如下勾选,输入邮箱,[继续] [完成] 安装l ...

  6. 记录下WIN下配置LINUX虚拟机及PYTHON环境

    因为听说服务器端大多都是LINUX/UNIX,LINUX是程序员必须适应的编程环境,所以今天折腾了一下,给笔记本装了个LINUX虚拟机,并顺便给WINDOWS和LINUX都配置了PYTHON环境. 这 ...

  7. win7下安装 LINUX虚拟机

    文件名: VMware-workstation-full-10.0.6-2700073.exe 百度云共享链接: pan.baidu.com/s/1o6McGmI VMware workstation ...

  8. Linux进阶之VMware Linux虚拟机运行提示“锁定文件失败 虚拟机开启模块snapshot失败”的解决办法

    问题1:VMware Linux虚拟机运行提示"锁定文件失败 虚拟机开启模块snapshot失败"的解决办法 非正常关闭虚拟机(例如开关机过程中关掉VMware等操作),再次启动虚 ...

  9. Ubuntu下Linux配置内核各种常见错误和解决办法

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...

随机推荐

  1. Memcached-1.4.4启动参数——手动设置chunk大小的上限

    最近在看memcached的源代码,源码包是memcached-1.4.22,一开始看memcached.c的main函数的时候发现了和1.2.8的不同之处. 可能在1.4.22版本之前就已经添加了这 ...

  2. Keil C51里面lib文件生成和调用方法

    一.包含关系 LCD1602.C里面包含LCD1602.H LCD1602.H的文件格式 二.设置生成lib文件 三.Lib文件调用 添加lib文件对话框 添加后的lib文件 呵呵^_^,这样就可以删 ...

  3. Android 有趣味的GridView

    工作这么久以来,都是以解决需求为目标.渐渐发现这种学习方式不好,学到的知识能马上解决问题,但没有经过梳理归纳.故想系统总结下一些有趣味的知识点.在这篇博客中想以一个例子系统讲解下GridView控件涉 ...

  4. centos ppp拨号

    CentOS 6.4 电信ADSL 拨号连接的配置,亲测 .下载 rp-pppoe-3.8.tar.gz http://down1.chinaunix.net/distfiles/rp-pppoe-3 ...

  5. 设计模式(六):Singleton 单件模式 -- 创建型模式

    1.定义 当需要控制一个类的实例数量且调用者可以从一个公共的访问点访问时. 2.适用场景 1. 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时. 2. 当这个唯一实例应该是通过子类化可扩 ...

  6. 【转】SqlLite .Net 4.0 System.IO.FileLoadException”类型的未经处理的异常出现在XXX

    原文地址:http://www.csharpcity.com/2010/sqlite-ado-net-c-4-0/ ---------------------- 解决方法: Paste the fol ...

  7. libvirt API管理hypervisors

    发布一段C代码,用于连接指定的KVM宿主机器,获得该宿主机器的配置信息,以及该主机上所有的虚拟主机列表.状态及配置信息: #include <stdio.h>#include <st ...

  8. 您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?_百度知道

    您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?_百度知道     您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?    2013-06-14 10:39 maxre ...

  9. Jenkins,Maven及TestNG在自动化测试的应用(转)

    转自:http://qa.blog.163.com/blog/static/190147002201581634549893/ 希望实现的场景:Jenkins中的Job可针对不同浏览器,不同环境,运行 ...

  10. ubuntu12.04管理员账户登录不了桌面,只能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,只能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录. 登录管理员账户时,输入密码后,一直在登录界面循环 费了好大劲啊 ...