تکنولوژی NVMe

NVMe-oF چیست؟

نگاهی به ساختار NVMe

در سال‌های اخیر، شاهد این هستیم که کارایی ذخیره‌سازی رو به افزایش است و همین امر پروتکل‌های ذخیره‌سازی قدیمی را که به چالشی برای مراکز داده تبدیل کرده است.رغم استفاده از آخرین سرعت فابریک 100 گیگابیت و استانداردهای شبکه جدید، مانند InfiniBand، این فناوری‌های پروتکل کند شبکه عملکرد دستگاه فلش را محدود می‌کنند. در این مقاله، نگاهی گذرا به حافظه غیر فرار (NVMe) می اندازیم. علاوه بر این، NVMe over Fabrics (NVMe-oF)  over و NVMe over RDMA over Converged Ethernet (NVMe over RoCE) را مرور خواهیم کرد، می توان گفت NVMe یک پروتکل جدید توسعه یافته برای حل bottleneck های شبکه های ذخیره سازی مدرن است.

حافظه NVMeپروتکل جدیدی برای ذخیره‌سازی و انتقال اطلاعات روی درایوهای جامد (SSD) است که در حال حاضر بالاترین سرعت و توان عملیاتی را در اختیار کاربران قرار می‌دهد و با توجه به اینکه سرعت انتقال داده در این نوع حافظه بسیار بیشتر از انواع دیگر درایوهای ذخیره‌سازی مثلِ SATA و SAS است، استفاده از این تکنولوژی می‌تواند تأثیر بسیار زیادی در کم کردن زمان عملیات و در نتیجه راندمان بالای کاری داشته باشد.

بنابراین به‌عنوان نکته‌ی اول، این را بدانید که NVMe یک نوع از حافظه‌ی ذخیره‌سازی فیزیکی نیست. از دیدگاه فنی، NVMe یک تکنولوژی برای حافظه‌های SSD است که سرعت این نوع از حافظه‌ها را بیشتر می‌کند.

NVME Structor

با توجه به تقاضای همیشه برای تاخیر کم و توان عملیاتی بالا در فضای ابری و مراکز داده، بحث های زیادی در مورد NVMe-OF  وجود دارد. NVMe کمتر از یک دهه است که مطرح شده است، و از آنجایی که NVMe-oF نیز نسبتا جدید است، هنوز تردید های زیادی در مورد عملکرد آن و نحوه سودمندی آن برای کسب و کار ها وجود دارد. این فناوری به طور مداوم در حال پیشرفت است و به طور گسترده در حال سازگار کردن خود در صنعت فناوری اطلاعات است. ما در حال حاضر چندین منبع تجهیزات شبکه محصولات مرتبط NVMe-oF را به بازار ارائه کرده اند.. بنابراین، برای همگام شدن با فناوری های پیشرفته مرکز داده، درک اینکه NVMe-oF چیست، قابلیت ها و ویژگی های عملکرد آن ضروری است. علاوه بر این، چگونه می توان آن را به کار گرفت و چگونه این فناوری را با راه حل های متفاوت و جدید ترکیب می کنیم.

NVMe و NVMe-oF

در مراکز داده آرایه های تمام فلشAll-flash arrays (AFA) جهت پاسخ به درخواست های  باعملکرد بالا پدید آمدند، بدلیل اینکه بسیار سریعتر از ذخیره سازی قدیمی هستند و می توانند بدون زحمت  IOPS 1M را محقق کنند. با این حال، بسیاری از این آرایه‌ها از فناوری ذخیره‌سازی تقریباً قدیمی، SATA SSD استفاده می‌کنند. این نوع ذخیره سازی بر اساس پروتکل دستوری AHCI (Advanced Host Controller Interface) است و از IDE پشتیبانی می کند. AHCI اساساً برای دیسک چرخان ساخته شده است و نه برای درایوهای پیشرفته مبتنی بر فلش. این فناوری مبتنی بر SCSI یک bottleneck برای SSD های امروزی و کنترلر آرایه های ذخیره سازی ایجاد می کند، زیرا گذرگاه SATA III با AHCI فقط سرعت انتقال داده تا 600 مگابایت بر ثانیه را امکان پذیر می کند.

