Menu

L'importance de la Data Fabric dans l'implémentation de NVMe over Fabrics

Mike Kieran
5,548 vues

Discutez avec les fournisseurs de stockage des données d'entreprise, et vous n'entendrez parler que de NVMe.



La raison est simple. L'implémentation de NVMe (NVM Express) en tant que protocole de transfert de données de bout en bout dans votre environnement SAN peut considérablement améliorer le débit et réduire la latence, et offrir ainsi une expérience beaucoup plus satisfaisante à vos utilisateurs. Toutefois, l'aspect « de bout en bout » doit être relativisé. Malheureusement, parmi les nombreux produits de stockage des données NVMe disponibles sur le marché, un grand nombre ne permet qu'une amélioration limitée des performances de NVMe.



En effet, la norme de transfert de données NVMe présente deux aspects distincts :

  • En tant que protocole « back-end » entre le support Flash et le contrôleur de stockage
  • En tant que protocole « front-end » entre l'hôte et le contrôleur de stockage dans l'ensemble de la Data Fabric, c'est-à-dire NVMe over Fabrics (NVMe-oF)

C'est pourquoi il est important d'en savoir plus sur les conditions : dans la plupart des cas, moins de 20 % de l'accélération potentielle de NVMe provient de l'utilisation d'un support NVMe back-end, et au moins 80 % de l'amélioration sont liés à l'utilisation de la technologie NVMe-oF en remplacement des protocoles de transfert de données front-end basés sur SCSI. Certains blogs marketing sur les data centers sont peu fiables. Vérifiez donc toujours si le système de stockage en question exécute effectivement NVMe-oF plutôt qu'un simple support Flash NVMe back-end.



L'utilisation du parallélisme poussé de NVMe pour la Data Fabric promet d'améliorer considérablement les performances. La question que se posent alors les responsables IT et les architectes est de savoir quelle fabric adopter, étant donné que les performances, la fiabilité et les coûts varient considérablement.



Depuis sa création en 2016, la norme NVMe-oF a été conçue pour assurer le transport du jeu de commandes NVMe par le plus large éventail possible de transports de fabric et réseau.

Trois principaux types de fabric

Les principaux protocoles de transport de données du secteur IT sont les suivants :

  • Fibre Channel (FC). Principal protocole de transfert de données entre les dispositifs de stockage et les serveurs, utilisé par la plupart des systèmes SAN d'entreprise.
  • Accès direct à la mémoire à distance (RDMA). Différentes façons d'accéder directement à la mémoire entre les systèmes informatiques sans dépendre du système d'exploitation.
  • Protocole de contrôle de transmission/Protocole Internet (TCP/IP). Utilisation du protocole de transport TCP pour transmettre des données sur des réseaux IP, comme sur Internet.

Les trois types de fabrics correspondants pris en charge par NVMe sont les suivants :

  • NVMe/FC. Jeu de commandes NVMe encapsulé dans des trames FC. Il repose sur des processus FC courants, tels que la segmentation, et coexiste sans effort avec le protocole FC standard actuel, dans lequel les jeux de commandes SCSI sont encapsulés dans des trames FC.
  • NVMe over RoCE (NVMe/RoCE), InfiniBand et iWARP. RoCE v2 est une autre solution émergente. Elle utilise RDMA sur un réseau Ethernet convergé physique (réseau Ethernet sans perte de pontage de data center).
  • NVMe over TCP (NVMe/TCP). NVMe transporté à l'intérieur de datagrammes TCP via Ethernet en tant que transport physique. Même si RoCE et NVMe/TCP utilisent Ethernet, NVMe/TCP se comporte davantage comme NVMe/FC, car les deux utilisent la sémantique de messagerie pour les E/S.

Examinons la technologie sous-jacente de ces trois méthodes d'implémentation de NVMe dans une Data Fabric, ainsi que les avantages et les inconvénients de chaque approche.

Qu'est-ce qui rend NVMe si rapide ?

Les principaux protocoles de transfert de données actuellement utilisés par les systèmes SAN sont Fibre Channel, iSCSI et FCoE. Vous pouvez désormais ignorer ces acronymes, car ils s'appuient tous sur SCSI, un ensemble de normes d'interface des années 1970 conçues pour les disquettes et les disques durs.



