NVMe-oF là gì?

Trong những năm gần đây, chúng ta tiếp tục chứng kiến ​​hiệu suất lưu trữ ngày càng nhanh hơn, điều này đang thách thức các giao thức lưu trữ cũ đã trở thành nút thắt cổ chai cho các trung tâm dữ liệu. Mặc dù sử dụng tốc độ kênh sợi quang mới nhất đến 100GbE và các tiêu chuẩn mạng mới, chẳng hạn như InfiniBand, các công nghệ giao thức mạng chậm đó sẽ hạn chế hiệu suất của thiết bị flash, giữ nó bên trong thiết bị và nằm cô lập. Trong bài viết này, chúng ta cùng tìm hiểu sơ qua về Non-Volatile Memory Express (NVMe). Tiếp đó chúng ta sẽ tìm hiểu tổng quan về NVMe Over Fabrics (NVMe-oF) và NVMe over ‘RDMA over Converged Ethernet’ (NVMe over RoCE), một đặc tả giao thức mới được phát triển để giải quyết các tắc nghẽn của mạng lưu trữ hiện đại.

NVMe-oF

Do luôn có nhu cầu về độ trễ thấp và thông lượng cao trên các đám mây và trung tâm dữ liệu, nên có rất nhiều cuộc thảo luận xoay quanh NVMe trên nền fabrics. Đặc điểm kỹ thuật NVMe đã tồn tại chưa đầy một thập kỷ, và vì NVMe-oF cũng tương đối mới, nên vẫn còn nhiều hiểu lầm về hoạt động của nó và cách nó mang lại lợi ích cho các doanh nghiệp. Công nghệ này đã liên tục phát triển và được áp dụng rộng rãi trong ngành CNTT. Chúng tôi bắt đầu thấy một số nhà cung cấp mạng cung cấp các sản phẩm liên quan đến NVMe-oF cho thị trường doanh nghiệp. Do đó, để bắt kịp với các công nghệ trung tâm dữ liệu tiên tiến, điều cần thiết là phải hiểu NVMe-oF là gì, các khả năng và đặc điểm hoạt động của nó. Hơn nữa, cách nó có thể được triển khai và cách chúng tôi kết hợp công nghệ này thành các giải pháp mới và khác nhau.

NVMe và NVMe-oF

All-Flash Array (AFA) xuất hiện trong các trung tâm dữ liệu để đáp ứng yêu cầu về hiệu suất cao, vì chúng nhanh hơn so với bộ nhớ cũ, có thể dễ dàng đạt được 1M IOPS được hứa hẹn ở phân khúc này. Tuy nhiên, nhiều mảng trong số này tiếp tục sử dụng công nghệ lưu trữ gần như đã cũ kỹ, SSD SATA. Loại lưu trữ này dựa trên giao thức lệnh AHCI (Advanced Host Controller Interface) và hỗ trợ IDE. AHCI về cơ bản được xây dựng cho đĩa quay cơ học chứ không phải cho các ổ đĩa dựa trên flash tiên tiến. Công nghệ dựa trên SCSI này tạo ra một nút thắt cổ chai cho ổ SSD và bộ điều khiển mảng lưu trữ ngày nay, vì bus SATA III với AHCI chỉ cho phép tốc độ truyền dữ liệu chỉ ở mức 600MB/s tối đa.

Tốc độ xe buýt NVMe-oFBảng 1 : Tốc độ bus phổ biến