Common buses speed
سرعت های رایج در پروتکل های شبکه

برای محقق شدن کامل قابلیت درایوهای SSD، به فناوری جدیدی نیاز داشتیم تا حافظه FLASH را با سرعت بیشتری تخلیه کنیم. NVMe امکانی است  که ذخیره ساز فلش (یا SSD) را قادر می سازد تا از کارایی واقعی فلش بهره واقعی ببرند. این فناوری برای اولین بار در سال 2014 برای بهبود زمان پاسخگویی برنامه ها و ارائه قابلیت های جدید و بهتر معرفی شد.اشکال زیادی از  NVMe  solid-state وجود دارد که شناخته شده ترین آنها AIC (کارت افزودنی)، U.2، U.3 و M.2 هستند. درایوهای NVMe SSD از گذرگاه پرسرعت Peripheral Component Interconnector Express (PCIe) در رایانه یا سرور با اتصال مستقیم به آن استفاده می‌کنند. به طور قابل توجهی، NVMe سربار CPU را کاهش می دهد و دستورات را ساده می کند که تاخیر را کاهش می دهد، عملیات ورودی/خروجی در ثانیه (IOPS) و توان عملیاتی را افزایش می دهد. به عنوان مثال، SSD های NVMe سرعت نوشتن بالاتر از 3000 مگابایت بر ثانیه را ارائه می دهند. اگر با SSD های SATA مقایسه کنیم، این به معنای 5 برابر سریعتر یا 30 برابر سریعتر از دیسک های چرخان است.

در NVMe   با استفاده از  IOPS به صورت موازی امکان محاسبات بسیاری را به طور همزمان فراهم می شود. وظایف بزرگ را می توان به چندین کار کوچکتر تقسیم کرد تا به طور مستقل پردازش شوند. مشابه یک CPU چند هسته ای که با چندین thread کار می کند. هر هسته CPU می تواند مستقل از یکدیگر برای انجام وظایف خاص کار کند.

Queue Depths (QD) یکی دیگر از مزایای NVMe نسبت به AHCI است. حافظه‌ NVMe از یک فناوری جدید با نامِ Queue Management استفاده می‌کند که به پردازنده این امکان را می‌دهد تا چندین درخواست I/O را به‌صورت همزمان به NVMe ارسال کند. همین مسئله باعث می‌شود که این حافظه عملکرد بهتری نسبت به حافظه‌های قدیمی‌تر داشته باشد و البته که یکی از دلایل بالاتر بودن قیمت حافظه NVMe هم همین مسئله است.در حالی که ACHI و SATA می توانند عمق صف های 32 (1 صف و 32 دستور) را مدیریت کنند، NVMe می تواند عمق صف تا 65K را مدیریت کند. اینها 65 هزار صف هستند که هر صف می تواند 65 هزار دستور در هر صف را در خود جای دهد. همراه با کاهش تأخیر، عملکرد سرورهای پرمشغله ای که درخواست های همزمان را پردازش می کنند را سرعت می بخشد.

 

Queue Comparison
مقایسه عمق صف و دستورات

با این حال، مشکل مراکز داده بر روی پروتکل های شبکه ذخیره سازی به قوت خود باقی است. اگرچه NVMe پا به عرصه گذاشت،اما دستاوردهای آن محدود به همان دستگاه منحصر به فرد است. و واقعیت این است که ذخیره سازی فلش و سایر لوازم (گران قیمت) شرکتی، مانند AFAها، برای عملکرد مستقل در یک شاسی در نظر گرفته نشده است درعوض، قرار است از آنها در clusters های عظیم کامپیوترهای موازی استفاده شود و آنها را به وسایل اضافی و چندگانه مانند سایر سرورها و ذخیره سازها متصل کند. این اتصال دستگاه ها همان چیزی است که ما آن را fabric می نامیم، شبکه ذخیره سازی شامل سوئیچ ها، روترها، پل های پروتکل، دستگاه های دروازه و کابل

در سال 2016، استاندارد صنعتی NVMe-oF معرفی شد. پروتکلی شامل افزایش عملکرد باورنکردنی NVMe در کنترلر آرایه ذخیره‌سازی در بستر فابریک، با استفاده از اترنت، کانال فیبر، RoCE یا InfiniBand بود. NVMe-oF به جای گذرگاه PCIe که توسط NVMe استفاده می شود، از یک پروتکل انتقال داده جایگزین (بر بستر فابریک) به عنوان نقشه انتقال استفاده می کند.انتقال پیام فابریک بر اساس مفهوم ارسال و دریافت پیام بدون حافظه مشترک بین نقاط پایانی ساخته شده اند. پیام فابریک NVMe دستورات و پاسخ‌های NVMe را به یک سیستم مبتنی بر پیام منتقل می‌کند که شامل یک یا چند دستور یا پاسخ NVMe است.

درtarget، NVMe-oF هابه صورت namespaces ارائه می شوند که معادل SCSI LUN است. NVMe-oF به میزبان‌ها اجازه می‌دهد تا با این target های ذخیره‌سازی در فواصل بسیار دورتر ارتباط برقرار کنند و در عین حال latency را در سطوح میکروثانیه (μs) بسیار پایین نگه دارند. به زبان ساده، عملکرد بهتری بین سیستم‌ها و ذخیره‌سازی فلش بدون افزایش fabric latency به دست می‌آوریم. این تأخیر کم، تا حدی، در اعماق صف NVMe که قبلا ذکر شد امکان پذیر است. NVMe-oF می تواند همان صف های NVMe، 65K را مدیریت کند. این عدد قابل توجه، NVMe-oF را برای طراحی یک معماری بسیار موازی بین هاست و درایوها، با استفاده از یک صف مجزا برای هر یک از این دستگاه‌ها، ممکن می‌سازد.

 نقل و انتقال بر بستر NVMe Fabrics

 

سه نوع نقل و انتقال فابریک که توسط NVMe پشتیبانی و استفاده می شود عبارتند از :NVMe-oF با استفاده از NVMe-oF، RDMA با استفاده از Fiber Channel و NVMe-oF با استفاده از TCP.

 

NVMe-oF over RDMA

 

این قابلیت از Remote Direct Memory Access (RDMA) استفاده می کند و داده ها و حافظه را قادر می سازد بین رایانه و دستگاه های ذخیره سازی در سراسر شبکه منتقل شوند. RDMA روشی برای تبادل اطلاعات بین حافظه اصلی دو کامپیوتر در یک شبکه بدون دخالت پردازنده، حافظه پنهان یا سیستم عامل هر یک از کامپیوترها است. از آنجایی که RDMA فارغ از سیستم عامل عمل می کند، معمولاً سریع ترین و کم هزینه ترین مکانیسم برای انتقال داده ها در یک شبکه است.

NVMe-oF over RDMA

NVMe-oF over RDMA

  NVMe-oF over RDMAاز پروتکل انتقال TCP برای تحویل داده ها در سراسر شبکه های IP استفاده می کند. پیاده سازی های معمولی RDMA شامل معماری رابط مجازی، RDMA over Converged Ethernet یا همان(RoCE)، InfiniBand، Omni-Path و iWARP است. RoCE، InfiniBand و iWARP در حال حاضر بیشترین استفاده را دارند.

 

NVMe over Fibre Channel

ترکیب استفاده از NVMe روی کانال فیبر (FC) اغلب به عنوان FC-NVMe، NVMe over FC، یا گاهی اوقات NVMe/FC نامیده می شود. Fiber Channel یک پروتکل قوی برای انتقال داده ها بین آرایه های ذخیره سازی و سرورها است و اکثر سیستم های SAN enterprise از آن استفاده می کنند. در FC-NVMe، دستورات در داخل فریم های FC کپسوله می شوند. این بر اساس قوانین استاندارد FC است و با پروتکل استاندارد FC که از دسترسی به فلش مشترک NVMe پشتیبانی می کند مطابقت دارد. دستورات SCSI در فریم های FC کپسوله می شوند. با این حال، یک performance penalty برای تفسیر و ترجمه آنها به دستورات NVMe اعمال می شود.

