操作场景
为了避免使用私有镜像创建的新云主机发生网卡名称漂移,在创建私有镜像时,需要清理云主机或镜像文件所在虚拟机的网络规则文件。
说明使用外部镜像文件制作私有镜像时,清理网络规则文件操作需要在虚拟机内部完成,建议您在原平台的虚拟机实施修改后,再导出镜像。
前提条件
云主机已安装操作系统和virtio驱动。
操作步骤
- 执行以下命令,查看网络规则目录下的文件。
ls -l /etc/udev/rules.d
- 执行以下命令,删除网络规则目录下,文件名同时包含persistent和net的规则文件。
例如:
rm /etc/udev/rules.d/30-net_persistent-names.rules
rm /etc/udev/rules.d/70-persistent-net.rules
以上命令中斜体部分会根据用户的实际环境有区别。
说明
对于CentOS 6系列的镜像,为避免网卡名发生漂移,您需要创建一个空的rules配置文件。
示例:touch /etc/udev/rules.d/75-persistent-net-generator.rules //命令中斜体部分会根据用户的实际环境有区别
- 清理网络规则。
− 若操作系统使用initrd系统映像,请执行以下操作:
i. 执行以下命令,查看initrd开头且default结尾的initrd映像文件,是否存在同时包含persistent和net的网络设备规则文件(以下命令中斜体内容请以实际操作系统版本为准)。
lsinitrd /boot/initrd-2.6.32.12-0.7-default |grep persistent|grep net
- 否,结束。
- 是,执行3.ii。
ii. 执行以下命令,备份initrd映像文件(以下命令中斜体内容请以实际操作系统版本为准)。
cp /boot/initrd-2.6.32.12-0.7-default /boot/initrd-2.6.32.12-0.7-default_bak
iii. 执行以下命令,重新生成initrd映像文件。
mkinitrd
− 若操作系统使用initramfs系统映像(如Ubuntu),请执行以下操作:
i. 执行以下命令,查看initrd开头且generic结尾的initramfs映像文件,是否存在同时包含persistent和net的网络设备规则文件。
lsinitramfs /boot/initrd.img-3.19.0-25-generic|grep persistent|grep net
- 否,无需清理网络规则。
- 是,执行3.ii。
ii. 执行以下命令,备份initrd映像文件。
cp /boot/initrd.img-3.19.0-25-generic /boot/initrd.img-3.19.0-25-generic_bak
iii. 执行以下命令,重新生成initramfs映像文件。
update-initramfs -u