Để mở khóa toàn bộ năng lực của SSD, chúng ta cần công nghệ mới để giải phóng công nghệ lưu trữ flash với tốc độ nhanh hơn. NVMe là một đặc tả kỹ thuật cho phép lưu trữ flash (hoặc SSD) tận dụng lợi ích thực sự của hiệu suất flash. Công nghệ này được giới thiệu lần đầu tiên vào năm 2014 để cải thiện thời gian phản hồi của ứng dụng, thể hiện các khả năng mới và tốt hơn. Có nhiều dạng ổ cứng thể rắn NVMe, và được biết đến nhiều nhất là AIC (thẻ bổ sung), U.2, U.3 và M.2. NVMe SSD, tận dụng bus tốc độ cao PCIe trong máy tính hoặc server, bằng cách kết nối trực tiếp đến nó. Về cơ bản, NVMe giảm tải cho CPU và hợp lý hóa các hoạt động nhằm giảm độ trễ, tăng số lượng I/O trên mỗi giây (IOPS) và thông lượng. Ví dụ: SSD NVMe cung cấp tốc độ ghi cao hơn 3.000MB/s. Nếu chúng ta so sánh với SSD SATA thì nó nhanh hơn 5 lần, và nếu so với đĩa cứng quay thì nhanh hơn 30 lần!

Sử dụng NVMe, các lượt IOPS thực hiện song song, cho phép thực hiện nhiều phép tính cùng lúc. Các nhiệm vụ lớn có thể được chia thành nhiều nhiệm vụ nhỏ hơn để xử lý độc lập. Tương tự như một CPU đa nhân, hoạt động với nhiều luồng. Mỗi lõi CPU có thể hoạt động độc lập với nhau để thực hiện các tác vụ cụ thể.

Độ sâu hàng đợi (QD) là một lợi thế khác của NVMe so với AHCI. Trong khi ACHI và SATA có thể xử lý độ sâu hàng đợi là 32 (1 hàng đợi và 32 lệnh), NVMe có thể xử lý độ sâu hàng đợi lên đến 65K. Đây là 65K hàng đợi, trong đó mỗi hàng đợi có thể chứa tới 65K lệnh cho mỗi hàng đợi. Cùng với việc giảm độ trễ, điều này tăng tốc hiệu suất cho các máy chủ bận xử lý các yêu cầu đồng thời.

NVMe-oF q độ sâuBảng 2: So sánh hàng đợi

Tuy nhiên, vấn đề đối với các trung tâm dữ liệu vẫn nằm ở các giao thức mạng lưu trữ. Mặc dù sự nổi lên của NVMe, lợi ích của nó bị giới hạn đối với từng thiết bị riêng lẻ. Và thực tế là lưu trữ flash và các thiết bị cấp doanh nghiệp (đắt tiền) khác, chẳng hạn như AFA, không nhằm mục đích cô lập hiệu suất vượt trội của nó bên trong khung máy. Thay vào đó, chúng được sử dụng trong các cụm máy tính song song quy mô lớn, kết nối chúng với các thiết bị bổ sung và đa năng, chẳng hạn như các máy chủ và bộ lưu trữ khác. Sự kết nối giữa các thiết bị này được chúng ta gọi là kết cấu, mạng lưu trữ, bao gồm thiết bị chuyển mạch, bộ định tuyến, cầu giao thức, thiết bị cổng và cáp.

Vào năm 2016, tiêu chuẩn công nghiệp NVMe-oF đã được đưa ra, đặc điểm kỹ thuật giao thức mở rộng hiệu suất đáng kinh ngạc của NVMe từ bộ điều khiển mảng lưu trữ đến kết cấu, sử dụng Ethernet, Fibre Channel, RoCE hoặc InfiniBand. NVMe-oF sử dụng một giao thức vận chuyển dữ liệu thay thế (qua các loại kênh sợi quang) làm ánh xạ truyền tải, thay vì bus PCIe được NVMe sử dụng. Các kết cấu được xây dựng dựa trên khái niệm gửi và nhận tin nhắn mà không cần chia sẻ bộ nhớ giữa các điểm cuối. Thông điệp kết cấu NVMe vận chuyển gói gọn các lệnh và phản hồi NVMe vào một hệ thống dựa trên thông báo bao gồm một hoặc nhiều lệnh hoặc phản hồi NVMe.

