centos 6.6 克隆导致eth0 变成eth1的修改方法

解决问题如下:
1、在grub里增加biosdevname=0的启动参数,形如
kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latar
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname=0
2、删除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules
3、把网卡配置文件改名
mv ifcfg-em1 ifcfg-eth0
4、把网卡配置文件内容修正,把em1的全部改成eth0
perl -p -i -e ‘s/em1/eth0/g’ ifcfg-eth0
5、重启系统即可
6、如果使用centos6.0做镜像,则可以删除udev下的rules.d文件夹,然后把ifcfg-eth0文件中只保留DEVICE和ONBOOT参数,其他全部干掉,省略第2到第4步。
grub /boot/grub/grub.conf
网卡配置文件
/etc/sysconfig/Network-scripts/ifcfg-eth0
关于CentOS 6.X下修改网卡名称有三种方法:
法1:
修改UDEV文件,删除里面的内容;用命令,重新定义名字,两个名字都要改;
法2:
在centos6中,可以直接使用setup,设置一块新网卡,填上eth1、ip等内容。
在 CentOS 6 中,默认的 kudzu 这个识别硬件的服务不存在了,基本上所有的硬件管理都通过 Udev 来管理了。
如果在 Centos 6 中加了一个新的硬件,如网卡只需要重新启动 udev 就行了。
start_udev
它会重新扫描新加的硬件并做相关的处理。
如果新加的是网卡,识别不对和有时想更新网卡的名字,并不需要编辑 /etc/sysconfig/network-scripts/下的内容,向上面运行完后不正常,直接修改 udev 有关网络的配置即可。
有关网络的 udev 的具体网卡序号的配置文件是 /etc/udev/rules.d/70-persistent-net.rules 这个文件。
大概内容如下:
SUBsystem=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:78:e8:2e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device  
0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:04:19:6c", ATTR{type}=="1", KERNEL=="eth*",  
NAME="eth0"
参照以上内容,最多修改一下 MAC 地址和 NAME 即可。
修改完成后,使用 udev 的命令测试下:
udevadm test /sys/class/net/eth0/
此命令可以很详细的显示 udev 的识别和处理的过程。
注意:
新添加的硬件,如果在 setup 和 system-config-network-tui中添加了网卡,但 /etc/sysconfig/network-scripts/ 找不到配置文件时。
是因为这些命令默认会将生成的配置文件放到/etc/sysconfig/networking/devices/,只要将下面的二个配置文件放到 /etc/sysconfig/network-scripts/,再使用  
system-config-network-tui进行配置即可。
复制代码 代码示例:cp /etc/sysconfig/networking/devices/* /etc/sysconfig/network-scripts/
然后重新启动后就可以生效了。
法3:
1、在grub里增加biosdevname=0的启动参数,形如
kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latar
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname=0
2、删除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules
3、把网卡配置文件改名
mv ifcfg-em1 ifcfg-eth0
4、把网卡配置文件内容修正,把em1的全部改成eth0
可以使用 perl -p -i -e 's/em1/eth0/g' ifcfg-eth0 或sed -i 's/em1/eth0/g' ifcfg-eth0 进行替换。
5、重启系统即可