NVMe บน TCP คืออะไร (NVMe/TCP)

เรียนรู้ว่า NVMe over TCP คืออะไร และ NVMe over TCP ทำงานอย่างไรในภาษาง่ายๆ

อธิบาย NVMe ผ่าน TCP

ความต้องการที่เพิ่มขึ้นสำหรับการประมวลผลแบบคลาวด์ต้องการระบบจัดเก็บข้อมูลที่มีประสิทธิภาพและราคาย่อมเยา แม้ว่าฮาร์ดดิสก์ไดร์ฟ (HDD) ทั่วไปจะมีราคาถูก แต่สิ่งเหล่านี้ไม่สามารถโฮสต์ซอฟต์แวร์ที่ขับเคลื่อนด้วยประสิทธิภาพหรือกระบวนการคำนวณบนคลาวด์ได้

ดังนั้น เพื่อแก้ไขปัญหานี้ในที่เก็บข้อมูลขนาดใหญ่สำหรับอุปกรณ์คอมพิวเตอร์ NVM Express Inc. เผยแพร่สถาปัตยกรรมสำหรับ NVMe SSD ซึ่งเป็นอุปกรณ์จัดเก็บข้อมูลภายในที่รวดเร็วเป็นพิเศษสำหรับคอมพิวเตอร์ผ่าน PCIe หรือ Peripheral Component Interconnect Express bus

อย่างไรก็ตาม PCIe ใช้สำหรับการสื่อสารข้อมูลโดยตรงระหว่าง RAM และ NVMe SSD เท่านั้น เราจะใช้สิ่งเดียวกันนี้กับสภาพแวดล้อมการประมวลผลแบบคลาวด์ที่คอมพิวเตอร์โฮสต์และไคลเอนต์ตั้งอยู่ในสถานที่ห่างไกลได้อย่างไร อุปกรณ์เหล่านี้สามารถสื่อสารผ่านอินเทอร์เน็ตหรืออินทราเน็ตเท่านั้น

เพื่อรับมือกับความท้าทายนี้ NVMe over Fabric หรือโปรโตคอล NVMe-oF ได้รับการออกแบบมาเพื่อให้สามารถพัฒนาโซลูชันการจัดเก็บข้อมูลเครือข่าย NVMe ได้ ใช้อินเทอร์เฟซข้อกำหนดอุปกรณ์แบบลอจิคัล NVMe เพื่อถ่ายโอนข้อมูลระหว่างโฮสต์คอมพิวเตอร์หรือเซิร์ฟเวอร์กับเครือข่ายพื้นที่เก็บข้อมูล (SAN) หรือที่เก็บข้อมูลที่แนบมาโดยตรง (DAS)

แต่การปรับใช้ NVMe-oF นั้นมีราคาแพงมากแม้แต่กับองค์กรขนาดใหญ่ นอกจากนี้ เนื่องจาก NVMe-oF ต้องการสายเคเบิลใยแก้วนำแสงเป็นสื่อกลางในการขนส่งข้อมูลจากจุด A ไปยังจุด B เป็นหลัก จึงไม่เพียงเป็นไปได้ที่จะปรับใช้ NVMe-oF สำหรับคลาวด์สาธารณะเท่านั้น

เพื่อแก้ไขปัญหานี้ NVM Express Inc. มาพร้อมกับ NVMe ผ่านโปรโตคอล TCP หรือ NVMe/TCP

NVMe บน TCP (NVMe/TCP) คืออะไร

NVMe/TCP เป็นรุ่นเพิ่มเติมของข้อกำหนดคำสั่ง I/O หน่วยเก็บข้อมูลที่ใช้ NVMe เป็นเวอร์ชันขั้นสูงของ NVMe-oF และกำหนดฟังก์ชันการทำงานของโปรโตคอลการถ่ายโอนข้อมูล NVMe ไปยังโปรโตคอลการสื่อสารผ่านข้อความ TCP

มี NVMe/TCP Transport Specification ที่อธิบายถึงสิ่งต่อไปนี้:

  • วิธีแมปคิว NVMe ตามกฎชุดมาตรฐาน
  • วิธีสร้างแคปซูลสำหรับ NVMe บน Fabric
  • วิธีส่งแคปซูล NVMe-oF ไปยังระบบขนส่งเครือข่ายไฟเบอร์ InfiniBand และระบบที่ไม่ใช่ไฟเบอร์โดยใช้ระบบที่คุ้นเคย โปรโตคอลควบคุมการขนส่งหรือ TCP