Trong NVMe-oF, các mục tiêu được trình bày dưới dạng namespace, tương đương với SCSI LUN. NVMe-oF cho phép máy chủ giao tiếp với các mục tiêu (Target) lưu trữ này ở khoảng cách xa hơn nhiều trong khi vẫn giữ độ trễ cực thấp, tính bằng micro giây (μs). Nói một cách đơn giản, chúng ta có được hiệu suất tốt hơn giữa các hệ thống và bộ nhớ flash mà không làm tăng đáng kể độ trễ của kênh quang. Độ trễ thấp này, một phần có thể xảy ra đối với độ sâu hàng đợi NVMe đã đề cập trước đó. NVMe-oF có thể xử lý các hàng đợi giống như NVMe, 65KCon số đáng chú ý này làm cho NVMe-oF có thể thiết kế một kiến ​​trúc song song cao giữa máy chủ và ổ đĩa, sử dụng một hàng đợi riêng biệt cho từng thiết bị này.

NVMe Fabrics Transports

Ba loại Fabrics Transports được NVMe hỗ trợ và sử dụng là NVMe-oF sử dụng RDMA, NVMe-oF sử dụng Fibre Channel và NVMe-oF sử dụng TCP.

NVMe-oF qua RDMA

Đặc tả kỹ thuật này sử dụng Remote Direct Memory Access (RDMA) và cho phép truyền dữ liệu và bộ nhớ giữa máy tính và thiết bị lưu trữ trên mạng. RDMA là một cách trao đổi thông tin giữa bộ nhớ chính của hai máy tính trong mạng mà không đi qua bộ vi xử lý (CPU), bộ nhớ đệm hoặc hệ điều hành của cả hai máy tính. Bởi vì RDMA bỏ qua hệ điều hành, nó thường là cơ chế nhanh nhất và chi phí thấp nhất để truyền dữ liệu qua mạng.

NVMe-oF qua RDMA sử dụng giao thức truyền tải TCP để phân phối dữ liệu qua các mạng IP Các triển khai RDMA điển hình bao gồm Virtual Interface Architecture, RDMA over Converged Ethernet (RoCE), InfiniBand, Omni-Path và iWARP.  RoCE, InfiniBand và iWARP hiện được sử dụng nhiều nhất.

NVMe over Fibre Channel

Sự kết hợp của việc sử dụng NVMe qua Kênh sợi quang (FC) thường được gọi là FC-NVMe, NVMe trên FC, hoặc đôi khi là NVMe/FC. Fibre Channel là một giao thức mạnh mẽ để truyền dữ liệu giữa các mảng lưu trữ và máy chủ, và hầu hết các hệ thống SAN doanh nghiệp đều sử dụng nó. Trong FC-NVMe, các lệnh được đóng gói bên trong các frame FC. Nó dựa trên các quy tắc FC tiêu chuẩn và phù hợp với Giao thức FC tiêu chuẩn hỗ trợ quyền truy cập vào flash NVMe được chia sẻ. Các lệnh SCSI được đóng gói trong các frame FC; tuy nhiên, một sự hy sinh về hiệu suất để diễn giải và dịch chúng sang các lệnh NVMe.

NVMe over TCP/IP

Loại hình vận chuyển này là một trong những phát triển mới nhất trong NVMe-oF. NVMe over TCP (Transport Control Protocol) sử dụng NVMe-oF và giao thức truyền tải TCP để truyền dữ liệu qua mạng IP (Ethernet). NVMe vận chuyển bên trong các datagrams TCP qua Ethernet dưới dạng truyền tải vật lý. Mặc dù có RDMA và Fibre Channel, TCP cung cấp một giải pháp thay thế rẻ hơn và linh hoạt hơn. Ngoài ra, so sánh nó với RoCE, cũng sử dụng Ethernet, NVMe / TCP hoạt động giống FC-NVMe hơn vì chúng sử dụng ngữ nghĩa truyền tin cho I/O.

Sử dụng NVMe-oF với RDMA, Fibre Channel hoặc TCP, tạo nên một giải pháp lưu trữ NVMe end-to-end hoàn chỉnh. Các giải pháp này cung cấp hiệu suất cao đáng chú ý trong khi duy trì độ trễ rất thấp có sẵn thông qua NVMe.

NVMe over ‘RDMA over Converged Ethernet (RoCE)

