NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE และออปติกที่ใช้ · ระบบจัดเก็บข้อมูล · เทคโนโลยี · เอกสารประกอบ · CodingBox
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เวลา CPU หลายสิบ µsไม่กี่ µ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ใช่ ด้วยเครดิตต่ำมากทำงานควบคู่กับ SCSI FCP บนฟาบริกและ SFP เดียวกัน; โซนนิ่งและเนมเซิร์ฟเวอร์ไม่เปลี่ยนแปลง (พื้นฐานโปรโตคอล FC)
NVMe/RoCE v2Ethernet 25/100/200/400G ด้วย NIC แบบ RDMAต้องมี PFC/ECN (DCQCN)ต่ำมากverbs ของ RDMA บน UDP/IP; ต้องตั้งค่าไม่ให้สูญเสียข้อมูลตลอดเส้นทางจากต้นทางถึงปลายทาง (Ethernet แบบไม่สูญเสียข้อมูล)
NVMe/TCPEthernet/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, เปิด 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)

การเลือกใช้งาน

สถานการณ์ทรานสปอร์ตที่เหมาะสม
มี FC SAN อยู่แล้ว, อาร์เรย์แบบแฟลชทั้งหมดFC-NVMe — ฟาบริกเดียวกัน ออปติกเดียวกัน เปิดใช้ทีละเป้าหมาย
สตอเรจ Ethernet ที่สร้างใหม่ทั้งหมด, ผู้ผลิตหลากหลาย, จัดเส้นทางระหว่างไซต์NVMe/TCP
เวลาแฝงสำคัญมาก, Ethernet จากผู้ผลิตรายเดียว, มีความเชี่ยวชาญด้านระบบไม่สูญเสียข้อมูลในองค์กรNVMe/RoCE
คลัสเตอร์ HPC/AI ที่มีฟาบริก IBNVMe/IB หรือระบบไฟล์แบบขนานบน IB
คลัสเตอร์ GPU ที่ขยายด้วย EthernetNVMe/RoCE หรือ NVMe/TCP บนเครือข่ายสตอเรจแยกต่างหาก (ฟาบริก GPU)

ข้อสังเกตด้านปฏิบัติการ

  • แยกเครือข่าย สำหรับสตอเรจและการประมวลผลเมื่อทำได้ — หรืออย่างน้อยแยกคลาสทราฟฟิก; RoCE ต้องการคลาสที่ไม่สูญเสียข้อมูลของตัวเอง
  • MTU: 9000 บนทรานสปอร์ต Ethernet; ต้องตรงกันตลอดเส้นทางจากต้นทางถึงปลายทาง
  • มัลติพาธ: สองฟาบริกหรือสอง VLAN/ลีฟ; อินิชิเอเตอร์ที่รองรับ ANA
  • การตรวจติดตาม: ตัวนับ CRC/FEC และ pause ต่อพอร์ต รวมถึงแนวโน้มของ DDM — ออปติกที่เสื่อมสภาพจะแสดงออกเป็นเวลาแฝงส่วนหางนานก่อนที่จะเสียจริง (การตรวจติดตาม)
  • เฟิร์มแวร์: ตารางความเข้ากันได้ของเฟิร์มแวร์ NIC/HBA กับอาร์เรย์สำคัญพอ ๆ กับความเข้ากันได้ของออปติก (ออปติกใน SAN)

ใน CodingBox

ออปติกของฟาบริก NVMe-oF ก็คือโมดูล FC, Ethernet หรือ IB ทั่วไป; ความต่างอยู่ที่ทรานสปอร์ตทนต่อข้อผิดพลาดได้น้อยแค่ไหน การอ่านข้อมูลระบุตัวตนและบันทึกค่าฐานของ DDM บนโต๊ะทดสอบก่อนติดตั้ง (Check transceiver, DDM) และการเขียนโค้ดข้อมูลระบุตัวตนที่ผู้ผลิตอาร์เรย์และสวิตช์ยอมรับ (การล็อกผู้ผลิต) คือส่วนของงานที่เกี่ยวข้องกับเครื่องโปรแกรม

อะแดปเตอร์ที่ฟาบริกเหล่านี้ทำงานอยู่บน — NIC 100G/200G, เคจของมัน, ข้อจำกัดของ PCIe และนโยบายโมดูล: NIC ที่มีพอร์ตออปติคัล


หากพบข้อมูลที่ไม่ถูกต้องหรือข้อผิดพลาดในบทความนี้ ให้เลือกข้อความส่วนนั้นแล้วกด Ctrl+Enter เพื่อ