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

转载于:https://www.cnblogs.com/fjping0606/p/4428495.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Hyper-V上安装Linux虚拟机,您需要执行以下步骤: 1. 打开Hyper-V管理器并创建一个新的虚拟机。 2. 选择Linux作为虚拟机的操作系统。 3. 分配虚拟机的内存和处理器资源。 4. 创建虚拟硬盘并将Linux操作系统安装到其中。 5. 配置虚拟机的网络设置,以便它可以与其他计算机通信。 6. 启动虚拟机并完成Linux操作系统的安装和配置。 请注意,安装Linux虚拟机需要一定的技术知识和经验。如果您不确定如何执行上述步骤,请参考Hyper-V的官方文档或寻求专业帮助。 ### 回答2: Hyper-V是一种虚拟化技术,是由微软公司推出的一种虚拟化平台,它可以用来在Windows操作系统上创建和管理虚拟机。在Hyper-V中安装Linux虚拟机,需要以下步骤: 1. 首先,确保您的Windows操作系统已经启用了Hyper-V的功能,并且已经安装了Linux虚拟机的ISO镜像文件。您可以从Linux官网下载最新的ISO镜像文件。 2. 打开Hyper-V管理器,点击“新建虚拟机”按钮。 3. 按照向导,设置虚拟机的名称、位置和硬件配置。需要注意的是,Linux系统需要一个硬盘大小至少为10GB的分区。在硬件配置方面,需要将CPU核心、内存、网络适配器等设置为适当的值。 4. 在安装操作系统的页面中,选择“从ISO文件启动”,并选择您下载的Linux ISO镜像文件。 5. 在Linux安装过程中,可能会需要安装特定的驱动程序或者手动设置IP地址等。 6. 完成Linux的安装后,在Hyper-V管理器中,可以看到您新建的虚拟机已经创建成功。 7. 可以通过Hyper-V管理器或者远程连接的方式,访问您的Linux虚拟机,并且开始安装应用程序、配置环境等。 总之,在Hyper-V上安装Linux虚拟机需要考虑到硬件配置和操作系统的安装,同时需要选用合适的Linux版本和驱动程序和设置。正确地安装并运行Linux虚拟机,可以提高工作效率和计算资源的利用效率。 ### 回答3: Hyper-V是一款由微软开发的虚拟化平台,可帮助用户将一个物理计算机分为多个虚拟计算机运行,每个虚拟计算机都有自己的操作系统和应用程序。作为一款功能强大,运行稳定的虚拟化平台,Hyper-V可以轻松帮助用户创建和运行Linux虚拟机,以实现计算资源的最大化利用和更高效的管理。 要在Hyper-V中安装Linux虚拟机,首先需要确保计算机上已安装了Hyper-V,这可以在控制面板中的程序与功能中通过启用或禁用Windows功能完成。启用Hyper-V后,用户需要准备Linux镜像文件,可以是ISO镜像或者前面挂载好的虚拟光驱,同时需要为Linux虚拟机分配足够的资源,例如处理器、内存、硬盘空间等。 接下来,用户打开Hyper-V管理器,创建一个新的虚拟机,设置虚拟机名称、存储位置、操作系统类型和版本,选择运行Linux虚拟机的处理器架构,接着配置虚拟机的内存、网络适配器等信息,并连接到安装Linux的ISO镜像,开始安装Linux操作系统。 在安装Linux操作系统时,用户需要根据尝试启动虚拟机,进入BIOS,设置系统启动顺序,然后进入安装程序,设置安装选项,创建并分区,安装系统,安装必要的驱动和软件包等步骤,直至安装完成。 最后,在Linux虚拟机安装完成后,用户可以连接到虚拟机,启动和操作Linux系统。如果需要执行更多的配置,例如添加共享文件夹,共享剪贴板,设置虚拟机自动启动等,用户可以使用Hyper-V管理器来完成。 总之,在Hyper-V中安装Linux虚拟机并不困难,只需要按照以上步骤逐一执行,操作规范、仔细、耐心即可。通过Hyper-V虚拟化平台,用户可以轻松创建和管理多个Linux虚拟机,提高服务器资源的使用效率和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值