Saya menjalankan RHEL 6.4, kernel-2.6.32-358.el6.i686, pada HP ML 350 G5 dengan dua onboard Broadcom NetXtreme II BCM5708 1000Base-T NICs. Tujuan saya adalah menyalurkan ikatan kedua antarmuka menjadi mode=1
pasangan failover.
Masalah saya adalah bahwa terlepas dari semua bukti bahwa ikatan telah diatur dan diterima, menarik kabel keluar dari NIC primer menyebabkan semua komunikasi terhenti.
ifcfg-etho dan ifcfg-eth1
Pertama, ifcfg-eth0:
DEVICE=eth0
HWADDR=00:22:64:F8:EF:60
TYPE=Ethernet
UUID=99ea681d-831b-42a7-81be-02f71d1f7aa0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
Selanjutnya, ifcfg-eth1:
DEVICE=eth1
HWADDR=00:22:64:F8:EF:62
TYPE=Ethernet
UUID=92d46872-eb4a-4eef-bea5-825e914a5ad6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ifcfg-bond0
File konfigurasi ikatan saya:
DEVICE=bond0
IPADDR=192.168.11.222
GATEWAY=192.168.11.1
NETMASK=255.255.255.0
DNS1=192.168.11.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimmon=100"
/etc/modprobe.d/bonding.conf
Saya memiliki /etc/modprobe.d/bonding.conf
file yang diisi sebagai berikut:
alias bond0 bonding
ip addr output
Ikatan sudah habis dan saya dapat mengakses layanan publik server melalui alamat IP ikatan:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.222/24 brd 192.168.11.255 scope global bond0
inet6 fe80::222:64ff:fef8:ef60/64 scope link
valid_lft forever preferred_lft forever
Modul Kernel Berikat
... dimuat:
# cat /proc/modules | grep bond
bonding 111135 0 - Live 0xf9cdc000
/ sys / class / net
Sistem /sys/class/net
file menunjukkan hal-hal baik:
cat /sys/class/net/bonding_masters
bond0
cat /sys/class/net/bond0/operstate
up
cat /sys/class/net/bond0/slave_eth0/operstate
up
cat /sys/class/net/bond0/slave_eth1/operstate
up
cat /sys/class/net/bond0/type
1
/ var / log / messages
Tidak ada masalah muncul di file log. Bahkan, semuanya terlihat agak bahagia.
Jun 15 15:47:28 rhsandbox2 kernel: Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: Adding slave eth0.
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: using MSI
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: making interface eth0 the new active one.
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: first active interface up!
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: enslaving eth0 as an active interface with an up link.
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: Adding slave eth1.
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:05:00.0: eth1: using MSI
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: enslaving eth1 as a backup interface with an up link.
Jun 15 15:47:28 rhsandbox2 kernel: 8021q: adding VLAN 0 to HW filter on device bond0
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:05:00.0: eth1: NIC Copper Link is Up, 1000 Mbps full duplex
Jadi apa masalahnya?!
Menyentak kabel jaringan dari eth0 menyebabkan semua komunikasi menjadi gelap. Apa yang bisa menjadi masalah dan langkah apa lagi yang harus saya ambil untuk memecahkan masalah ini?
EDIT:
Pemecahan Masalah Lebih Lanjut:
Jaringan adalah satu subnet, VLAN tunggal yang disediakan oleh switch ProCurve 1800-8G. Saya telah menambahkan primary=eth0
untuk ifcfg-bond0
dan jasa networking restart, tapi hal itu tidak mengubah perilaku apapun. Saya memeriksa /sys/class/net/bond0/bonding/primary
sebelum dan sesudah menambahkan primary=eth1
dan memiliki nilai nol, yang saya tidak yakin baik atau buruk.
Tailing /var/log/messages
ketika eth1
kabelnya dilepas menunjukkan tidak lebih dari:
Jun 15 16:51:16 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Down
Jun 15 16:51:24 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex
Saya menambahkan use_carrier=0
untuk ifcfg-bond0
's BONDING_OPTS
bagian untuk memungkinkan penggunaan ioctls MII / ethtool. Setelah memulai kembali layanan jaringan, tidak ada perubahan gejala. Menarik kabel dari eth0
menyebabkan semua komunikasi jaringan terhenti. Sekali lagi, tidak ada kesalahan dalam /var/log/messages
menyimpan untuk pemberitahuan bahwa tautan pada port itu turun.
up
. Tailing /var/log/messages
pada saat eth0 dicabut hanya menunjukkan bahwa tautan tembaga telah dicabut. Tidak ada pesan dari modul bonding.