Accueil Entreprise Qu'est-ce que NVMe-oF ?

Qu'est-ce que NVMe-oF ?

by Juan Mulford
NVMeoF

Ces dernières années, nous continuons de constater à quel point les performances de stockage s'accélèrent, ce qui remet en question les anciens protocoles de stockage qui sont devenus un goulot d'étranglement pour les centres de données. Malgré l'utilisation de la dernière vitesse de structure de 100 GbE et de nouvelles normes de mise en réseau, telles que InfiniBand, ces technologies de protocole réseau lentes limitent les performances du périphérique flash, le maintiennent à l'intérieur du périphérique lui-même et isolé dans la boîte. Dans cet article, nous examinons rapidement Non-Volatile Memory Express (NVMe). En outre, nous présentons NVMe over Fabrics (NVMe-oF) et NVMe over RDMA over Converged Ethernet (NVMe over RoCE), une nouvelle spécification de protocole développée pour résoudre les goulots d'étranglement des réseaux de stockage modernes.

Ces dernières années, nous continuons de constater à quel point les performances de stockage s'accélèrent, ce qui remet en question les anciens protocoles de stockage qui sont devenus un goulot d'étranglement pour les centres de données. Malgré l'utilisation de la dernière vitesse de structure de 100 GbE et de nouvelles normes de mise en réseau, telles que InfiniBand, ces technologies de protocole réseau lentes limitent les performances du périphérique flash, le maintiennent à l'intérieur du périphérique lui-même et isolé dans la boîte. Dans cet article, nous examinons rapidement Non-Volatile Memory Express (NVMe). En outre, nous présentons NVMe over Fabrics (NVMe-oF) et NVMe over RDMA over Converged Ethernet (NVMe over RoCE), une nouvelle spécification de protocole développée pour résoudre les goulots d'étranglement des réseaux de stockage modernes.

NVMe-oF

En raison de la demande constante de faible latence et de débit élevé dans les nuages ​​et les centres de données, il y a beaucoup de discussions autour de NVMe sur Fabrics. La spécification NVMe existe depuis moins d'une décennie, et comme NVMe-oF est également relativement nouveau, il existe encore de nombreux malentendus sur sa pratique et ses avantages pour les entreprises. Cette technologie n'a cessé d'évoluer et a été largement adoptée dans l'industrie informatique. Nous commençons à voir plusieurs fournisseurs de réseaux proposer des produits liés à NVMe-oF sur le marché des entreprises. Par conséquent, pour suivre les technologies avancées des centres de données, il est essentiel de comprendre ce qu'est NVMe-oF, ses capacités et ses caractéristiques de performance. En outre, comment elle peut être déployée et comment nous associons cette technologie à des solutions différentes et nouvelles.

NVMe et NVMe-oF

Les baies 1 % flash (AFA) sont apparues dans les centres de données pour répondre à l'appel de hautes performances, car elles sont bien plus rapides que le stockage hérité, capables d'atteindre sans effort les 600M IOPS toujours promis sur le marché. Cependant, bon nombre de ces baies ont continué à utiliser une technologie de stockage quasi héritée, le SSD SATA. Ce type de stockage est basé sur le protocole de commande AHCI (Advanced Host Controller Interface) et prend en charge IDE. AHCI a été essentiellement conçu pour le disque en rotation et non pour les lecteurs flash avancés. Cette technologie basée sur SCSI crée un goulot d'étranglement pour les SSD et les contrôleurs de baies de stockage d'aujourd'hui, car le bus SATA III avec AHCI ne permet qu'une vitesse de transfert de données jusqu'à XNUMX Mo/s.

Vitesses du bus NVMe-oFTableau 1: Vitesse des bus communs

Pour libérer toutes les capacités des SSD, nous avions besoin d'une nouvelle technologie pour décharger la vitesse du flash plus rapidement. NVMe est une spécification qui permet au stockage flash (ou SSD) de bénéficier réellement des performances flash. Cette technologie a été introduite pour la première fois en 2014 pour améliorer le temps de réponse des applications, en présentant de nouvelles et meilleures fonctionnalités. Il existe de nombreux facteurs de forme de disque SSD NVMe, et les plus connus sont AIC (carte d'extension), U.2, U.3 et M.2. Les SSD NVMe exploitent le bus haut débit Peripheral Component Interconnector Express (PCIe) de l'ordinateur ou du serveur, en le connectant directement à celui-ci. De manière substantielle, NVMe réduit la surcharge du processeur et rationalise les opérations qui réduisent la latence, augmentent les opérations d'entrée/sortie par seconde (IOPS) et le débit. Par exemple, les SSD NVMe offrent des vitesses d'écriture supérieures à 3,000 5 Mo/s. Si nous comparons avec les SSD SATA, cela signifie 30 fois plus rapide ou XNUMX fois plus rapide que les disques en rotation.

