ฉันใช้ RHEL 6.4, kernel-2.6.32-358.el6.i686 บน HP ML 350 G5 กับ Broadcom NetXtreme II BCM5708 สองเครื่องในตัว NICs เป้าหมายของฉันคือการเชื่อมช่องทางเชื่อมต่อสองอินเทอร์เฟซเข้ากับmode=1
คู่ของการเฟลโอเวอร์
ปัญหาของฉันคือแม้ว่าหลักฐานทั้งหมดที่มีการตั้งค่าและยอมรับการดึงสายเคเบิลออกจาก NIC หลักทำให้การสื่อสารทั้งหมดหยุด
ifcfg-etho และ ifcfg-eth1
ก่อนอื่น 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
ถัดไป 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
ไฟล์ปรับแต่งของพันธบัตรของฉัน:
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
ฉันมี/etc/modprobe.d/bonding.conf
ไฟล์ที่มีประชากร:
alias bond0 bonding
เอาท์พุท ip addr
พันธะขึ้นและฉันสามารถเข้าถึงบริการสาธารณะของเซิร์ฟเวอร์ผ่านที่อยู่ IP ของพันธบัตร:
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
โมดูลเคอร์เนลพันธะ
... กำลังโหลด:
# cat /proc/modules | grep bond
bonding 111135 0 - Live 0xf9cdc000
sys / / ระดับ / สุทธิ
/sys/class/net
สิ่งที่แสดงให้เห็นว่าระบบแฟ้มที่ดี
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 / ข้อความ
ไม่มีสิ่งที่น่ากังวลปรากฏในล็อกไฟล์ ที่จริงแล้วทุกอย่างดูค่อนข้างมีความสุข
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
ดังนั้นปัญหาคืออะไร!
การดึงสายเคเบิลเครือข่ายจาก eth0 ทำให้การสื่อสารทั้งหมดมืดลง ปัญหาคืออะไรและฉันควรดำเนินการขั้นตอนใดเพิ่มเติมเพื่อแก้ไขปัญหานี้
แก้ไข:
การแก้ไขปัญหาเพิ่มเติม:
เครือข่ายเป็นเครือข่ายย่อยเดียว VLAN เดี่ยวที่ได้รับจากสวิตช์ ProCurve 1800-8G ฉันได้เพิ่มprimary=eth0
ไปifcfg-bond0
และเริ่มต้นการให้บริการเครือข่าย แต่ที่ไม่ได้เปลี่ยนพฤติกรรมใด ๆ ฉันตรวจสอบ/sys/class/net/bond0/bonding/primary
ทั้งก่อนและหลังการเพิ่มprimary=eth1
และมันมีค่าเป็นศูนย์ซึ่งฉันไม่แน่ใจว่าดีหรือไม่ดี
Tailing /var/log/messages
เมื่อeth1
แสดงให้เห็นว่ามีสายเคเบิลถูกลบออกอะไรมากไปกว่า:
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
ผมเพิ่มuse_carrier=0
ไปifcfg-bond0
's BONDING_OPTS
ส่วนเพื่อช่วยให้สามารถใช้ MII / ioctls ETHTOOL หลังจากรีสตาร์ทบริการเครือข่ายไม่มีอาการเปลี่ยนแปลง การดึงสายเคเบิลeth0
ทำให้การสื่อสารเครือข่ายทั้งหมดหยุด ไม่มีข้อผิดพลาดในการ/var/log/messages
บันทึกสำหรับการแจ้งเตือนว่าลิงก์ในพอร์ตนั้นหยุดทำงาน
up
อีกด้วย การทำ/var/log/messages
ตามเวลาที่ eth0 ถูกถอดออกเพียงแสดงให้เห็นว่าลิงค์ทองแดงนั้นถูกถอดออก ไม่มีข้อความจากโมดูลการเชื่อม