NVMe over TCP/IP

 

این نوع انتقال یکی از آخرین پیشرفت ها در NVMe-oF است. NVMe از طریق TCP (پروتکل کنترل انتقال)، از NVMe-oF و پروتکل انتقال TCP برای انتقال داده ها در شبکه های IP (اترنت) استفاده می کند. NVMe درون دیتاگرام های TCP از طریق اترنت به عنوان انتقال فیزیکی منتقل می شود. علیرغم داشتن RDMA و کانال فیبر، TCP جایگزین احتمالاً ارزان‌تر و انعطاف‌پذیرتر است. علاوه بر این، در مقایسه آن با RoCE، که از اترنت نیز استفاده می کند، NVMe/TCP بیشتر شبیه FC-NVMe عمل می کند زیرا از معنای پیام رسانی برای I/O استفاده می کند.

استفاده از NVMe-oF با RDMA، کانال فیبر یا TCP، یک راهکارکامل ذخیره سازی NVMe را ایجاد می کند. این راه حل ها عملکرد بسیار بالایی را ارائه می دهند و در عین حال تأخیر بسیار پایین موجود از طریق NVMe را حفظ می کنند.

NVMe over RDMA over Converged Ethernet (RoCE)

 

در میان پروتکل های RDMA، RoCE متمایز است. ما می دانیم RDMA و NVMe-oF چیست و اکنون اترنت همگرا (CE) را داریم که از RDMA از طریق شبکه اترنت پشتیبانی می کند. CE مانند یک نسخه اترنت پیشرفته است که با نام های Data Center Bridging و Data Center Ethernet نیز شناخته می شود. بسته انتقال InfiniBand را از طریق اترنت encapsulate می کند. این راهکار مکانیسم کنترل جریان Link Levelرا فراهم می کند تا نسبت به صفرشدن خسارت اطمینان حاصل کند، حتی زمانی که شبکه اشباع شده است. پروتکل RoCE اجازه latency کمتری نسبت به پروتکل قبلی خود، پروتکل iWARP می دهد.

دو نسخه RoCE وجود دارد، RoCE v1 و RoCE v2. RoCE v1 یک پروتکل لایه دو اترنت (link) است که امکان ارتباط بین دو host در یک دامنه broadcast اترنت را فراهم می کند. بنابراین، نمی تواند بین subnet ها مسیریابی کند. گزینه جدید RoCE v2 است، یک پروتکل در بالای پروتکل UDP/IPv4 یا UDP/IPv6. RoCE v2 یک پروتکل لایه سه اترنت  (internet) است، به این معنی که بسته های آن می توانند مسیریابی شوند. پشتیبانی نرم افزاری RoCE v2 هنوز هم در دسترس است. Mellanox OFED 2.3 یا بالاتر دارای پشتیبانی RoCE v2 و همچنین Linux Kernel نسخه 4.5 است.

NVMe

پشتیبانی NVMe-oF over RoCE برای VMware

VMware پشتیبانی از اشتراک گذاری ذخیره سازی NVMe را با استفاده از NVMe-oF میسر کرده است. برای اتصال خارجی، NVMe NVMe over Fibre Channel و NVMe over RDMA در vSphere 7.0 پشتیبانی می‌شود. هاست های ESXi می توانند از RDMARDMA over Converged Ethernet v2 (RoCE v2) استفاده کنند. برای فعال کردن و دسترسی به فضای ذخیره‌سازی NVMe با استفاده از RDMA، میزبان ESXi از یک آداپتور R-NIC در میزبان شما و یک آداپتور ذخیره‌سازی SW NVMe روی RDMA استفاده می‌کند. پیکربندی باید در هر دو آداپتور پیکربندی شود تا از آنها برای پوشش حافظه NVMe استفاده شود.