โดยสรุป การรวมกันของ NVMe และ TCP ทำให้ NVMe/TCP ถ่ายโอนข้อมูลและคำสั่งได้เร็วขึ้นและปราศจากข้อผิดพลาดระหว่างโฮสต์ NVMe-oF และอุปกรณ์ควบคุม NVMe-oF

อุปกรณ์ดังกล่าวสามารถเชื่อมต่อผ่านอินเทอร์เน็ตและอินทราเน็ตโดยใช้เครือข่าย TCP/IP บนอีเทอร์เน็ต สื่อการเชื่อมต่ออาจเป็นสายเคเบิลใยแก้วนำแสงหรือสายเคเบิล Cat 5 และ Cat 6 ทั่วไป

เหตุใดจึงต้องใช้ NVMe มากกว่า TCP

ระบบการขนส่ง NVMe ดั้งเดิมนั้นมีไว้สำหรับ SSD ที่จะเข้าสู่ระบบพีซีโดยตรง โดยส่วนใหญ่อยู่บนเมนบอร์ด โปรโตคอลการขนส่งได้รับการปรับให้เหมาะสมในขั้นต้นสำหรับ NVM PCIe SSD ที่เชื่อมต่อกับเซิร์ฟเวอร์หรือเวิร์กสเตชันภายใน

ในภายหลังสำหรับข้อกำหนดการจัดเก็บข้อมูลขนาดใหญ่ที่รวดเร็วและน่าทึ่งบนคลาวด์ โปรโตคอลการขนส่ง NVMe ที่มีการรวมการส่งข้อมูล ข้อกำหนดที่ศูนย์ข้อมูลคลาวด์ใช้ส่วนใหญ่ เช่น Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), และอินฟินิแบนด์

แม้ว่าการปรับเปลี่ยน NVMe ข้างต้นจะทำงานได้ดี แต่ก็ไม่เหมาะสำหรับระบบคลาวด์สาธารณะเนื่องจากไคลเอ็นต์ต้องใช้อุปกรณ์ฮาร์ดแวร์พิเศษ ดังนั้น ระบบเชื่อมโยงการขนส่ง TCP จึงถูกรวมเข้าไว้ด้วยกัน ซึ่งพร้อมใช้งานทั่วโลกและเชื่อถือได้ผ่านเครือข่ายทางไกล

องค์ประกอบหลักของ NVMe บน TCP

ข้อกำหนดการขนส่ง NVMe/TCP สำหรับ NVMe-oF ประกอบด้วยส่วนประกอบเครือข่ายต่อไปนี้:

  • ระบบการเข้าถึงข้อมูลระยะไกลโดยใช้โปรโตคอล NVMe เป็นไปตาม Open Systems Interconnection (OSI) Model สำหรับระบบเครือข่ายคอมพิวเตอร์
  • NVMe/TCP ใช้เทคโนโลยีเครือข่ายอีเธอร์เน็ตที่ทำงานในเลเยอร์ OSI กายภาพและดาต้าลิงก์ OSI
  • สำหรับโปรโตคอลการสื่อสารและนโยบายการแลกเปลี่ยนข้อมูลแพ็คเก็ต NVMe/TCP อาศัยโปรโตคอล TCP/IP
  • ชุดคำสั่ง NVMe เพื่อแปลงคำสั่งที่ผู้ใช้ออกและแอปพลิเคชัน I/O ทั้งหมดให้เป็นตารางคำสั่ง NVMe เฉพาะ เช่น ผู้ดูแลระบบ, I/O, แฟบริค เป็นต้น
  • การถ่ายโอนคำสั่ง NVMe จากระยะไกลในรูปแบบแฟบริกข้อความ เกิดขึ้นโดยใช้แคปซูล แคปซูลเหล่านี้อาจเป็นแคปซูลตอบสนองหรือคำสั่งก็ได้ แคปซูลคำสั่ง NVMe แสดงถึงหน่วยของการแลกเปลี่ยนข้อมูล NVMe
  • ระบบย่อยและโฮสต์คอนโทรลเลอร์สื่อสารระหว่างกันโดยการแลกเปลี่ยน NVMe/TCP Protocol Data Units หรือ NVMe/TCP PDU
  • มีกระบวนการเชื่อมต่อสามขั้นตอนระหว่างระบบย่อยของคอนโทรลเลอร์และโฮสต์ ขั้นตอนหรือขั้นตอนเหล่านี้ได้แก่ NVMe-oF Connect, NVMe/TCP Connect และ Fabric Connect
  • ในระบบการเชื่อมโยงการขนส่ง NVMe/TCP ตัวควบคุม I/O แบบไดนามิกจะถูกสร้างขึ้นโดยอัตโนมัติและกำหนดให้กับคอมพิวเตอร์โฮสต์เมื่อระบบย่อยเชื่อมต่อกับโฮสต์ NVMe-OF สำเร็จ

