मैं लिनक्स के तहत बंधुआ इंटरफेस के बारे में कुछ भ्रमित व्यवहार देख रहा हूं और मैं इस स्थिति को इस उम्मीद में फेंकना चाहूंगा कि कोई मेरे लिए इसे साफ कर सकता है।
मेरे पास दो सर्वर हैं: सर्वर 1 (S1) में 4x 1Gbit ईथरनेट कनेक्शन हैं; सर्वर 2 (S2) में 2x 1Gbit ईथरनेट कनेक्शन हैं। दोनों सर्वर Ubuntu 12.04 चला रहे हैं, हालांकि कर्नेल 3.11.0-15 (lts-saucy linux-generic पैकेज से)।
दोनों सर्वरों में निम्नलिखित विन्यास (इन /etc/network/interfaces
) के साथ एकल बांड इंटरफेस में बंडल किए गए सभी संबंधित नेटवर्क इंटरफेस हैं :
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-slaves eth0 eth1 [eth2 eth3]
सर्वरों के बीच HP स्विच के एक जोड़े हैं जो (मुझे लगता है) प्रश्न में बंदरगाहों पर LACP के लिए सही ढंग से कॉन्फ़िगर किए गए हैं।
अब, लिंक काम कर रहा है - नेटवर्क ट्रैफ़िक खुशी से और दोनों मशीनों से बहता है। और सभी संबंधित इंटरफेस का उपयोग किया जा रहा है, इसलिए ऐसा नहीं है कि एकत्रीकरण पूरी तरह से विफल हो रहा है। हालाँकि, मुझे इन दोनों सर्वरों के बीच अधिक से अधिक बैंडविड्थ की आवश्यकता है, और मुझे ~ 2Gbit / s नहीं मिल रहा है जिसकी मुझे उम्मीद है।
अपने परीक्षण में, मैं यह देख सकता हूं कि प्रत्येक सर्वर एक एकल स्लेव इंटरफेस में प्रत्येक टीसीपी कनेक्शन (जैसे आईपीएर्फ, एससीपी, एनएएफएस, जो भी हो) आवंटित करने के लिए लगता है। अनिवार्य रूप से सब कुछ अधिकतम 1 गीगाबिट में छाया हुआ लगता है।
सेटिंग करके bond-xmit-hash-policy layer3+4
, मैं iperf -c S1 -P2
दो स्लेव इंटरफेस पर भेजने के लिए उपयोग कर सकता हूं , लेकिन सर्वर की ओर, रिसेप्शन अभी भी केवल एक स्लेव इंटरफेस पर हो रहा है और कुल थ्रूपुट इसलिए 1Gbit / s पर कैप्ड किया गया है, अर्थात क्लाइंट ~ 40-50MB / s दिखाता है दो दास इंटरफेस पर, सर्वर एक दास इंटरफेस पर ~ 100MB / s दिखाता है। bond-xmit-hash-policy
भेजने के बिना भी एक दास इंटरफ़ेस तक सीमित है।
मैं इस धारणा के तहत था कि एलएसीपी को इस तरह के कनेक्शन को बंडलिंग की अनुमति देनी चाहिए, उदाहरण के लिए, दोनों मेजबानों के बीच सभी उपलब्ध इंटरफेस का उपयोग करने के लिए एक एकल स्केप स्थानांतरण।
क्या एलएसीपी के बारे में मेरी समझ गलत है? या क्या मैंने कहीं कॉन्फ़िगरेशन के कुछ विकल्प खो दिए हैं? किसी भी सुझाव या जांच के लिए सुराग बहुत सराहना की जाएगी!