En utilisant NVMe, IOPS fonctionne en parallèle, permettant de nombreux calculs en même temps. Les grandes tâches peuvent être divisées en plusieurs tâches plus petites à traiter indépendamment. Semblable à un processeur multicœur, fonctionnant avec plusieurs threads. Chaque cœur de processeur pourrait fonctionner indépendamment les uns des autres pour effectuer des tâches spécifiques.

Les profondeurs de file d'attente (QD) sont un autre avantage de NVMe par rapport à AHCI. Alors qu'ACHI et SATA peuvent gérer des profondeurs de file d'attente de 32 (1 file d'attente et 32 ​​commandes), NVMe peut gérer des profondeurs de file d'attente allant jusqu'à 65K. Ce sont des files d'attente de 65 65, où chaque file d'attente peut contenir jusqu'à XNUMX XNUMX commandes par file d'attente. Parallèlement à la réduction de la latence, cela accélère les performances des serveurs occupés traitant des demandes simultanées.

NVMe-oF q profondeurTableau 2 : Comparaison des files d'attente

Cependant, le problème pour les centres de données reste sur les protocoles de réseau de stockage. Malgré la montée en puissance de NVMe, ses gains sont limités à chaque appareil individuel. Et le fait est que le stockage flash et d'autres appareils (coûteux) de niveau entreprise, tels que les AFA, ne sont pas destinés à isoler ses performances remarquables à l'intérieur du châssis. Au lieu de cela, ils sont destinés à être utilisés dans des clusters informatiques parallèles massifs, en les connectant à des appareils supplémentaires et multiples, tels que d'autres serveurs et stockage. Cette interconnexion des appareils est ce que nous appelons la structure, le réseau de stockage, y compris les commutateurs, les routeurs, les ponts de protocole, les passerelles et les câbles.

En 2016, la norme industrielle NVMe-oF a été lancée. La spécification du protocole étend les performances incroyables de NVMe des contrôleurs de baie de stockage à la structure, en utilisant Ethernet, Fibre Channel, RoCE ou InfiniBand. NVMe-oF utilise un autre protocole de transport de données (sur des structures) comme mappage de transport, au lieu du bus PCIe utilisé par NVMe. Les matrices reposent sur le concept d'envoi et de réception de messages sans mémoire partagée entre les terminaux. Les transports de messages de la structure NVMe encapsulent les commandes et les réponses NVMe dans un système basé sur des messages qui comprend une ou plusieurs commandes ou réponses NVMe.

Dans NVMe-oF, les cibles sont présentées sous forme d'espaces de noms, ce qui équivaut aux LUN SCSI. NVMe-oF permet aux hôtes de communiquer avec ces cibles de stockage sur des distances beaucoup plus éloignées tout en maintenant une latence ultra-faible, en microsecondes (μs). En termes simples, nous obtenons de meilleures performances entre les systèmes et le stockage flash sans augmenter considérablement la latence de la structure. Cette faible latence, en partie, est possible pour les profondeurs de file d'attente NVMe mentionnées ci-dessus. NVMe-oF peut gérer les mêmes files d'attente que NVMe, 65KCe nombre remarquable permet à NVMe-oF de concevoir une architecture hautement parallèle entre les hôtes et les disques, en utilisant une file d'attente distincte pour chacun de ces périphériques.

Transports de tissus NVMe 

Trois types de transports de matrice pris en charge et utilisés par NVMe sont NVMe-oF utilisant RDMA, NVMe-oF utilisant Fibre Channel et NVMe-oF utilisant TCP.

NVMe-oF sur RDMA

Cette spécification utilise l'accès direct à la mémoire à distance (RDMA) et permet aux données et à la mémoire d'être transférées entre l'ordinateur et les périphériques de stockage sur le réseau. RDMA est un moyen d'échanger des informations entre la mémoire principale de deux ordinateurs dans un réseau sans impliquer le processeur, le cache ou le système d'exploitation de l'un ou l'autre des ordinateurs. Étant donné que RDMA évite le système d'exploitation, il s'agit généralement du mécanisme le plus rapide et le moins coûteux pour transmettre des données sur un réseau.