La norme NVMe a été développée au cours de la dernière décennie et a été spécialement conçue pour tirer pleinement parti de la mémoire Flash, des disques SSD, des disques SSD connectés via NVMe et même des technologies de stockage qui n'ont pas encore été inventées. Au lieu de la file d'attente unique de commandes de SCSI (avec une profondeur de 32 commandes), NVMe prend en charge 65 000 files d'attente avec 65 000 commandes par file d'attente. Un nombre de commandes bien plus élevé peut donc être exécuté simultanément.



Les premières itérations de NVMe étaient axées sur l'optimisation des E/S entre un ordinateur hôte et le support NVMe local connecté via un bus PCIe (Peripheral Component Interconnect) ultra-rapide. Lors de l'évolution vers NVMe-oF, l'un des principaux objectifs de conception était de s'assurer que la solution prend en charge la plus large variété possible de protocoles de fabric et réseau. Il existe actuellement trois principaux protocoles de transport de données : NVMe/FC, NVMe over RDMA (NVMe/RDMA) et NVMe/TCP.

NVMe/FC

La plupart des entreprises confient leurs workloads stratégiques à des systèmes SAN basés sur Fibre Channel afin de tirer parti de leur grande vitesse, de leur efficacité et de leur disponibilité constantes.



  • NVMe/FC
    • Avantages :
      • La technologie NVMe/FC permet d'améliorer les performances et de réduire considérablement les latences des workloads.
      • Le protocole Fibre Channel est stable, mature, efficace et très rapide, et offre des performances élevées en continu.
      • Les systèmes de stockage NetApp® AFF A300, AFF A700s et AFF A800 disponibles peuvent héberger et prendre en charge simultanément le trafic NVMe/FC et FC à l'aide des mêmes composants de fabric (adaptateurs bus hôtes, switchs, etc.). Les utilisateurs peuvent ainsi facilement passer de FC à NVMe/FC.
      • Avec les solutions NVMe NetApp, aucune modification des applications n'est nécessaire pour implémenter NVMe/FC. Aucune mise à niveau majeure n'est donc requise.
      • La norme offre un stockage haute disponibilité avec une amélioration ANA (Asymmetric Namespace Access) NVMe, que NetApp a développée et apportée à la spécification NVMe.
      • NVMe/FC est plus mature que les autres options NVMe-oF et offre le plus vaste écosystème NVMe-oF.
      • Pour les entreprises qui souhaitent tester ou déployer NVMe/FC, il suffit de passer à NetApp ONTAP® 9.4 ou version ultérieure et d'ajouter une licence NVMe/FC.
    • Inconvénients :
      • Comme toutes les offres NVMe, NVMe/FC est si récent que le nombre de systèmes d'exploitation, d'adaptateurs bus hôtes et de switchs pris en charge est encore limité.
      • NVMe/FC dispose d'un écosystème plus vaste que RoCE v2, mais qui reste minuscule par rapport à celui du protocole FC à forte maturité.
      • NVMe/FC repose sur une fabric FC. Il n'est donc pas nécessairement adapté aux entreprises qui ne disposent pas d'une fabric FC ou qui tentent de remplacer des structures FC.

RDMA

RDMA permet d'échanger des données entre la mémoire principale de deux ordinateurs d'un réseau sans utiliser le processeur, le cache ou le système d'exploitation des ordinateurs. Étant donné que RDMA contourne le système d'exploitation, il s'agit généralement du mécanisme le plus rapide et le plus économique pour communiquer des données via un réseau.



Dans le domaine de l'informatique d'entreprise, il existe deux principales variantes de RDMA : InfiniBand et RoCE (RDMA over Converged Ethernet).

NVMe Over InfiniBand (NVMe/IB)

