Determinarea celor mai bune opțiuni de integrare a memoriilor NVMe

by donpedro

Memoria nevolatilă (NVMe™ – Non-volatile memory express) prezintă un protocol simplificat pentru a furniza operații de latență scăzută și este adoptată de toți furnizorii principali de servere și dispozitive de stocare. Aceasta înlocuiește interfața SCSI (Small Computer System Interface) din dispozitivele moderne de tip SSD (Solid State Disc). Ca urmare a adoptării sale, SSD-urile pe bază de NVMe elimină acum blocajele care erau inerente implementărilor tradiționale de stocare – ceea ce duce la îmbunătățiri substanțiale ale vitezei de acces pentru o varietate de aplicații, de la platforme mobile până la centrele de date ale întreprinderilor. Articolul își propune să răspundă la întrebări critice privind dezvoltarea și utilizarea pe scară largă a SSD-urilor bazate pe memoriile NVMe.

De ce devine NVMe atât de larg răspândită și adoptată?

NVMe a fost gândită încă de la început pentru a comunica la viteză mare cu stocare flash, aceasta necesitând doar 30 de comenzi, care sunt specifice pentru funcționarea SSD-urilor. În plus, acest protocol acceptă mai multe rânduri de comenzi profunde pentru a profita de capacitățile de procesare paralele ale celor mai recente procesoare multi-nucleu. Cu un număr de comenzi de până la 64K/queue (coadă de așteptare) și o capacitate de transfer de până la 64K de cozi de așteptare, NVMe semnifică un avans uriaș față de protocoalele tradiționale SCSI, SAS și SATA – care au fost inițial dezvoltate pentru lucrul cu HDD-urile (Hard Disk Drive).

Vânzările globale de unități SSD bazate pe NVMe le depășesc acum pe cele referitoare la stocarea SAS și SATA SSD*. Acest lucru se datorează performanțelor semnificativ îmbunătățite pe care le oferă protocolul NVMe, atât pentru tehnologiile SSD actuale, cât și pentru generația următoare (cum ar fi NVDIMM Non-Volatile DIMM și 3D XPoint).

De ce trebuie luat în considerare protocolul NVMe-over-Fabric”?

Când a fost conceput, obiectivul principal al NVMe a fost acela de a permite unităților centrale de procesare (CPU) să acceseze SSD-urile bazate pe NVMe prin server folosind magistrala PCIe. Cu toate acestea, administratorii de sistem sunt conștienți de faptul că stocarea pe un server local oferă dureri mari de cap în administrarea datelor – în special în ceea ce privește nevoia de a dispune de capacități suplimentare de stocare SSD costisitoare (astfel încât există o zonă specială adecvată, necesară pentru a face față oricărei cereri în exces). Servere diferite necesită cantități diferite de stocare SSD NVMe de înaltă performanță, în funcție de sarcinile de lucru ale aplicației. Aceste aplicații pot migra către servere fizice diferite, dar necesită totuși aceeași cantitate de stocare SSD. Pentru a opri orice server să fie suprapopulat cu dispozitive de stocare SSD costisitoare, este mai economic și mai eficient să creezi un grup de stocare SSD NVMe partajat, care poate fi alocat dinamic în funcție de sarcinile de muncă.

În ceea ce privește stocarea locală, este esențial ca toate datele să fie salvate, în cazul în care serverul se defectează. În plus, există implicații grave de securitate, iar replicarea între site-uri poate deveni o sarcină dificil de gestionat. Prin stocarea partajată, administratorii pot evita aceste probleme. Cu alte cuvinte, aceștia pot utiliza stocarea flash de înaltă performanță, la putere maximă, pe servere – cu capabilități sporite de disponibilitate și securitate ale ariilor de stocare moderne, plus avantaje similare de performanță și latență asociate cu stocarea SSD NVMe locală.

Cât de departe este NVMe-over-Fabrics?

Pentru a ajuta la descrierea acestui lucru, să comparăm ariile de stocare partajate cu motoarele automobilelor. În mod specific, ariile tradiționale de stocare bazate pe FC (Fibre channel)/iSCSI pot fi considerate echivalente cu motoarele cu combustie convenționale. Sunt folosite de mulți ani, sunt fiabile și vor oferi o metodă bună de transport pentru încă o perioadă lungă de timp.

Mașinile hibride devin mai obișnuite și combină avantajele tehnologiei electrice cu avantajele motoarelor cu ardere. Într-o manieră similară, noile arii NVMe utilizează un amestec de NVMe în interiorul ariei, dar se conectează la gazdă folosind comenzi SCSI pe protocoalele de transport de tip FC sau Ethernet.

Figura 1: Opțiunile principale de conectare NVMe disponibile în prezent

Deși majoritatea oamenilor sunt de acord că mașinile electrice vor fi viitorul, în prezent acestea nu reprezintă un trend majoritar – deoarece sunt mai scumpe decât alternativele tradiționale, iar infrastructura nu este disponibilă, în general pentru a susține încărcarea electrică. Ariile NVMe native pot fi gândite în același mod ca și vehiculele electrice. Infrastructura necesară pentru a le transforma în realitate este așa numita NVMe-over-Fabrics. În timp, acesta va deveni standardul de comunicare dominant, prin care ariile de stocare partajate se conectează la servere, dar va dura un timp până când NVMe-over-Fabrics va câștiga o răspândire globală, iar toate problemele care apar în fazele incipiente ale unei noi tehnologii vor fi rezolvate.

Ce opțiune NVMe-over-Fabrics ar trebui să alegeți?

