TrueNAS Core से SCALE 24.10 में move करने के बाद X520-DA2 का एक port iperf3 में सिर्फ 1 Gbit/s करता है
storage box Core 13.0-U6.7 से SCALE 24.04 और फिर 24.10 पर गया, और तभी से एक port रेंग रहा है जबकि उसी card पर उसका जुड़वां बिल्कुल खुश है। 25G card भी वैसा ही करता है, जिसकी वजह से मुझे अपनी आंखों पर ही शक होने लगा है।
- Intel multimode SFP+ optics के साथ Intel X520-DA2, switch तक 10G
- Intel SFP28 optics के साथ Intel XXV710-DA2, उसी switch तक 25G
- NAS पर TrueNAS SCALE 24.10 (पहले Core 13.0-U6.7 था, फिर 24.04)
- मापदंड के तौर पर NAS और एक client के बीच iperf3
धीमे port पर link state ठीक वैसी ही दिखती है जैसी होनी चाहिए:
$ ethtool enp1s0f0 | grep -E 'Speed|Duplex|Link detected'
Speed: 10000Mb/s
Duplex: Full
Link detected: yes
$ iperf3 -c 192.168.3.2
# parks itself around 1 Gbit/s for the whole run
# the second port of the same card does line rate against its own client
अब तक किया:
- card के दोनों ports के बीच optics बदलीं; धीमा port धीमा ही रहा, तेज़ वाला तेज़ ही रहा
- दोनों सिरों पर sysctl net.ipv4.tcp_congestion_control compare किया, same value
- दोनों सिरे reseat किए और ferrules साफ कीं
link layer पर जो कुछ भी measurable है वह 10G और 25G full duplex कहता है, और payload फिर भी लगभग gigabit पर अटका है। क्या modules degrade हो रहे हैं, क्या NIC अपने रास्ते पर बाहर जा रहा है, या मैं गलत layer देख रहा हूं?
Comments 3
तुम खुद optics को पहले ही बाहर कर चुके हो: उन्हें ports के बीच बदला और धीमापन port के साथ ही रहा। तो modules को छोड़ दो और link-layer facts को throughput numbers से अलग करो, क्योंकि वे अलग-अलग सवालों के जवाब देते हैं।
एक ही card पर एक तेज़ और एक धीमे port के बीच आमतौर पर दो चीज़ें अलग होती हैं। इन्हें साथ देखो:
अगर एक MTU 1500 पर बैठा है और दूसरा 9014 पर, और वे अलग-अलग VLANs में हैं, तो तुम्हारा धीमा test NIC से बाहर जाकर वापस नहीं आ रहा, यह host के routing path से गुज़र रहा है। धीमे port के जैसे ही VLAN और subnet में एक client रखो और उसके खिलाफ iperf3 -c चलाओ। path में कोई router नहीं, कोई MTU mismatch नहीं, बहस करने को कुछ नहीं।
अगर single-VLAN test line rate देता है, तो port और transceiver ठीक हैं और तुमने असल में जो मापा वह host पर inter-VLAN routing performance है, जहां Core से SCALE की काफी सारी moves आकर खत्म होती हैं: VLANs के बीच forwarding साफ तौर पर Core के मुकाबले खराब है।
यह एक diagnosis है, असली इलाज नहीं। ज्यादातर वापस पाने के लिए heavy flows को एक ही VLAN के अंदर रखो, या routing NAS की बजाय switch को सौंप दो। कम से कम यह तुम्हें दो बिल्कुल अच्छे SFP+ modules वापस करने से रोक देता है।
कोई optics निकालना शुरू करे इससे पहले: switch उन दोनों ports के बारे में क्या कहता है? Negotiated speed, duplex और दोनों पर error counters। और धीमे test में iperf3 server कौन सा सिरा चलाता है - run को पलटकर दूसरी तरफ से push करने पर क्या ceiling वहीं टिकी रहती है?
फिर धीमे port और तेज़ वाले, दोनों का MTU और VLAN साथ-साथ पोस्ट करो। एक port जो 10G negotiate करता है और सिर्फ एक gigabit payload भेजता है, वह लगभग हर सूरत में forwarding या path problem है, optical नहीं। अगर दोनों ports एक ही VLAN में नहीं बैठते, तो iperf3 तुम्हारे link को नहीं, तुम्हारे router को grade कर रहा है।
अलग hardware, वही shape। SFP+ DAC पर X520-DA cards से जुड़े दो boxes back to back, एक तरफ Hyper-V Server Core 2012 R2 और दूसरी तरफ एक NAS4Free 9.1 storage box। सीधे-सीधे, उस जोड़ी ने पढ़ने-लिखने में 8-9 Gbit/s किया। जैसे ही port को एक Hyper-V virtual switch से bind किया गया यह गिरकर करीब 500 Mbit/s पर आ गया, और Windows Server 2012 R2 और Windows 8.1 के नीचे cards को दोबारा test करने से कुछ भी नहीं बदला।
यह कभी साबित नहीं हुआ। मुझे मिला एक जवाब यह पूछता था कि हर सिरे के पीछे कौन सी disks और कौन सा RAID level था, जो एक वाजिब सवाल है, क्योंकि storage 10G path से कहीं पहले ceiling बन सकता है। इससे जो आदत मैंने ली: उसी link को extra layer लगाकर और हटाकर मापो, और अगर हो सके तो एक RAM disk के खिलाफ भी। वहां भी cable और cards समस्या नहीं निकले।