ประโยชน์ของ NVMe บน TCP

  • TCP เป็นโปรโตคอลการถ่ายโอนข้อมูลทางอินเทอร์เน็ตหรืออินทราเน็ตที่ใช้กันแพร่หลายมากที่สุด และพร้อมใช้งานกับศูนย์ข้อมูลทุกแห่งและไคลเอนต์ของทรัพยากรคลาวด์คอมพิวติ้ง
  • ศูนย์ข้อมูลและไคลเอ็นต์ไม่จำเป็นต้องเปลี่ยนฮาร์ดแวร์เครือข่ายที่มีอยู่ เช่น เราเตอร์ สวิตช์ และ NIC
  • TCP สามารถใช้ได้ทั้งสายไฟเบอร์และสาย Cat 5 หรือ Cat 6 ดังนั้นการบำรุงรักษาจึงค่อนข้างง่าย
  • การรวมการขนส่ง TCP สำหรับ NVMe-oF ให้ประสิทธิภาพสูงและเวลาแฝงต่ำ ดังนั้นจึงเหมาะอย่างยิ่งสำหรับกระบวนการที่สำคัญต่อภารกิจและใช้ CPU มากบนโฮสต์คอมพิวเตอร์ และเข้าถึงได้ง่ายโดยไคลเอนต์ระยะไกลหลายเครื่องโดยไม่มีข้อขัดแย้งในการอ่าน/เขียน
  • TCP นำเสนอการกำหนดเส้นทางแบบไดนามิก ดังนั้น เมื่อเปรียบเทียบกับการเข้าถึงหน่วยความจำโดยตรงจากระยะไกล (RDMA) TCP จึงเป็นประสิทธิภาพสูงสุดในศูนย์ข้อมูลขนาดใหญ่และการดำเนินงานบนคลาวด์จากระยะทางที่ไกลกว่า
  • TCP มีชุมชนการพัฒนาที่ใหญ่กว่าข้อกำหนดการขนส่ง NVMe อื่นๆ

ความท้าทายของ NVMe เหนือ TCP

  • เมื่อใช้สแต็ก TCP คุณต้องอนุญาตให้ CPU แก้ไขการดำเนินการส่วนใหญ่ของ TCP เช่น การคำนวณเช็คซัม ดังนั้น ในระดับที่ใหญ่ขึ้น เมื่อเวิร์กสเตชันไคลเอ็นต์หลายเครื่องร้องขอให้เขียนและอ่านข้อมูลจากอุปกรณ์จัดเก็บข้อมูลในเครือข่ายผ่านโฮสต์พีซี ภาระงานบนโฮสต์ CPU จะเพิ่มขึ้น
  • โครงสร้างพื้นฐานแบบไฮเปอร์คอนเวอร์จต้องเรียบง่าย อย่างไรก็ตาม เมื่อคุณใช้ NVMe/TCP คุณจะทำให้มันซับซ้อน
  • NVMe บน TCP ยังมีจุดอ่อนด้านความปลอดภัยบางประการที่แฮ็กเกอร์สามารถใช้เพื่อแทรกซึมการทำงานบนคลาวด์ของคุณ ขโมยข้อมูล และทำให้ข้อมูลลับพร้อมใช้งานบน เว็บมืด เว้นแต่คุณจะปรับใช้ความปลอดภัยทางไซเบอร์ที่เข้มงวดและ โซลูชันป้องกันไวรัส.

NVMe บน TCP: คำสุดท้าย

TCP เป็นโปรโตคอลชั้นนำในศูนย์ข้อมูลเครือข่ายสาธารณะหรือส่วนตัว ดังนั้น NVMe/TCP จึงเป็นตัวเลือกแรกสำหรับการจัดหาโซลูชันการจัดเก็บข้อมูลราคาย่อมเยาผ่านอินเทอร์เน็ต อินทราเน็ต และโครงสร้างพื้นฐานระบบคลาวด์

โปรโตคอลนี้ยังสามารถปรับขนาดได้และเชื่อถือได้ผ่านการเชื่อมต่อเครือข่ายทางไกล เนื่องจากเวลาแฝงในการอ่าน/เขียนที่เก็บข้อมูลบนคลาวด์เทียบเท่ากับโปรโตคอลไฟเบอร์แชนเนลส่วนใหญ่ NVMe บน TCP จึงเป็นโซลูชันการขนส่งที่เก็บข้อมูลบนคลาวด์ที่ต้องการ

ถัดไป 3 ทางเลือกในการจัดเก็บข้อมูลบนคลาวด์