NVMe-oF sur RDMA utilise le protocole de transport TCP pour fournir des données sur les réseaux IP. Les implémentations RDMA typiques incluent l'architecture d'interface virtuelle, RDMA sur Ethernet convergé (RoCE), InfiniBand, Omni-Path et iWARP. RoCE, InfiniBand et iWARP sont actuellement les plus utilisés.

NVMe sur Fibre Channel

La combinaison de l'utilisation de NVMe sur Fibre Channel (FC) est souvent appelée FC-NVMe, NVMe sur FC ou parfois NVMe/FC. Fibre Channel est un protocole robuste pour le transfert de données entre les baies de stockage et les serveurs, et la plupart des systèmes SAN d'entreprise l'utilisent. Dans FC-NVMe, les commandes sont encapsulées dans des trames FC. Il est basé sur les règles FC standard et correspond au protocole FC standard prenant en charge l'accès au flash NVMe partagé. Les commandes SCSI sont encapsulées dans des trames FC ; cependant, une pénalité de performance est imposée pour les interpréter et les traduire en commandes NVMe.

NVMe sur TCP/IP

Ce type de transport est l'un des derniers développements au sein de NVMe-oF. NVMe sur TCP (Transport Control Protocol) utilise NVMe-oF et le protocole de transport TCP pour transférer des données sur des réseaux IP (Ethernet). NVMe transporté à l'intérieur des datagrammes TCP sur Ethernet en tant que transport physique. Malgré la présence de RDMA et de Fibre Channel, TCP offre une alternative probablement moins chère et plus flexible. De plus, en le comparant à RoCE, qui utilise également Ethernet, NVMe/TCP fonctionne plus comme FC-NVMe car ils utilisent la sémantique de messagerie pour les E/S.

L'utilisation de NVMe-oF avec RDMA, Fibre Channel ou TCP constitue une solution de stockage NVMe complète de bout en bout. Ces solutions offrent des performances particulièrement élevées tout en maintenant la très faible latence disponible via NVMe.

NVMe sur RDMA sur Ethernet convergé (RoCE)

Parmi les protocoles RDMA, RoCE se démarque. Nous savons ce que sont RDMA et NVMe-oF, et nous avons maintenant Converged Ethernet (CE), le support de RDMA sur un réseau Ethernet. CE est comme une version Ethernet améliorée, également connue sous le nom de Data Center Bridging et Data Center Ethernet. Il encapsule le paquet de transport InfiniBand sur Ethernet. Sa solution fournit le mécanisme Link Level Flow Control pour garantir une perte nulle, même lorsque le réseau est saturé. Le protocole RoCE permet des latences plus faibles que son prédécesseur, le protocole iWARP.

Il existe deux versions de RoCE, RoCE v1 et RoCE v2. RoCE v1 est un protocole Ethernet de couche 2 (liaison), permettant la communication entre deux hôtes dans le même domaine de diffusion Ethernet. Ainsi, il ne peut pas router entre les sous-réseaux. La nouvelle option est RoCE v2, un protocole qui s'ajoute au protocole UDP/IPv4 ou UDP/IPv6. RoCE v2 est un protocole Ethernet de couche 3 (Internet), ce qui signifie que ses paquets peuvent être routés. La prise en charge logicielle de RoCE v2 est encore en train d'émerger. Mellanox OFED 2.3 ou version ultérieure prend en charge RoCE v2 ainsi que Linux Kernel v4.5.

NVMe sur RoCE est un nouveau type de SAN. Ce protocole offre les mêmes performances et la même flexibilité des services de données d'entreprise que le matériel et les logiciels SAN. Bien que le protocole RoCE bénéficie des caractéristiques d'un réseau Ethernet convergé, le protocole peut également être utilisé sur un réseau Ethernet traditionnel ou non convergé. Pour configurer la structure de stockage NVMe sur RoCE, la carte réseau, le commutateur et l'AFA doivent prendre en charge Ethernet convergent. La carte réseau (appelée R-NIC) et la baie XNUMX % flash doivent prendre en charge RoCE. Les serveurs avec des R-NIC et des AFA avec des interfaces NVMe sur RoCE seront plug-and-play avec les commutateurs CE installés.

