RHEL 6.4: การเชื่อมช่องทางโหมด 1 ไม่ได้ล้มเหลว


11

ฉันใช้ 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บันทึกสำหรับการแจ้งเตือนว่าลิงก์ในพอร์ตนั้นหยุดทำงาน


1
คุณสามารถเพิ่มข้อมูลเพิ่มเติมเช่นสวิตช์ / รุ่นที่เชื่อมต่อกับการตั้งค่า VLAN ใด ๆ บนสวิตช์สถานะทาสทาสก์และ / var / log / ข้อความหลังจากถอดสายเคเบิลไปยัง eth0 แล้วหรือไม่
Andy Shinn

@AndyShinn สวิตช์ที่เชื่อมต่อโดยตรงกับ ProCurve 1800-8G ไม่มี VLAN บนเครือข่าย มันเป็นเครือข่ายย่อยเดียวที่เรียบง่ายเครือข่าย VLAN เดียว
Wesley

@AndyShinn Ah และยังมีการรายงานสถานะทาสทาสupอีกด้วย การทำ/var/log/messagesตามเวลาที่ eth0 ถูกถอดออกเพียงแสดงให้เห็นว่าลิงค์ทองแดงนั้นถูกถอดออก ไม่มีข้อความจากโมดูลการเชื่อม
Wesley

คำตอบ:


21

อ่าน. ของคุณ configs

และเมื่อมันล้มเหลว ...

อ่าน. ทั้งหมด เอาท์พุท

คุณเห็นสิ่งที่อยู่ในifcfg-bond0? ไม่มีคุณจะเข้าใจสิ่งที่อยู่ในifcfg-bond0?
อะไรในโลกของเพนกวินลื่นmiimmon=100ล่ะ
โอ้ฉันขอโทษคุณหมายถึงmiimon=100อะไร

ใช่ฉันคิดว่าคุณหมายและไม่ได้miimonmiimmon

นอกจากนี้ของรางวัลใหญ่คือเมื่อคุณเริ่มบริการเครือข่ายของคุณคุณจะเห็นสิ่งนี้:

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:  ./network-functions: line 446: /sys/class/net/bond0/bonding/miimmon: No such file or directory
./network-functions: line 446: /sys/class/net/bond0/bonding/miimmon: No such file or directory
                                                           [  OK  ]

ใส่ใจทุกสิ่งที่คุณพิมพ์และเมื่อคุณพิมพ์ผิดพลาดอย่างหลีกเลี่ยงไม่ได้ให้ใส่ใจกับทุกงานที่คุณเห็น

คุณเป็นคนไม่ดีและคุณควรรู้สึกแย่


8
BAD CAT! สเปรย์พร้อมสายยาง
voretaq7

2

ลองระบุหนึ่งใน NICS ให้เป็นทาสหลัก

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 primary=eth0"

เอกสารเพิ่มเติมจากRH :

primary = ระบุชื่ออินเตอร์เฟสเช่น eth0 ของอุปกรณ์หลัก อุปกรณ์หลักเป็นอินเทอร์เฟซการเชื่อมแรกที่จะใช้และไม่ถูกทอดทิ้งเว้นแต่ว่าจะล้มเหลว การตั้งค่านี้มีประโยชน์อย่างยิ่งเมื่อ NIC หนึ่งตัวในอินเทอร์เฟซการเชื่อมประสานนั้นเร็วขึ้นและสามารถจัดการกับโหลดที่ใหญ่กว่าได้ การตั้งค่านี้จะใช้ได้เฉพาะเมื่ออินเทอร์เฟซการเชื่อมต่ออยู่ในโหมด active-backup อ้างถึง /usr/share/doc/kernel-doc-/Documentation/networking/bonding.txt สำหรับข้อมูลเพิ่มเติม


ก่อนที่ฉันจะแก้ไขifcfg-bond0ฉันจะตรวจสอบ/sys/class/net/bond0/bonding/primaryและคำตอบนั้นว่างเปล่า ผมเพิ่มprimary=eth0ไปifcfg-bond0และเริ่มต้นบริการเครือข่าย ไม่มีการเปลี่ยนแปลงในอาการและไม่เปลี่ยนแปลง/sys/class/net/bond0/bonding/primaryขอบคุณสำหรับคำแนะนำ!
Wesley

ลองเพิ่ม use_carrier = 0? ดูเอกสารรายละเอียด RH ด้านบน
dmourati

เสร็จแล้ว - เพิ่มข้อมูลลงในคำถาม ไม่มีการเปลี่ยนแปลงพฤติกรรม แต่เป็นตัวเลือกที่ดีที่ควรทราบ
Wesley

2

เพิ่มตัวเลือกการเชื่อมต่อไปนี้ downdelay = xxxx ใน milisec ที่ล้มเหลว eth หลังจากตรวจพบว่าล้มเหลวและตั้งค่า slave หลักให้เหลือ หากพารามิเตอร์นี้ไม่ได้อยู่ใน bonding_opt พันธะตรวจจับความล้มเหลว (เพราะคุณรวม miimom = yyyy) แต่มันไม่เคยล้มเหลว eth0 คุณสามารถเห็นสิ่งนี้เกิดขึ้นได้โดยดูที่ไฟล์ / proc / net / bonding / bondX

อย่างไรก็ตามด้วย RHEL 6.3 (เกือบเป็นเวอร์ชั่นเดียวกันกับของคุณ) เรากำลังประสบปัญหาอื่น ๆ อีกหลายอย่างเกี่ยวกับการเชื่อมโยงที่เกี่ยวข้องกับความล้มเหลวกลับไปที่ mac addr ที่ซ้ำกันที่เห็นจากสวิตช์

โชคดี.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.