NVMe عبر النسيج (Fabrics): FC-NVMe وNVMe/TCP وNVMe/RoCE ووحداتها الضوئية
استبدل NVMe بروتوكول SCSI داخل الخادم لأن الفلاش سريع بما يكفي لإظهار التكلفة الحاسوبية للبروتوكول القديم؛ ويحمل NVMe عبر الشبكات (NVMe-oF) مجموعة الأوامر نفسها عبر شبكة بحيث يستطيع التخزين المشترك مجاراة السرعة. ويعمل فوق ثلاثة نواقل تقابل ثلاثة أنواع من الشبكات — وبالتالي ثلاثة أنواع من البصريات وثلاث مجموعات من قواعد الطبقة الفيزيائية. تقارن هذه الصفحة بينها وتبيِّن ما يطلبه كل منها من الوصلات.
لماذا NVMe-oF
| الجانب | عصر SCSI (FCP، وiSCSI) | NVMe-oF |
|---|---|---|
| طوابير الأوامر | طابور واحد، ~32–256 أمرًا | حتى 64 ألف طابور × 64 ألف أمر؛ متوازية بحكم التصميم |
| التكلفة الحاسوبية للبروتوكول لكل عملية إدخال/إخراج | عشرات الميكروثواني من وقت المعالج | بضع ميكروثوانٍ؛ وتتجاوز نواقل RDMA المعالج |
| الكمون الذي يضيفه النسيج | نمطيًا 100–200 µs | 10–30 µs (RDMA/FC)، و30–80 µs (TCP) |
| الأنسب لـ | HDD ومصفوفات الفلاش المبكرة | التخزين الكامل بالفلاش، والتخزين المفكَّك، ومسارات بيانات GPU |
النواقل
| الناقل | الشبكة | بلا فقد؟ | الكمون | ملاحظات |
|---|---|---|---|---|
| FC-NVMe (FC-NVMe-2) | Fibre Channel بسرعة 16/32/64GFC | نعم، بالأرصدة | منخفض جدًا | يعمل إلى جانب SCSI FCP على النسيج وSFP نفسها؛ وتقسيم المناطق وخادم الأسماء دون تغيير (أساسيات بروتوكول FC) |
| NVMe/RoCE v2 | Ethernet بسرعة 25/100/200/400G ببطاقات NIC تدعم RDMA | يتطلب PFC/ECN (DCQCN) | منخفض جدًا | verbs الخاصة بـRDMA فوق UDP/IP؛ يحتاج ضبطًا بلا فقد من طرف إلى طرف (إيثرنت بلا فقد) |
| NVMe/TCP | أي Ethernet/IP | لا — يتعامل TCP مع الفقد | منخفض إلى متوسط | بلا بطاقات NIC أو ميزات مبدِّل خاصة؛ قابل للتوجيه؛ الخيار الأكثر انتشارًا في المؤسسات |
| NVMe/IB | InfiniBand | نعم، بالأرصدة | منخفض جدًا | تخزين HPC/الذكاء الاصطناعي (InfiniBand) |
وتتشارك النواقل الأربعة معمارية NVMe-oF نفسها: تخبر وحدة تحكم الاكتشاف المضيفين بالأنظمة الفرعية الموجودة؛ ويُوصِّل المضيفون الطوابير بوحدات تحكم الإدخال/الإخراج؛ وتتولى ANA (الوصول غير المتماثل لمساحة الأسماء) تعدد المسارات.
ما يطلبه كل ناقل من الطبقة الفيزيائية
| الناقل | متطلب الوصلة | البصريات |
|---|---|---|
| FC-NVMe | وصلات FC نظيفة — CRC/ITW قريبان من الصفر، والأرصدة غير مستنفَدة | FC SFP بسرعة 16/32/64GFC، معتمدة من المورّد (بصريات FC) |
| NVMe/RoCE | فقد صفري: FEC مفعَّل، وPFC على فئة RoCE، ودون أخطاء CRC (كل إطار مفقود يوقف طابور RDMA بإعادة إرسال go-back-N) | 25G SFP28 / 100G QSFP28 / 400G؛ وDAC داخل الرف، وSR/AOC داخل الصف، وLR/DR بين الغرف؛ وFEC حسب PMD |
| NVMe/TCP | عادية؛ ويكلِّف الفقد كمونًا، لا صحة البيانات | أي بصريات Ethernet |
| NVMe/IB | كما في نُسُج InfiniBand | كبلات وبصريات IB (كبلات IB) |
وRoCE هو الأكثر حساسية: فالوصلة بقدرة Rx هامشية أو موصل متسخ تُنتج أخطاء CRC كان TCP سيمتصها بصمت، لكنها توقف طوابير RDMA بشكل ظاهر. وارتفاعات كمون التخزين التي تتبع عدّادات أخطاء المنفذ هي العلامة الدالة (قدرة Rx وميزانية الوصلة، مقاييس VDM وFEC).
الاختيار
| الموقف | الناقل المناسب |
|---|---|
| شبكة SAN من نوع FC قائمة، ومصفوفات فلاش كاملة | FC-NVMe — النسيج والبصريات نفسها، فعِّله لكل هدف |
| تخزين Ethernet جديد كليًا، وموردون متعددون، وتوجيه بين المواقع | NVMe/TCP |
| حساس للكمون، ومورّد Ethernet واحد، وخبرة داخلية بالتقنية بلا فقد | NVMe/RoCE |
| عنقود HPC/ذكاء اصطناعي بنسيج IB | NVMe/IB أو أنظمة ملفات متوازية فوق IB |
| عناقيد GPU بتوسع أفقي (scale-out) عبر Ethernet | NVMe/RoCE أو NVMe/TCP على شبكة تخزين منفصلة (نُسُج GPU) |
ملاحظات تشغيلية
- شبكات منفصلة للتخزين والحوسبة حيثما أمكن — أو فئات حركة منفصلة على الأقل؛ ويحتاج RoCE فئته الخاصة بلا فقد.
- MTU: بقيمة 9000 على نواقل Ethernet؛ ومتّسقة من طرف إلى طرف.
- تعدد المسارات: نسيجان أو VLAN/leaf اثنان؛ وأجهزة بادئة (initiators) تدرك ANA.
- المراقبة: عدّادات CRC/FEC والإيقاف المؤقت لكل منفذ، إضافة إلى اتجاهات DDM — فالوحدة البصرية المتدهورة تظهر كزمن انتظار ذيلي قبل فشلها بوقت طويل (المراقبة).
- البرنامج الثابت: مصفوفات توافق البرنامج الثابت لبطاقات NIC/HBA والمصفوفة تهم بقدر أهمية توافق البصريات (البصريات في SAN).
في CodingBox
بصريات نسيج NVMe-oF هي وحدات FC أو Ethernet أو IB عادية؛ والفرق هو مقدار الخطأ الضئيل الذي يتحمله الناقل. وقراءة الهوية وDDM كخط أساس على منصة الاختبار قبل التركيب (Check transceiver، DDM)، وترميز الهويات التي يقبلها موردو المصفوفة والمبدِّل (قفل المورّد)، هما الجزءان من المهمة اللذان يلامسان المبرمج.
المهايئات التي تعمل عليها هذه النُسُج — بطاقات NIC بسرعة 100G/200G، وأقفاصها، وحدود PCIe، وسياسات الوحدات: بطاقات NIC بمنافذ ضوئية.