公司的DELL R720服务器安装完centos 6.5版本后,发现原先熟悉的eth0、eth1变成了em1、em2 。
本来认为只是接口名称变化,并不伤大雅 。不过在放到机房之前进行LVS测试时,发现通过ipvsadm -ln命令,竟然找不到一台在线主机。就连local都不在列表内。
以下参考的是网上一些操作
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.8:80 wrr persistent 3600
而拿DELL 2950主机测试,发现一切正常。使用配置和系统完全相同,不同的就是接口名,2950上是eth0这样的。即然找到原因,就考虑测试如何在DELL R720上将网卡名改过来。通过在网上查找资源,后来找到如下方法解决:
1、修改grub文件
vim /boot/grub/grub.conf
#增加一个 biosdevname=0 的启动参数
具体内容如下:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-220.17.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root=UUID=459a3c61-c024-4578-b31e-5b24153842c0 rd_NO_LUKS KEYBO
ARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
yrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM biosdevname=0
initrd /initramfs-2.6.32-220.17.1.el6.x86_64.img
title CentOS (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=459a3c61-c024-4578-b31e-5b24153842c0 rd_NO_LUKS KEYBOARDTY
PE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM biosdevname=0
initrd /initramfs-2.6.32-220.el6.x86_64.img
修改的只是上面红色字体的部分。
2、删除udev的配置文件
rm -f /etc/udev/rules.d/70-persistent-net.rules
3、修改当前网卡配置文件的名称
mv ifcfg-em1 ifcfg-eth0
mv ifcfg-em2 ifcfg-eth1
mv ifcfg-em3 ifcfg-eth2
mv ifcfg-em4 ifcfg-eth3
4、修改网卡配置文件内容,把em1全部修改改为eth0
修改前:
DEVICE="em1"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=DD:AE:52:8A:8F:74
TYPE=Ethernet
BOOTPROTO=none
IPADDR=115.X.X.X
GATEWAY=115.X.X.X
NETMAKS=255.255.255.224
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
修改后
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=DD:AE:52:8A:8F:74
TYPE=Ethernet
BOOTPROTO=none
IPADDR=115.X.X.X
GATEWAY=115.X.X.X
NETMAKS=255.255.255.224
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
也可以使用 perl -p -i -e 's/em1/eth0/g' ifcfg-eth0 或sed -i 's/em1/eth0/g' ifcfg-eth0 进行替换。接下来重启系统,发现久违的eth0又回来了。
注:centos 6.X 还有一个问题就是如果你没有在网卡配置文件里写dns的话,重启之后你就会发现 /etc/resolv.conf 文件被清空了。
一个方法就是在网卡配置文件中写DNS;另一个方法就是给/etc/resolv.conf加i属性,chattr +i /etc/resolv.conf 。