更新时间:2023-04-27 GMT+08:00

清理网络规则文件

操作场景

为了避免使用私有镜像创建的新云服务器发生网卡名称漂移,在创建私有镜像时,需要清理云服务器或镜像文件所在虚拟机的网络规则文件。

使用外部镜像文件制作私有镜像时,清理网络规则文件操作需要在虚拟机内部完成,建议您在原平台的虚拟机实施修改后,再导出镜像。

前提条件

云服务器已安装操作系统和virtio驱动。

操作步骤

  1. 执行以下命令,查看网络规则目录下的文件。

    ls -l /etc/udev/rules.d

  2. 执行以下命令,删除网络规则目录下,文件名同时包含persistentnet的规则文件。

    例如:

    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 //命令中斜体部分会根据用户的实际环境有区别

  3. 清理网络规则。
    • 若操作系统使用initrd系统映像,请执行以下操作:
      1. 执行以下命令,查看initrd开头且default结尾的initrd映像文件,是否存在同时包含persistentnet的网络设备规则文件(以下命令中斜体内容请以实际操作系统版本为准)。

        lsinitrd /boot/initrd-2.6.32.12-0.7-default |grep persistent|grep net

      2. 执行以下命令,备份initrd映像文件(以下命令中斜体内容请以实际操作系统版本为准)。

        cp /boot/initrd-2.6.32.12-0.7-default /boot/initrd-2.6.32.12-0.7-default_bak

      3. 执行以下命令,重新生成initrd映像文件。

        mkinitrd

    • 若操作系统使用initramfs系统映像(如Ubuntu),请执行以下操作:
      1. 执行以下命令,查看initrd开头且generic结尾的initramfs映像文件,是否存在同时包含persistent和net的网络设备规则文件。

        lsinitramfs /boot/initrd.img-3.19.0-25-generic|grep persistent|grep net

        • 否,无需清理网络规则。
        • 是,执行下一步
      2. 执行以下命令,备份initrd映像文件。

        cp /boot/initrd.img-3.19.0-25-generic /boot/initrd.img-3.19.0-25-generic_bak

      3. 执行以下命令,重新生成initramfs映像文件。

        update-initramfs -u