RHEL5.2環境でbondingを組んでいるのだが、起動時に下記メッセージが表示され、対象のデバイスが利用できないという問題が発生した。
インターフェイス bond1 を活性化中: デバイス eth2 は存在しないようですので、初期化を遅らせます
[OK]
上記メッセージではeth2であるが、eth4であったり、が出なかったりし、規則性は見出せなかった。
- Red Hat Enterprise Linux 5.2/x86_64
- eth0,1: Broadcom NetXtreme II BCM5708 Gigabit Ethernet
- eth2,3,4,5: Intel 82571EB Gigabit Ethernet Controller
- bond0: Active-Backup, eth0+eth2
- bond1: Active-Backup, eth1+eth3+eth4
lspciを実行し、NICに関する情報を収集
#lspci | grep Ether
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
10:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
10:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
11:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
11:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
以下はドライバをインストールした際などに自動的に設定された。
# cat /etc/modprobe.conf
alias eth0 e1000
alias eth1 e1000e
alias eth2 e1000
alias eth3 e1000
alias eth4 e1000e
alias eth5 e1000
(以下略)
本環境では/etc/sysconfig/network-script/ifcfg-ethXにてMACアドレスとethXの対応付けが行われているので以下の様になっている。対応付けが正しくされていない場合にもこのエラーが出る為、まずは意図した割り当てがされるかどうかを確認すること。
alias | NIC |
eth0 | Broadcom BCM5708 Port1 |
eth1 | Broadcom BCM5708 Port2 |
eth2 | Intel 82571EB Port1 |
eth3 | Intel 82571EB Port2 |
eth4 | Intel 82571EB Port3 |
eth5 | Intel 82571EB Port4 |
次に、Broadcom BCM5708にe1000及びe1000eドライバを組み込むことが指定されているが、bnx2が正しく、Intel 82571EBにはe1000ではなくe1000eが正しい。このあたりの不整合が原因でエラーが発生しているものと考えられる。
よって、modprobe.confを以下のように編集
alias eth0 bnx2
alias eth1 bnx2
alias eth2 e1000e
alias eth3 e1000e
alias eth4 e1000e
alias eth5 e1000e
再起動して、エラーが発生しないことを確認。