Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Red Hat Enterpise Linux 6 で MAC アドレスの代わりに udev から PCI スロットを使用して永続的な NIC デバイス名を設定する

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 6

Issue

  • MAC アドレスの代わりに永続名の命名について、ネットワークカードの PCI アドレスを使用してカスタムの udev ルールを作成することはできますか?

Resolution

  • スタンダードの biosdevname 機能では、この設定ができません。詳細は Solution 159723 を参照してください。

    • biosdevname が要件を満たしたら、lspci を使用して Ethernet インターフェイスの PCI アドレスを特定するところから初めてください。

      # lspci -D | grep Ethernet
      0000:03:00.0 Ethernet controller:Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
      0000:03:00.1 Ethernet controller:Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
      0000:03:00.2 Ethernet controller:Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
      0000:03:00.3 Ethernet controller:Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
      
    • RHEL が 70-persistent-net.rules udev ルールを生成する前に、必要に応じて /etc/udev/rules.d/60-persistent-net.rules を作成します。NAME:= を使用する場合は、あとで値を変更することができません。

      # 0000:03:00.0 Ethernet controller:NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) was eth0
      ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.0", NAME:="primary"
      
      # 0000:03:00.1 Ethernet controller:NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) was eth1
      ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.1", NAME:="app1"
      
      # 0000:03:00.2 Ethernet controller:NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) was eth2
      ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.2", NAME:="app2"
      
      # 0000:03:00.3 Ethernet controller:NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) was eth3
      ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.3", NAME:="backup"
      
    • /etc/sysconfig-network/scripts/ifcfg-* ファイルを変更して、DEVICE= 値で新しい名前を使用してください。

      # grep ^DEVICE= ifcfg-* | grep -v =lo$
      ifcfg-app1:DEVICE="app1"
      ifcfg-app2:DEVICE="app2"
      ifcfg-backup:DEVICE="backup"
      ifcfg-primary:DEVICE="primary"
      
    • udevadm を使用して、名前設定が有効かどうかルールをテストします。

      # udevadm test /class/net/eth0 2>&1 | grep NAME
      udev_rules_apply_to_event:NAME 'primary' /etc/udev/rules.d/60-persistent-net.rules:2
      
    • ネットワーク接続に問題がある場合はコンソールアクセスを確認してから、システムを再起動します。

注意: これは、NetworkManagerを使用していない (つまり ifcfg-* で NM_CONTROLLED=no を設定した) システムでテストされました。

Diagnostic Steps

参考となる Red Hat ドキュメント:

一般サイトの参考資料:

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments