CodingBox दस्तावेज़

NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE और इनकी ऑप्टिक्स

सर्वर के भीतर NVMe ने SCSI की जगह ले ली, क्योंकि फ़्लैश इतना तेज़ है कि प्रोटोकॉल का ओवरहेड सामने आ जाए; NVMe over Fabrics (NVMe-oF) वही कमांड सेट नेटवर्क पर ले जाता है, ताकि साझा स्टोरेज रफ़्तार बनाए रख सके। यह तीन ट्रांसपोर्ट पर चलता है, जो तीन तरह के नेटवर्क से मैप होते हैं — और इसलिए तीन तरह के ऑप्टिक्स और फ़िज़िकल-लेयर नियमों के तीन सेट लाते हैं। यह पेज इनकी तुलना करता है और बताता है कि हर एक लिंक से क्या माँगता है।

NVMe-oF क्यों

पहलूSCSI-युग (FCP, iSCSI)NVMe-oF
कमांड क्यूएक क्यू, ~32–256 कमांड64k क्यू × 64k कमांड तक; डिज़ाइन से ही पैरेलल
प्रति I/O प्रोटोकॉल ओवरहेडदसियों µs CPU समयकुछ ही µs; RDMA ट्रांसपोर्ट CPU को बायपास करते हैं
फ़ैब्रिक से जुड़ी लेटेंसीआमतौर पर 100–200 µs10–30 µs (RDMA/FC), 30–80 µs (TCP)
सबसे उपयुक्तHDD और शुरुआती फ़्लैश ऐरेऑल-फ़्लैश, डिसएग्रीगेटेड स्टोरेज, GPU डेटा पाइपलाइन

ट्रांसपोर्ट

ट्रांसपोर्टनेटवर्कलॉसलेस?लेटेंसीनोट
FC-NVMe (FC-NVMe-2)Fibre Channel 16/32/64GFCहाँ, क्रेडिट सेबहुत कमउसी फ़ैब्रिक और SFP पर SCSI FCP के साथ-साथ चलता है; ज़ोनिंग और नेम सर्वर वही रहते हैं (FC प्रोटोकॉल बेसिक्स)
NVMe/RoCE v2RDMA NIC के साथ Ethernet 25/100/200/400GPFC/ECN (DCQCN) चाहिएबहुत कमUDP/IP पर RDMA verbs; एंड टू एंड लॉसलेस कॉन्फ़िगरेशन चाहिए (लॉसलेस ईथरनेट)
NVMe/TCPकोई भी Ethernet/IPनहीं — TCP लॉस संभालता हैकम–मध्यमकोई ख़ास NIC या स्विच फ़ीचर नहीं चाहिए; राउटेबल; एंटरप्राइज़ का सबसे ज़्यादा इस्तेमाल होने वाला विकल्प
NVMe/IBInfiniBandहाँ, क्रेडिट सेबहुत कमHPC/AI स्टोरेज (InfiniBand)

चारों NVMe-oF आर्किटेक्चर साझा करते हैं: एक डिस्कवरी कंट्रोलर होस्ट को बताता है कि कौन-से सबसिस्टम मौजूद हैं; होस्ट क्यू को I/O कंट्रोलर से कनेक्ट करते हैं; ANA (असिमेट्रिक नेमस्पेस एक्सेस) मल्टीपाथ संभालता है।

हर ट्रांसपोर्ट फ़िज़िकल लेयर से क्या माँगता है

ट्रांसपोर्टलिंक रिक्वायरमेंटऑप्टिक्स
FC-NVMeसाफ़ FC लिंक — CRC/ITW लगभग ज़ीरो, क्रेडिट ख़त्म न होंFC SFP 16/32/64GFC, विक्रेता-वैलिडेटेड (FC ऑप्टिक्स)
NVMe/RoCEज़ीरो लॉस: FEC ऑन, RoCE क्लास पर PFC, कोई CRC एरर नहीं (हर खोया फ़्रेम go-back-N रीट्रांसमिशन के साथ RDMA क्यू को अटका देता है)25G SFP28 / 100G QSFP28 / 400G; रैक में DAC, रो में SR/AOC, कमरों के बीच LR/DR; प्रति PMD FEC
NVMe/TCPसामान्य; लॉस लेटेंसी की क़ीमत लेता है, करेक्टनेस की नहींकोई भी Ethernet ऑप्टिक्स
NVMe/IBInfiniBand फ़ैब्रिक जैसाIB केबल और ऑप्टिक्स (IB केबलिंग)

