让机房工程师安装CentOS 6.5系统(最小化安装)后发现网卡名字都是em开头的 ifconfig em1 Link encap:Ethernet HWaddr 84:2B:2B:0C:FF:07 inet addr:2.2.2.2 Bcast:2.2.2.255 Mask:255.255.255.0 inet6 addr: fe80::862b:2bff:fe0c:ff07/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3195 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:208130 (203.2 KiB) TX bytes:1964 (1.9 KiB) Interrupt:36 Memory:da000000-da012800 em2 Link encap:Ethernet HWaddr 84:2B:2B:0C:FF:08 inet addr:1.1.1.1 Bcast:1.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::862b:2bff:fe0c:ff08/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2867 errors:0 dropped:0 overruns:0 frame:0 TX packets:105 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:242782 (237.0 KiB) TX bytes:15539 (15.1 KiB) Interrupt:48 Memory:dc000000-dc012800 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 查看配置文件 ll /etc/sysconfig/network-scripts/ -rw-r--r--. 1 root root 233 May 27 17:33 ifcfg-em1 -rw-r--r--. 1 root root 266 May 27 17:26 ifcfg-em2 查看设备管理文件 cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="84:2b:2b:0c:ff:07", ATTR{type}=="1", KERNEL=="eth*", NAME="em1" # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="84:2b:2b:0c:ff:08", ATTR{type}=="1", KERNEL=="eth*", NAME="em2" 解决方法有2个 一、通过重命名配置文件名字和删除/etc/udev/rules.d/70-persistent-net.rules文件 1、重命名 mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0 mv /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/ifcfg-eth1 2、分别修改配置文件内容 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE="eth1" 3、删除/etc/udev/rules.d/70-persistent-net.rules文件 rm -f /etc/udev/rules.d/70-persistent-net.rules 4、重启机器就行了 reboot 以下文字摘自pdf Reverting to the traditional "ethN" naming scheme In case you have a system with the new naming scheme and would like to revert to the traditional naming scheme: 1)Rename all ifcfg-emN and ifcfg-p* configuration files and modify the contents of the files accordingly.The content of these files is distribution specific (see /usr/share/doc/initscripts-<version> for details) As an example ifcfg-ethN files in RHEL6.1 contain a "DEVICE=" field which will be assigned with the emN name.Modify it to suit the new naming scheme such as "DEVICE=eth0". 2)Comment the HWADDR variable in the ifcfg-eth* files if present as it is not possible to predict here which of the net work devices will be named eth0, eth1 etc. 3)Reboot the system 4)Login and you should see the ethN names. The 70-persistent-net.rules file will be created under /etc/udev/rules.d/ to make the names persistent across reboots. 二、通过修改grub参数来关闭命名新规则 在参数后面增加1个这样的参数就行了 biosdevname=0 其他和上面一致 以下文字摘自pdf 1)Enable/disable the new naming scheme If you choose not to use the new naming scheme, it can be turned off during install time or post-install time. During install time To disable the use of the new naming scheme,during installation(attended or automated), pass the kernel command line parameter biosdevname=0 on the boot command line. The parameter should be passed on the boot command line after installation to ensure that a new network adapter plugged in post installation has a traditional "eth" name. Consistent Network Device Naming in Linux Note: On SLES 11 SP2 biosdevname=0 needs to be passed to boot command line only during installation. Certain distributions (see Table 1) have enabled the new naming scheme on all Dell systems by default and disabled for others. If you choose to use the new naming scheme on non-Dell systems with such distributions, set biosdevname=1 in the kernel command line during install. 三、参考 http://linux.dell.com/files/whitepapers/consistent_network_device_naming_in_linux.pdf
时间: 2024-10-03 23:04:04