Prise en charge de NVMe-oF sur RoCE pour VMware

VMware a ajouté la prise en charge du stockage NVMe partagé à l'aide de NVMe-oF. Pour la connectivité externe, NVMe sur Fibre Channel et NVMe sur RDMA sont pris en charge dans vSphere 7.0. Les hôtes ESXi peuvent utiliser RDMA sur Converged Ethernet v2 (RoCE v2). Pour activer et accéder au stockage NVMe à l'aide de RDMA, l'hôte ESXi utilise un adaptateur R-NIC sur votre hôte et un adaptateur de stockage SW NVMe sur RDMA. La configuration doit être configurée dans les deux adaptateurs pour les utiliser pour la découverte du stockage NVMe.

Les cibles sont présentées sous forme d'espaces de noms à un hôte en mode d'accès actif/actif ou asymétrique (ALUA) lors de l'utilisation de NVMe-oF. Cela permet aux hôtes ESXi de découvrir et d'utiliser les espaces de noms présentés. ESXi émule les cibles NVMe-oF en tant que cibles SCSI en interne et les présente en tant que cibles SCSI actives/actives ou cibles ALUA SCSI implicites.

Exigences NVMe sur RDMA :

  • Baie NVMe prenant en charge le transport RDMA (RoCE v2)
  • Hôte ESXi compatible
  • Commutateurs Ethernet prenant en charge un réseau sans perte.
  • Adaptateur réseau prenant en charge RoCE v2
  • Adaptateur SW NVMe sur RDMA
  • Contrôleur NVMe
  • RoCE fonctionne aujourd'hui sur des structures avec perte qui prennent en charge ZTR (Zero Touch RoCE) ou nécessite un réseau configuré pour un trafic d'informations sans perte au niveau de la couche 2 seule ou à la fois aux couches 2 et 3 (à l'aide de PFC)

Lors de la configuration de NVMe-oF sur un hôte ESXi, certaines pratiques doivent être suivies.

  • Ne mélangez pas les types de transport pour accéder au même espace de noms.
  • Assurez-vous que tous les chemins actifs sont présentés à l'hôte.
  • NMP n'est pas utilisé/supporté ; à la place, HPP (High-Performance Plugin) est utilisé pour les cibles NVMe.
  • Vous devez disposer de liens dédiés, de VMkernels et d'adaptateurs RDMA vers vos cibles NVMe.
  • VLAN de couche 3 dédié ou connectivité de couche 2
  • Limites:
    • Espaces de noms-32
    • Chemins=128 (max 4 chemins/espace de noms sur un hôte)

Conclusion

Avec de plus en plus de personnes dépendant des données dans les services cloud, il existe une demande croissante pour un stockage back-end plus rapide dans les centres de données. NVMe est une nouvelle façon de s'interfacer avec les périphériques flash, et avec NVMe-oF, les technologies ont fait progresser les options de connectivité externe. NVMe-oF et ses différents types de transports commencent à être reconnus comme l'avenir du stockage de données. Ces appareils et appareils de stockage sont considérés comme le cœur des centres de données, car chaque milliseconde compte au sein de la structure interconnectée. La technologie NVMe réduit les commandes d'entrée/sortie mappées en mémoire et prend en charge les pilotes de périphérique du système d'exploitation pour des performances supérieures et une latence réduite.

NVMe est devenu de plus en plus populaire en raison de sa vitesse multitâche à faible latence et à haut débit. Alors que NVMe est également utilisé dans les ordinateurs personnels pour améliorer le montage vidéo, les jeux et d'autres solutions, le véritable avantage est visible dans l'entreprise, grâce à NVMe-oF. Les industries, telles que l'informatique, l'intelligence artificielle et l'apprentissage automatique, continuent de progresser et la demande de performances améliorées continue de croître. Il est désormais régulier de voir des fournisseurs de logiciels et de réseaux, tels que VMware et Mellanox, proposer davantage de produits et de solutions liés à NVMe-oF sur le marché des entreprises. Avec les clusters informatiques modernes et massivement parallèles, plus nous pouvons traiter et accéder rapidement à nos données, plus elles sont précieuses pour notre entreprise.

Resources

Hub de stockage : VMware NVMeoF vSphere

NVMexpress : NVMe sur les structures

Examen NetApp AFF A800 NVMeOF

S'engager avec StorageReview

Newsletter |  YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | Flux RSS