RoCE सबसे संवेदनशील है: मार्जिनल Rx पावर या गंदे कनेक्टर वाला लिंक ऐसे CRC एरर पैदा करता है जिन्हें TCP चुपचाप सोख लेता, लेकिन जो RDMA क्यू को साफ़ तौर पर अटका देते हैं। स्टोरेज लेटेंसी स्पाइक जो किसी पोर्ट के एरर काउंटर के साथ-साथ चलें, यही पहचान है (Rx पावर और लिंक बजट, VDM और FEC मेट्रिक)।

चुनना

स्थितिउपयुक्त ट्रांसपोर्ट
मौजूदा FC SAN, ऑल-फ़्लैश ऐरेFC-NVMe — वही फ़ैब्रिक, वही ऑप्टिक्स, प्रति टारगेट इनेबल करें
ग्रीनफ़ील्ड Ethernet स्टोरेज, मिक्स्ड वेंडर, साइट के बीच राउटिंगNVMe/TCP
लेटेंसी-क्रिटिकल, सिंगल-वेंडर Ethernet, इन-हाउस लॉसलेस एक्सपर्टीज़NVMe/RoCE
IB फ़ैब्रिक वाला HPC/AI क्लस्टरNVMe/IB या IB पर पैरेलल फ़ाइल सिस्टम
Ethernet स्केल-आउट वाले GPU क्लस्टरअलग स्टोरेज नेटवर्क पर NVMe/RoCE या NVMe/TCP (GPU फ़ैब्रिक)

ऑपरेशनल नोट

  • जहाँ मुमकिन हो, स्टोरेज और कंप्यूट के लिए अलग नेटवर्क — या कम से कम अलग ट्रैफ़िक क्लास; RoCE को अपनी ख़ुद की लॉसलेस क्लास चाहिए।
  • MTU: Ethernet ट्रांसपोर्ट पर 9000; एंड टू एंड कंसिस्टेंट।
  • मल्टीपाथ: दो फ़ैब्रिक या दो VLAN/लीफ़; ANA-अवेयर इनिशिएटर।
  • मॉनिटरिंग: प्रति-पोर्ट CRC/FEC और पॉज़ काउंटर, साथ ही DDM ट्रेंड — फ़ेल होने से बहुत पहले ही डिग्रेड होता ऑप्टिक टेल लेटेंसी के रूप में दिख जाता है (मॉनिटरिंग)।
  • फ़र्मवेयर: NIC/HBA और ऐरे के फ़र्मवेयर कंपैटिबिलिटी मैट्रिक्स उतने ही मायने रखते हैं जितनी ऑप्टिक्स कंपैटिबिलिटी (SAN में ऑप्टिक्स)।

CodingBox में

NVMe-oF फ़ैब्रिक के ऑप्टिक्स आम FC, Ethernet या IB मॉड्यूल ही होते हैं; फ़र्क़ इसमें है कि ट्रांसपोर्ट कितनी कम ग़लती बर्दाश्त करता है। इंस्टॉलेशन से पहले बेंच पर पहचान जानकारी और बेसलाइन DDM पढ़ना (Check transceiver, DDM), और ऐरे व स्विच के वेंडर जो पहचान स्वीकार करते हैं वह कोड करना (विक्रेता लॉक) — यही काम के वे हिस्से हैं जो प्रोग्रामर को छूते हैं।

जिन एडेप्टर पर ये फ़ैब्रिक चलते हैं — 100G/200G NIC, इनके केज, PCIe सीमाएँ और मॉड्यूल पॉलिसी: ऑप्टिकल पोर्ट वाले NIC


अगर आपको इस सामग्री में कोई अशुद्धि या त्रुटि दिखे, तो संबंधित अंश चुनें और Ctrl+Enter दबाकर