Trong số các giao thức RDMA, RoCE nổi bật. Chúng tôi biết RDMA và NVMe-oF là gì, và bây giờ chúng tôi có Converged Ethernet (CE), sự hỗ trợ của RDMA qua mạng Ethernet. CE giống như một phiên bản Ethernet nâng cao, còn được gọi là Cầu nối Trung tâm Dữ liệu và Ethernet Trung tâm Dữ liệu. Nó đóng gói các gói truyền tải InfiniBand qua Ethernet. Giải pháp của nó cung cấp cơ chế Kiểm soát lưu lượng mức liên kết để đảm bảo không mất mát, ngay cả khi mạng đã bão hòa. Giao thức RoCE cho phép độ trễ thấp hơn so với người tiền nhiệm của nó, giao thức iWARP.

Có hai phiên bản RoCE, RoCE v1 và RoCE v2. RoCE v1 là một giao thức Ethernet lớp 2 (liên kết), cho phép giao tiếp giữa hai máy chủ trong cùng một miền quảng bá Ethernet. Vì vậy, nó không thể định tuyến giữa các mạng con. Tùy chọn mới là RoCE v2, một giao thức nằm trên giao thức UDP / IPv4 hoặc UDP / IPv6. RoCE v2 là một giao thức Ethernet lớp 3 (internet), có nghĩa là các gói tin của nó có thể được định tuyến. Hỗ trợ phần mềm cho RoCE v2 vẫn đang phát triển. Mellanox OFED 2.3 trở lên có hỗ trợ RoCE v2 và cả Linux Kernel v4.5.

NVMe qua RoCE là một loại SAN mới. Giao thức này cung cấp hiệu suất dịch vụ dữ liệu doanh nghiệp giống nhau và tính linh hoạt của phần cứng và phần mềm SAN. Mặc dù giao thức RoCE được hưởng lợi từ đặc tính của mạng Ethernet hội tụ, nhưng giao thức này cũng có thể được sử dụng trên mạng Ethernet truyền thống hoặc không hội tụ. Để định cấu hình NVMe qua cấu trúc lưu trữ RoCE, NIC, switch và AFA phải hỗ trợ Ethernet hội tụ. NIC (được gọi là R-NIC) và mảng toàn bộ flash phải cung cấp hỗ trợ cho RoCE. Máy chủ có R-NIC và AFA với giao diện NVMe qua RoCE sẽ cắm và chạy với các công tắc CE được cài đặt.

Hỗ trợ NVMe-oF qua RoCE cho VMware

VMware đã thêm hỗ trợ cho lưu trữ NVMe dùng chung bằng NVMe-oF. Đối với kết nối bên ngoài, NVMe qua Kênh sợi quang và NVMe qua RDMA được hỗ trợ trong vSphere 7.0. Máy chủ ESXi có thể sử dụng RDMA qua Ethernet hội tụ v2 (RoCE v2). Để bật và truy cập bộ lưu trữ NVMe bằng RDMA, máy chủ ESXi sử dụng bộ điều hợp R-NIC trên máy chủ của bạn và bộ điều hợp SW NVMe qua bộ điều hợp lưu trữ RDMA. Cấu hình phải được định cấu hình trong cả hai bộ điều hợp để sử dụng chúng cho việc khám phá bộ nhớ NVMe.

Các mục tiêu được trình bày dưới dạng không gian tên cho máy chủ lưu trữ trong các chế độ truy cập hoạt động / tích cực hoặc không đối xứng (ALUA) khi sử dụng NVMe-oF. Điều này cho phép các máy chủ ESXi khám phá và sử dụng các không gian tên đã trình bày. ESXi mô phỏng các mục tiêu NVMe-oF dưới dạng mục tiêu SCSI nội bộ và trình bày chúng dưới dạng mục tiêu SCSI hoạt động / hoạt động hoặc mục tiêu SCSI ALUA tiềm ẩn.

