आरएचईएल 6.4: मोड 1 चैनल बॉन्डिंग विफल नहीं है


11

मैं आरएचईएल 6.4, कर्नेल-2.6.32-358.el6.i686, एचपी एमएल 350 जी 5 पर दो ऑनबोर्ड ब्रॉडकॉम नेटएक्सट्रीम II बीसीएम 5708 1000Base-T एनआईसी के साथ चला रहा हूं। मेरा लक्ष्य दो इंटरफेस को एक mode=1फेलओवर जोड़ी में बांधना है।

मेरी समस्या यह है कि बांड को स्थापित करने और स्वीकार किए जाने के सभी सबूतों के बावजूद, प्राथमिक एनआईसी से केबल को खींचने से सभी संचार बंद हो जाते हैं।

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

आईपी ​​Addr उत्पादन

बॉन्ड ऊपर है और मैं बॉन्ड के आईपी पते के माध्यम से सर्वर की सार्वजनिक सेवाओं तक पहुंच बना सकता हूं:

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 से नेटवर्क केबल को यैंकिंग करने से सभी संचार अंधेरे में चले जाते हैं। समस्या क्या हो सकती है और इसके निवारण के लिए मुझे और क्या कदम उठाने चाहिए?

संपादित करें:

आगे की समस्या निवारण:

नेटवर्क एक एकल सबनेट है, एक एकल वीएलएएन जो प्रोचुरवे 1800-8 जी स्विच द्वारा प्रदान किया गया है। मैं जोड़ लिया है primary=eth0करने के लिए ifcfg-bond0और सेवाओं को पुनः आरंभ नेटवर्किंग, लेकिन किसी भी व्यवहार नहीं बदला है। मैंने /sys/class/net/bond0/bonding/primaryजोड़ने से पहले और बाद में दोनों की जाँच की primary=eth1और इसका एक अशक्त मूल्य है, जो मुझे यकीन नहीं है कि अच्छा या बुरा है।

पीछा /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के BONDING_OPTSअनुभाग MII / ethtool ioctls के उपयोग के लिए सक्षम बनाता है के लिए। नेटवर्क सेवा को पुनरारंभ करने के बाद, लक्षणों में कोई बदलाव नहीं हुआ। केबल को खींचने से eth0सभी नेटवर्क संचार बंद हो जाते हैं। एक बार फिर, /var/log/messagesअधिसूचना के लिए कोई त्रुटि नहीं है कि उस बंदरगाह पर लिंक नीचे चला गया।


1
क्या आप कुछ और जानकारी जोड़ सकते हैं जैसे मेक / मॉडल स्विच से जुड़े, स्विच पर किसी भी वीएलएएन सेटअप, बॉन्ड स्लेव स्टेट्स और / var / log / संदेश केबल के बाद eth0 अनप्लग है?
एंडी शिन

@AndyShinn यह स्विच जो सीधे जुड़ा है, एक ProCurve 1800-8G है। नेटवर्क पर कोई वीएलएएन नहीं हैं। यह एक साधारण सिंगल सबनेट, सिंगल वीएलएएन नेटवर्क है।
वेस्ले

@AndyShinn आह, और भी बांड दास राज्यों दोनों के रूप में सूचित किया जाता है up। पीछा /var/log/messageseth0 जा रहा है अनप्लग केवल शो के समय है कि तांबे लिंक अनप्लग किया गया है पर। बॉन्डिंग मॉड्यूल से कोई संदेश नहीं।
वेस्ले

जवाबों:


21

पढ़ें। तुम्हारी। कॉन्फ़िगरेशन।

और जब वह विफल हो जाता है ...

पढ़ें। सब। Outputs।

क्या आप देख रहे हैं कि क्या है ifcfg-bond0? नहीं, क्या आप समझते हैं कि क्या है ifcfg-bond0?
फिसलन पेंगुइन की दुनिया में क्या है miimmon=100?
ओह आई एम सॉरी, क्या आपका मतलब था miimon=100?

हाँ, मुझे लगता है कि आपका मतलब है miimonऔर नहीं miimmon

इसके अलावा, एक बड़ा सस्ता रास्ता यह है कि जब आप अपनी नेटवर्क सेवा को पुनरारंभ करते हैं तो आप इसे देखते हैं:

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
बुरी बिल्ली! स्प्रे के साथ नली
voretaq7

2

एनआईसी में से एक को प्राथमिक दास के रूप में निर्दिष्ट करने का प्रयास करें।

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"

आरएच से अधिक प्रलेखन :

प्राथमिक = प्राथमिक डिवाइस का इंटरफ़ेस नाम, जैसे कि eth0, निर्दिष्ट करता है। प्राथमिक उपकरण उपयोग किए जाने वाले संबंध इंटरफेस में से पहला है और जब तक यह विफल नहीं होता है तब तक इसे छोड़ नहीं दिया जाता है। यह सेटिंग विशेष रूप से तब उपयोगी होती है जब बॉन्डिंग इंटरफ़ेस में एक NIC तेज़ हो और इसलिए, एक बड़े भार को संभालने में सक्षम हो। यह सेटिंग केवल तभी मान्य है जब बॉन्डिंग इंटरफ़ेस सक्रिय-बैकअप मोड में हो। अधिक जानकारी के लिए /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सुझाव के लिए धन्यवाद में कोई बदलाव नहीं है !
वेस्ले

use_carrier = 0 जोड़ने का प्रयास करें? विवरण के लिए आरएच डॉक के ऊपर देखें
दमुराती

हो गया - सवाल में जानकारी जोड़ दी। व्यवहार में कोई बदलाव नहीं हुआ, लेकिन इसके बारे में जानने के लिए यह एक अच्छा विकल्प है।
वेस्ले

2

मिलिसेक में निम्नलिखित बॉन्डिंग विकल्प downdelay = xxxx जोड़ें जो एक एथ को विफल कर देता है क्योंकि इसे विफल माना गया है और शेष के लिए प्राथमिक दास सेट करें। यदि यह पैरामीटर bonding_opt में नहीं है, तो बॉन्ड विफलता का पता लगाता है (क्योंकि आप miimom = yyyy को शामिल करते हैं) लेकिन यह कभी भी eth0 को विफल नहीं करता है। आप इसे / proc / net / bonding / bondX फ़ाइल को देखकर ऐसा कर सकते हैं।

वैसे भी, आरएचईएल 6.3 (आपके जैसे लगभग एक ही संस्करण) के साथ, हमें असफलता से संबंधित कई अन्य समस्याएं हैं, जो स्विच से देखी गई डुप्लिकेट मैक एड्र के साथ जुड़ी हुई हैं।

सौभाग्य।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.