InfiniBand a été l'une des premières implémentations de RDMA et est réputé pour ses performances extrêmement rapides. NetApp fournit des baies hybrides et 100 % Flash E-Series prenant en charge la technologie InfiniBand 100 Gbit/s depuis 2017, offrant ainsi une latence inférieure à 100 microsecondes pour les workloads d'analytique Big Data. Malgré ses avantages, InfiniBand n'est pas aussi populaire que RoCE, son proche cousin, et que le protocole FC standard d'entreprise.



  • NVMe/IB
    • Avantages :
      • Protocole très rapide.
      • Largement utilisé dans l'analytique Big Data (par exemple, les workloads Hadoop) et le calcul scientifique.
    • Inconvénients :
      • Coûteux ; pris en charge par un nombre limité de fournisseurs.
      • Évolution difficile.
      • Absent de la plupart des environnements informatiques d'entreprise.

RoCE v2

Parmi les protocoles RDMA, RoCE est le plus prometteur. Il fonctionne à l'aide du protocole Ethernet convergé, un ensemble d'améliorations du pontage de data center (DCB) apportées au protocole Ethernet afin d'éliminer les pertes. RoCE v1 fonctionne au niveau de la couche 2, la couche de liaison de données du modèle OSI (Open Systems Interconnection). Par conséquent, le routage entre les sous-réseaux est impossible et seule la communication entre deux hôtes du même réseau Ethernet est prise en charge. RoCE v2 est bien plus utile, car il utilise le protocole UDP (User Datagram Protocol) et, comme NVMe/TCP, il fonctionne ainsi au niveau de la couche OSI 3 et peut être routé.

  • NVMe/RoCE v2
    • Avantages :
      • NVMe/RoCE utilise un réseau Ethernet pour le transport, en exploitant une norme de mise en réseau très populaire.
      • Les offres RoCE v2 sont développées par plusieurs fournisseurs de solutions de stockage d'entreprise.
    • Inconvénients :
      • RoCE v2 dispose d'un très petit écosystème avec une seule version de Linux et ne prend pas en charge la haute disponibilité du stockage ni les chemins d'accès multiples.
      • Ethernet peut être considéré comme un protocole avec pertes : il est conçu pour faire face à des réseaux peu fiables et dispose donc de nombreuses options de correction des erreurs et de retransmission. Cependant, les réseaux Ethernet convergés (le « CE » de RoCE) pour les E/S NVMe doivent être sans pertes, ce qui requiert des mécanismes tels que le contrôle de flux prioritaire (PFC) et la notification explicite de congestion (ECN). Les réseaux Ethernet convergés ont donc des tolérances strictes qui les rendent difficiles à étendre.
      • La plupart des entreprises qui envisagent d'adopter RoCE v2 devront acquérir des switchs réseau DCB spécialisés et des cartes d'interface réseau RDMA, qui sont relativement onéreux. La configuration et l'évolution scale-up des réseaux DCB peuvent s'avérer difficiles, par exemple lorsque les entreprises ajoutent des switchs au réseau.

NVMe Over TCP/IP

À ce jour, le coût des réseaux FC ou InfiniBand a exclu certaines entreprises du marché des technologies NVMe-oF. Pour y remédier, NetApp et d'autres membres du consortium NVMe.org ont développé et publié une nouvelle norme NVMe-oF (NVMe/TCP) qui utilise un réseau LAN Ethernet avec des datagrammes TCP pour le transport.

En novembre 2018, l'organisme de normalisation NVMe a ratifié le protocole NVMe/TCP en tant que nouveau mécanisme de transport. À l'avenir, le protocole TCP/IP deviendra probablement une technologie de transport importante de data center pour NVMe.

  • NVMe over TCP
    • Avantages :
      • La norme utilise TCP pour le transport. TCP est très courant, bien compris et extrêmement évolutif.
      • Malgré l'utilisation du protocole Ethernet pour la connectivité, NVMe/TCP ressemble plus étroitement à NVMe/FC, car les deux protocoles utilisent des messages pour leurs communications principales, contrairement aux protocoles RDMA, tels que RoCE, qui utilisent la sémantique de la mémoire.
      • Il existe un vaste écosystème de fournisseurs pour le protocole TCP, qui investissent des sommes considérables pour améliorer ses fonctionnalités de performances. Au cours des prochaines années, les vitesses devraient augmenter de manière significative.
    • Inconvénients :
      • La conception du réseau peut avoir un impact considérable sur les performances NVMe/TCP. Notez que l'allocation de tampons doit être parfaitement adaptée. Une mise en mémoire tampon trop importante augmente la latence. À l'inverse, une quantité trop faible entraîne des chutes et une retransmission.
      • NVMe over TCP est la toute nouvelle technologie de fabric conçue pour NVMe. Elle n'est pas encore disponible dans le commerce.