هنگام استفاده از Target، NVMe-oF ها به عنوان namespaces هایی به یک میزبان در حالت‌های دسترسی active/active یا asymmetrical (ALUA) ارائه می‌شوند. این امر host های ESXi را قادر می سازد تا namespaceهای ارائه شده را آماده و استفاده کنند.Target،ESXiهای ،NVMe-oF را به عنوان SCSI targets داخلی در نظر گرفته و آنها را به عنوان SCSI Targets های active/active یا Targetهای مجازی SCSI ALUA ارائه می کند.

VMware NVMeoF

پیش نیازهای NVMe over RDMA:

آرایه NVMe از انتقال RDMA (RoCE v2) پشتیبانی می کند
سازگاری با ESXi host
سوئیچ های اترنت که از شبکه بدون تلفات پشتیبانی می کنند.
آداپتور شبکه ای که از RoCE v2 پشتیبانی می کند
سوییچ NVMe over RDMA
کنترلر NVMe
RoCE امروز روی بستر فابریک با تلفات اجرا می‌شود که از ZTR (Zero Touch RoCE) پشتیبانی می‌کنند یا به یک شبکه پیکربندی شده برای ترافیک بدون تلفات اطلاعات به تنهایی در لایه ۲  یا در لایه ۲ و لایه ۳ (با استفاده از PFC) نیاز دارند.

هنگام تنظیم NVMe-oF در یک هاست ESXi، چند روش وجود دارد که باید رعایت شود.

برای دسترسی به namespace یکسان، انواع انتقال را با هم ترکیب نکنید.
اطمینان حاصل کنید که تمام مسیرهای فعال به میزبان ارائه شده است.
NMP استفاده نمی شود/پشتیبانی نمی کند. در عوض، HPP (Plugin با کارایی بالا) برای Target های NVMe استفاده می شود.
شما باید پیوندهای اختصاصی، VMkernels و آداپتورهای RDMA برای NVMe  ،Targetخود داشته باشید.
اتصال اختصاصی لایه 3 VLAN یا لایه 2
محدودیت ها:

namespace-32
Paths=128 (حداکثر 4 مسیر/ namespaceدر یک میزبان)

نتیجه

با توجه به تعداد افراد بیشتری که به داده ها در سرویس های فضای ابری وابسته هستند، تقاضای فزاینده ای برای ذخیره سازی پشتیبان سریعتر در مراکز داده وجود دارد. NVMe یک راه جدیدتر برای ارتباط با دستگاه های فلش است و در عرض زمان ارائه NVMe-oF، فناوری ها ،امکان  اتصال خارجی را ارتقا داده اند. NVMe-oF و انواع مختلف انتقال آن به عنوان آینده ذخیره سازی داده ها شناخته می شوند. این دستگاه‌ها و وسایل ذخیره‌سازی قلب مراکز داده در نظر گرفته می‌شوند، زیرا هر میلی‌ثانیه در بستر فابریک یکپارچه با هم حساب می‌شود. فناوری NVMe دستورات ورودی/خروجی  حافظهMapp شده را کاهش می‌دهد و درایورهای دستگاه سیستم عامل را برای عملکرد بالاتر و تأخیر کمتر در نظر می‌گیرد.

NVMe به دلیل سرعت چندوظیفه ای با تاخیر کم و توان عملیاتی بالا، روز به روز محبوب تر شده است. در حالی که NVMe همچنین در رایانه های شخصی برای بهبود ویرایش ویدیو، بازی و سایر راه حل ها استفاده می شود، سود واقعی از طریق NVMe-oF در سازمان ایجاد می شود. صنایعی مانند فناوری اطلاعات، هوش مصنوعی و یادگیری ماشینی به پیشرفت خود ادامه می‌دهند و تقاضا برای عملکرد بهبودیافته همچنان در حال رشد است. اکنون به‌طور منظم شاهد عرضه‌کنندگان نرم‌افزار و شبکه، مانند VMware و Mellanox هستیم که محصولات و راه‌حل‌های مرتبط NVMe-oF بیشتری را به بازار سازمانی ارائه می‌دهند.

خانهبررسی هاخدمات ماتماس با ما
برای مخفی‌کردن نوار مقایسه، بیرون را کلیک نمایید
مقایسه
مقایسه ×
بیایید مقایسه کنید! به خرید ادامه دهید