हम एक 4 बंदरगाह डाल इंटेल I340-T4 एक FreeBSD 9.3 सर्वर में एनआईसी 1 और के लिए इसे कॉन्फिगर लिंक एकत्रीकरण में LACP मोड 2- करने के लिए एक मास्टर फ़ाइल सर्वर से डेटा के 16 TiB के लिए समय यह दर्पण 8 लेता कमी करने की कोशिश में 4 क्लोन समानांतर में। हम 4 Gbit / sec समुच्चय बैंडविड्थ के लिए उठने की उम्मीद कर रहे थे, लेकिन कोई फर्क नहीं पड़ता कि हमने क्या कोशिश की है, यह कभी भी 1 Gbit / sec कुल से अधिक तेजी से नहीं निकलता है। 2
हम इसका उपयोग iperf3
एक विलक्षण LAN पर कर रहे हैं । 3 पहला उदाहरण लगभग एक गीगाबिट को हिट करता है, जैसा कि अपेक्षित था, लेकिन जब हम समानांतर में एक दूसरे को शुरू करते हैं, तो दो क्लाइंट लगभग / Gbit / sec की गति में गिर जाते हैं। तीसरे ग्राहक को जोड़ने से तीनों ग्राहकों की गति ~ sec Gbit / sec, और इसी तरह आगे बढ़ती है।
हमने उन iperf3
परीक्षणों को स्थापित करने में ध्यान रखा है, जो सभी चार परीक्षण ग्राहकों के ट्रैफ़िक अलग-अलग बंदरगाहों पर केंद्रीय स्विच में आते हैं:
हमने सत्यापित किया है कि प्रत्येक परीक्षण मशीन में रैक स्विच पर एक स्वतंत्र पथ है और फ़ाइल सर्वर, उसका एनआईसी, और स्विच सभी में lagg0
समूह को तोड़कर और प्रत्येक को एक अलग आईपी पता असाइन करने के लिए बैंडविड्थ है। इस इंटेल नेटवर्क कार्ड पर चार इंटरफेस में से। उस कॉन्फ़िगरेशन में, हमने ~ 4 Gbit / sec समुच्चय बैंडविड्थ हासिल किया।
जब हमने इस रास्ते को शुरू किया, तो हम एक पुराने SMC8024L2 प्रबंधित स्विच के साथ कर रहे थे । (पीडीएफ डेटाशीट, 1.3 एमबी।) यह अपने दिन का उच्चतम-अंत स्विच नहीं था, लेकिन ऐसा करने में सक्षम होना चाहिए। हमने सोचा कि इसकी उम्र के कारण स्विच में गलती हो सकती है, लेकिन बहुत अधिक सक्षम HP 2530-24G में अपग्रेड करने से लक्षण में बदलाव नहीं हुआ।
HP 2530-24G स्विच का दावा है कि प्रश्न में चार पोर्ट वास्तव में एक गतिशील LACP ट्रंक के रूप में कॉन्फ़िगर किए गए हैं:
# show trunks
Load Balancing Method: L3-based (default)
Port | Name Type | Group Type
---- + -------------------------------- --------- + ----- --------
1 | Bart trunk 1 100/1000T | Dyn1 LACP
3 | Bart trunk 2 100/1000T | Dyn1 LACP
5 | Bart trunk 3 100/1000T | Dyn1 LACP
7 | Bart trunk 4 100/1000T | Dyn1 LACP
हमने निष्क्रिय और सक्रिय LACP दोनों की कोशिश की है।
हमने सत्यापित किया है कि सभी चार NIC बंदरगाहों को FreeBSD की ओर से ट्रैफ़िक मिल रहा है:
$ sudo tshark -n -i igb$n
अजीब तरह से, यह tshark
दर्शाता है कि सिर्फ एक क्लाइंट के मामले में, स्विच दो बंदरगाहों पर 1 Gbit / sec स्ट्रीम को विभाजित करता है, जाहिर है कि उनके बीच पिंग-पिंगिंग है। (एसएमसी और एचपी दोनों स्विच ने यह व्यवहार दिखाया।)
चूंकि क्लाइंट का एग्रीगेट बैंडविड्थ केवल एक ही स्थान पर एक साथ आता है - सर्वर के रैक में स्विच पर - केवल उस स्विच को एएसीपी के लिए कॉन्फ़िगर किया गया है।
इससे कोई फर्क नहीं पड़ता कि हम किस क्लाइंट को शुरू करते हैं, या हम उन्हें किस क्रम में शुरू करते हैं।
ifconfig lagg0
FreeBSD पक्ष कहता है:
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=401bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
ether 90:e2:ba:7b:0b:38
inet 10.0.0.2 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::92e2:baff:fe7b:b38%lagg0 prefixlen 64 scopeid 0xa
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
laggproto lacp lagghash l2,l3,l4
laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: igb2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
हमने FreeBSD नेटवर्क ट्यूनिंग गाइड में उतनी ही सलाह दी है जितनी हमारी स्थिति के लिए। (इसमें से अधिकांश अप्रासंगिक है, जैसे कि अधिकतम एफडी बढ़ाने के बारे में सामान।)
हमने परिणामों में कोई बदलाव नहीं करने के साथ, टीसीपी विभाजन को बंद करने की कोशिश की है ।
दूसरे टेस्ट को सेट करने के लिए हमारे पास दूसरा 4-पोर्ट सर्वर NIC नहीं है। 4 अलग-अलग इंटरफेस के साथ सफल परीक्षण के कारण, हम इस धारणा पर चल रहे हैं कि कोई भी हार्डवेयर क्षतिग्रस्त नहीं है। 3
हम इन मार्गों को आगे देखते हैं, उनमें से कोई भी अपील नहीं है:
एक बड़ा, बैडर स्विच खरीदें, यह उम्मीद करते हुए कि एसएमसी का एलएसीपी कार्यान्वयन केवल बेकार है, और यह कि नया स्विच बेहतर होगा।(HP 2530-24G में अपग्रेड करने से मदद नहीं मिली।)FreeBSD
lagg
विन्यास को कुछ और देखें, उम्मीद है कि हम कुछ चूक गए। 4इसके बजाय लोड संतुलन को प्रभावित करने के लिए लिंक एकत्रीकरण को भूल जाएं और राउंड-रॉबिन डीएनएस का उपयोग करें।
सर्वर एनआईसी को बदलें और फिर से स्विच करें, इस बार 10 गीगा सामान के साथ, इस एलएसीपी प्रयोग की लगभग 4 × हार्डवेयर लागत।
फुटनोट
FreeBSD 10 में क्यों नहीं जाएं, आप पूछें? क्योंकि FreeBSD 10.0-RELEASE अभी भी ZFS पूल संस्करण 28 का उपयोग करता है, और इस सर्वर को ZFS पूल 5000 में अपग्रेड किया गया है, FreeBSD 9.3 में एक नई सुविधा है। 10. x लाइन तब तक नहीं मिलेगी जब तक FreeBSD 10.1 जहाजों के बारे में एक महीने नहीं । और नहीं, स्रोत से पुनर्निर्माण करके 10.0-स्टेबल ब्लीडिंग एज एक विकल्प नहीं है, क्योंकि यह एक उत्पादन सर्वर है।
कृपया निष्कर्ष पर न जाएं। हमारे परीक्षा परिणाम बाद में प्रश्न में आपको बताते हैं कि यह इस प्रश्न का दोहराव क्यों नहीं है ।
iperf3
एक शुद्ध नेटवर्क परीक्षण है। हालाँकि अंतिम लक्ष्य डिस्क से उस 4 Gbit / sec समुच्चय पाइप को भरना और भरना है, हम अभी तक डिस्क सबसिस्टम को शामिल नहीं कर रहे हैं।छोटी गाड़ी या खराब डिज़ाइन, हो सकता है, लेकिन कारखाने से निकलते समय इससे अधिक टूटा नहीं।
मैंने पहले ही ऐसा करने से किनारा कर लिया है।