Cea mai mare dilemă pentru administratorii de sisteme de stocare este de a decide cu privire la tehnologia potrivită în care să investească. Ca și în cazul oricărei noi tehnologii, atunci când apare prima dată, există mai multe modalități de a implementa soluția generală. În acest sens, NVMe-over-Fabrics nu este diferită. Comenzile NVMe pot fi transmise prin FC, RDMA bazat pe Ethernet sau Ethernet standard folosind TCP/IP. Să ne uităm la diferențele cheie ale acestor abordări.

  1. NVMe-over-FC (FC-NVMe)

FC-NVMe este o alegere excelentă pentru cei care au deja infrastructură FC SAN (Storage Attached Network). Protocolul NVMe poate fi integrat pe structuri de tip FC folosind adaptoare de magistrală și switch-uri de tip 16GFC sau 32GFC. Suportul pentru FC-NVMe pe serverele Linux poate fi obținut prin actualizarea firmware-ului și driverelor pentru FC la cea mai recentă versiune. Prin urmare, investiția în adaptoare moderne de magistrală gazdă FC de 16Gb sau 32Gb și în infrastructura SAN este una de viitor pentru ariile FC-NVMe atunci când sunt lansate. De remarcat, de asemenea, că atât SCSI (FCP) cât și NVMe (FC-NVMe) pot coexista pe aceeași rețea, astfel încât ariile vechi bazate pe FC-SCSI pot funcționa concomitent cu noile arii native NVMe.

  1. NVMe-over-Ethernet folosind RDMA (NVMe/RDMA)

Pentru acesta sunt necesare adaptoare Ethernet compatibile cu RDMA. Există două tipuri diferite de implementare RDMA: RoCE (RDMA-over-converged-Ethernet) și protocolul iWARP (Internet area-wide RDMA). Din păcate, aceste protocoale nu sunt interoperabile. Vom explica acum pe scurt beneficiile fiecăruia dintre ele:

a. NVMe-over-RoCE (NVMe/RoCE) – Când utilizați numai rețele Ethernet, NVMe-over-RoCE este o alegere bună pentru stocarea partajată sau conectivitatea infrastructurii hiper-convergente (HCI – Hyper-Converged Infrastructure). În consecință, mulți furnizori de arii de stocare și-au anunțat planurile de a sprijini conectivitatea NVMe-over-RoCE. RoCE oferă cea mai mică latență Ethernet și funcționează bine atunci când rețeaua de stocare implicată este la scară mică, cu cel mult 2 hop-uri. După cum sugerează și numele, RoCE necesită pentru a funcționa o rețea Ethernet convergentă sau fără pierderi. Această abordare activează caracteristici suplimentare de rețea, inclusiv conectarea centrului de date, controlul fluxului prioritar, plus mecanisme de configurare și de gestionare a rețelei mai complexe. Dacă latența scăzută este obiectivul principal, atunci NVMe-over-RoCE este probabil cea mai bună opțiune, în ciuda complexității crescute a rețelei.

b. NVMe-over-iWARP (NVMe/iWARP) – Protocolul iWARP RDMA rulează pe rețele TCP/IP standard și, prin urmare, este mult mai simplu de implementat. Deși latența sa nu este la fel de bună ca în cazul RoCE, ușurința de utilizare și cheltuielile de administrare mult mai mici sunt foarte atrăgătoare. În această etapă, furnizorii de arii de stocare nu proiectează arii care să suporte iWARP, astfel încât iWARP este cel mai potrivit în acest moment pentru soluții definite prin software (SDN) sau HCI, cum ar fi Microsoft Azure Stack HCI / Storage Spaces Direct (S2D). 

  1. NVMe-over-TCP (NVMe/TCP)

NVMe-over-TCP este cea mai nouă apariție. Oficializat în noiembrie 2018, acest protocol funcționează pe infrastructura Ethernet existentă, fără a fi nevoie de modificări (profitând de gradul incredibil de răspândit al protocolului TCP/IP). Performanța de viteză pe care o oferă NVMe-over-TCP poate să nu fie la fel de rapidă ca NVMe-over-RDMA sau FC-NVMe, dar poate fi implementată cu ușurință pe interfețele standard NIC (Network Interface Controller) și pe switch-urile de rețea. Avantajele cheie ale stocării SSD NVMe pot fi obținute în continuare fără a necesita investiții hardware importante. Unele adaptoare de rețea, precum Marvell® FastLinQ® 10/25/50/100GbE, au potențialul de a accelera trecerea la NVMe/TCP folosind capabilitățile integrate de transfer a stivei TCP/IP în NIC.

Rezumat

Indiferent de tehnologia “NVMe-over-Fabrics” pe care decideți să o utilizați, Marvell dispune de un portofoliu flexibil și poate oferi orice asistență în procesul de implementare. De exemplu, adaptoarele de magistrală gazdă FC – Marvell QLogic® 16Gb și 32Gb, suportă FC-NVMe, iar (mulțumită caracteristicii integrate Universal RDMA) seriile Marvell FastLinQ 41000 și 45000 10/25/40/50/100Gb de adaptoare Ethernet NIC și de adaptoare de rețea convergente suportă atât funcționalitate NVMe-over-RoCE și NVMe-over-iWARP, cât și NVMe-over-TCP. În consecință, administratorii își pot proiecta sistemele în funcție de nevoile lor, asigurându-se în același timp că ceea ce implementează astăzi va fi de folos în viitor pentru rețelele ce vor veni.

* conform datelor publicate de DRAMeXchange și alte surse ale analiștilor din industrie

AutorIan Sagan, FAE (Field Application Engineer), Marvell

Marvell

S-ar putea să vă placă și