Các yêu cầu của NVMe over RDMA:

  • Mảng NVMe hỗ trợ truyền tải RDMA (RoCE v2)
  • Máy chủ ESXi tương thích
  • Bộ chuyển mạch Ethernet hỗ trợ mạng không mất dữ liệu.
  • Bộ điều hợp mạng hỗ trợ RoCE v2
  • SW NVMe qua bộ điều hợp RDMA
  • Bộ điều khiển NVMe
  • RoCE ngày nay chạy trên các loại kênh quang bị tổn hao hỗ trợ ZTR (Zero Touch RoCE) hoặc yêu cầu một mạng được cấu hình cho lưu lượng thông tin không mất dữ liệu ở lớp 2 hoặc ở cả lớp 2 và lớp 3 (sử dụng PFC)

Khi thiết lập NVMe-oF trên ESXi host, cần tuân thủ một số quy tắc.

  • Không kết hợp các loại truyền tải để truy cập vào cùng một namespace.
  • Đảm bảo tất cả các đường dẫn hoạt động được hiển thị cho máy host.
  • NMP không được sử dụng / hỗ trợ; thay vào đó, HPP (Trình cắm hiệu suất cao) được sử dụng cho các mục tiêu NVMe.
  • Bạn phải có các liên kết chuyên dụng, VMkernel và bộ điều hợp RDMA cho các mục tiêu NVMe của mình.
  • Kết nối VLAN lớp 3 hoặc lớp 2 chuyên dụng
  • Các giới hạn:
    • Namespace-32
    • Paths = 128 (tối đa 4 đường dẫn / namespace trên một máy host)

Phần kết luận

Với ngày càng nhiều người phụ thuộc vào dữ liệu trong các dịch vụ đám mây, ngày càng có nhiều nhu cầu về việc lưu trữ back-end nhanh hơn trong các trung tâm dữ liệu. NVMe là một cách mới hơn để giao tiếp với các thiết bị flash và cùng với NVMe-oF, các công nghệ này đã cải tiến các tùy chọn kết nối bên ngoài. NVMe-oF và các loại phương tiện truyền tải khác nhau của nó đang bắt đầu được công nhận là tương lai của lưu trữ dữ liệu. Các thiết bị và thiết bị lưu trữ này được coi là trái tim của trung tâm dữ liệu, vì mỗi phần nghìn giây đều nằm trong cấu trúc được kết nối với nhau. Công nghệ NVMe làm giảm các lệnh I/O được ánh xạ qua bộ nhớ và cung cấp các trình điều khiển thiết bị hệ điều hành để có hiệu suất cao hơn và độ trễ thấp hơn.

NVMe ngày càng trở nên phổ biến vì tốc độ xử lý đa nhiệm ở độ trễ thấp và thông lượng cao. Mặc dù NVMe cũng đang được sử dụng trong máy tính cá nhân để cải thiện khả năng biên tập video, Gamming và các giải pháp khác, lợi ích thực sự được nhìn thấy là trong doanh nghiệp, thông qua NVMe-oF. Các lĩnh vực, chẳng hạn như CNTT, Trí tuệ nhân tạo và Máy học, tiếp tục phát triển và nhu cầu về hiệu suất nâng cao tiếp tục phát triển. Hiện nay chúng ta thường xuyên thấy các nhà cung cấp phần mềm và mạng, chẳng hạn như VMware và Mellanox cung cấp nhiều sản phẩm và giải pháp liên quan đến NVMe-oF hơn cho thị trường doanh nghiệp. Với các cụm máy tính song song và hiện đại, chúng ta có thể xử lý và truy cập dữ liệu của mình càng nhanh thì dữ liệu đó càng có giá trị đối với doanh nghiệp của chúng ta.

Tham khảo:

Storagehub: VMware NVMeoF vSphere
NVMexpress: NVMe Over Fabrics

Vanito Hoang

Liên hệ tác giả

Nhất Tiến Chung sẵn sàng chạy BOM, báo giá, tư vấn tận nơi mọi giải pháp của các hãng và theo yêu cầu riêng đến với Quý doanh nghiệp. Vui lòng liên hệ:

Trung tâm Giải pháp NTC
Hotline: 1900 558879 #2
Email: presales@thegioimaychu.vn