Quelle fabric choisir ?

Pour les architectes IT qui prévoient de mettre à niveau leur infrastructure pour prendre en charge NVMe-oF, la principale question est de savoir quelle fabric choisir. Bien entendu, la réponse dépendra du contenu de leur infrastructure actuelle, ainsi que de leurs plans et de leurs budgets pour l'avenir.

L'autre facteur clé est le timing. Le potentiel de NVMe/RoCE v2 est considérable, mais il faudra probablement attendre quelques années avant qu'il ne soit capable de prendre en charge les workloads d'entreprise de tier 1 de manière fiable. Une fois la technologie arrivée à maturité, ce qui prendra quelques années, NVMe/TCP semble également en mesure d'offrir un excellent rapport prix/performances.

Pour l'instant, la plupart des architectes IT ont conclu que le protocole FC constitue le protocole de transfert de données le plus mature pour les workloads stratégiques d'entreprise, faisant de NVMe/FC le choix de fabric idéal. Un rapport publié en 2018 par les analystes techniques de Demartek, Bénéfices en matière de performance de NVMe over Fibre Channel, confirme l'ampleur des gains de performances attribuables à la fabric NVMe/FC, comme illustré dans la figure suivante. Pour une charge de travail Oracle standard exécutée sur un système NetApp AFF 700, les IOPS étaient environ 50 % plus élevées pour NVMe/FC que pour le protocole FC SCSI.[/caption] Les tests de laboratoire ont été réalisés sur un système AFF A700 à un seul nœud en utilisant une workload Oracle simulée avec une combinaison de lecture/écriture de 80/20 à une taille de bloc de 8 Ko (E/S de base de données OLTP standard), ainsi qu'une petite quantité d'écritures séquentielles de 64 Ko (redo logs classiques). Les résultats ont montré que NVMe/FC a atteint 58 % d'IOPS en plus à une latence de 375 μs par rapport au protocole FC SCSI.

Nous avons constaté des résultats similaires dans nos laboratoires avec les systèmes de stockage SAN AFF A800, qui sont disponibles depuis mai 2018. Ces systèmes offrent une connectivité NVMe de bout en bout, avec un support Flash connecté via NVMe et une connectivité NVMe/FC dans l'ensemble de la fabric entre les contrôleurs de stockage et les hôtes. Les résultats de test confirment que, même si le support connecté via NVMe du back-end fournit un gain de performances mesurable lors de l'exécution des applications Oracle sur le système AFF A800, la technologie NVMe-oF front-end hautement parallélisée contribue le plus à cette amélioration.

C'est le meilleur des deux mondes : ils peuvent implémenter la technologie de réseau de stockage la plus mature sans interrompre l'activité, tout en se préparant au futur du 100 % NVMe.

Pour en savoir plus, lisez le rapport Bénéfices en matière de performance de NVMe over Fibre Channel (aucune inscription requise).

Mike Kieran

Mike Kieran est ingénieur marketing et technique chez NetApp, responsable des applications SAN et d'entreprise. Fort de plus de 20 ans d'expérience en tant que stratège et communicant spécialisé dans les technologies, il répond aux préoccupations des clients de data centers d'entreprise. Son travail est axé sur la création de programmes de communication, de supports de stratégie go-to-market et de contenu technique. Il écrit et modifie des rapports techniques, des livres blancs, des présentations, des témoignages clients et des articles de blog. Mike Kieran a travaillé auparavant chez Nimble Storage, Gigya, Socialtext et E-Color, où il gérait des équipes responsables de la création de programmes de satisfaction client et de contenu marketing B2B technologique. Il a étudié la physique et l'astronomie à l'Université de Toronto et est l'auteur de quatre livres et de plus de 150 articles de magazine, principalement sur la technologie de l'imagerie digitale. Il consacre une partie de son temps libre à la fabrication de jouets et de meubles en bois dans son atelier.

Afficher tous les posts par Mike Kieran

Pour aller plus loin

Drift chat loading