質問: centos 7-再起動せずにネットワークインターフェイスの名前を変更する /etc/sysconfig/network-scriptsのファイルを変更して、ネットワークインターフェイスの名前を変更しています。 eth0-> nic0 eth1-> nic1 変更後のネットワークスクリプトの内容は次のようになります。# cat /etc/sysconfig/network-scripts/ifcfg-nic0 device=nic0 bootproto=static onboot=yes hwaddr=xx:xx:xx:xx:xx:xx userctl=no ipv6init=no master=bond0 slave=yes 再起動すると、新しい構成がアクティブになります。しかし、どのようにこの構成をアクティブ化するのですかなし再起動systemctl restart networkはトリックを行いません。古い名前(ifdown eth0)で1つのインターフェイスをシャットダウンできますが、古い名前と新しい名前のどちらを指定しても、ifupは以下のメッセージを表示します。 エラー:[/ etc/sysconfig/network-scripts/ifup-eth]デバイスnic0が存在しないようで、初期化が遅れています。 /etc/init.d/network statusはこの出力を示します。configured devices: lo bond0 nic0 nic1 currently active devices: lo eth0 eth1 bond0 ifconfigとip aはどちらも古いインターフェース名を示しています。
回答: 上記をvagrant/virtualboxとansibleで試しましたが、私の開発環境ではどういうわけかこれはまったく機能しませんでした。古いインターフェース名は、完全に再起動するまで私がしたことは何でも維持されていました。/etc/udev/rules.d/60-persistent-net.rulesに次のルールを追加しました(ベース: https://access.redhat.com/solutions/11264 )私の目標は、pciアドレスに基づいて指定された名前をインターフェイスに付けることでした。例:action=="add", subsystem=="net", kernels=="0000:00:09.0", name:="int0" action=="add", subsystem=="net", kernels=="0000:00:10.0", name:="ext0" これらのルールを追加した後、次のコマンドを実行しました。ip link set eth0 down udevadm control --reload-rules udevadm trigger ip link set int0 up エラーメッセージは、cannot find device "int0"コマンドのip link set * upでした。 /var/log/messagesでは、次のメッセージに気付きましたaug 16 17:08:41 localhost ansible-command: invoked with creates=none executable=none _uses_shell=true strip_empty_ends=true _raw_params=ip link set eth0 down && udevadm control --reload-rules && udevadm trigger && ip link set int0 up#012 removes=none argv=none warn=true chdir=none stdin_add_newline=true stdin=none aug 16 17:08:41 localhost networkmanager[6989]: <info> [1565975321.5971] device (eth6): state change: disconnected -> unavailable (reason 'carrier-changed', sys-iface-state: 'managed') aug 16 17:08:41 localhost systemd-udevd: network interface namepolicy= disabled on kernel command line, ignoring. しかし、以下はvirtualboxからvmにアクセスし、次のコマンドを実行してカーネルモジュールを削除および再追加することで機能しました。rmmod e1000 modprobe e1000 私は次のスレッドでこれを見つけました: https://www.centos.org/forums/viewtopic.php?t=54695 私が気付いた奇妙なことは、lsmodが私に与えることでした(used byに注意してください)[vagrant@node-01 ~]$ lsmod module size used by e1000 137586 0