设备eth0似乎没有出现在新内核上,虚拟化模块在内核3.15.6上加载/编译

cat /etc/udev/rules.d/70-persistent-net.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5D:02:14:22", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 

 ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisk noqueue state UNKNOWN link/loopback 00:00:00:00:00:00: brd 00:00:00:00:00:00 

 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet HWADDR=00:15:5D:02:14:22 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp 

我一直得到这个错误Device eth0 does not seem to be present

这是在Hyper-V机器上,我也安装了最新的集成服务。 HWADDR与我为Hyper-V机器设置的内容相匹配。

编辑:我编译并引导到内核3.15.6,我启用内核中的KVM / XEN支持。 问题在于启用这些选项吗? 我从默认的CentOs 6.5内核加载configuration,所以一切正常,但没有networking

如果我启动默认的2.6.32内核,eth0会回来。

我需要做什么?

我启用了这些选项:在处理器types和function下 – > Linux客户支持:

 --- Linux guest support [*] Enable paravirtualization code [ ] paravirt-ops debugging (NEW) [*] Paravirtualization layer for spinlocks [*] Xen guest support (NEW) [*] KVM Guest support (including kvmclock) (NEW) [ ] Enable debug information for KVM Guests in debugfs (NEW) [*] Paravirtual steal time accounting (NEW) 

在虚拟化下:

 --- Virtualization <M> Kernel-based Virtual Machine (KVM) support <M> KVM for Intel processors support <M> KVM for AMD processors support [*] KVM legacy PCI device assignment support <M> Host kernel accelerator for virtio net 

您的虚拟网卡完全缺失。 既然你说你编译了你自己的内核,我认为你很可能忘了包含Hyper-V半虚拟驱动程序。 您正在使用Hyper-V,而不是KVM,因此KVM和Xen的这些选项是不相关的。

具体而言,您正在寻找Hyper-V虚拟networking接口的CONFIG_HYPERV_NET 。 您可能还需要包含其余的用于SCSI磁盘,dynamic内存等的Hyper-V驱动程序。

在我自己的3.15.6系统中,我有:

 CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_KEYBOARD=m CONFIG_FB_HYPERV=m CONFIG_HID_HYPERV_MOUSE=m CONFIG_HYPERV=m CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_BALLOON=m