May 6, 2024

PDFS

C'est en forgeant qu'on devient forgeron

Contourner les limitations du lecteur du contrôleur de stockage NVMe

7 min read

Les contrôleurs de stockage ont des limites en ce qui concerne le nombre de disques NVMe qu’ils peuvent prendre en charge. Il s’agit d’un problème de bande passante PCIe – il n’y en a pas assez.

Ce problème existe, que le processeur du contrôleur de stockage NVMe soit Intel, AMD, ARM ou des ASIC personnalisés.

La bande passante PCIe dépend de la Génération PCIe comme on le voit dans le tableau ci-dessous.

Graphique d'évolution PCIe

La plupart des contrôleurs de stockage actuels sont PCIe 3.0, qui ont une bande passante maximale d’environ 32 Go/s. Avec PCIe 4.0 et les contrôleurs de stockage PCIe 5.0 devenant plus répandus, la bande passante va doubler et quadrupler. C’est une excellente nouvelle pour les consommateurs de stockage.

Cependant, toute cette bande passante ne peut pas être attribuée aux SSD NVMe. L’interconnexion du réseau frontal en consommera beaucoup. La bande passante dans ce domaine augmente rapidement plus rapidement que la bande passante PCIe. Les cartes réseau Ethernet et les adaptateurs de canal hôte InfiniBand atteignent rapidement de nouveaux sommets de bande passante, avec un débit par port atteignant 400 Gbit/s (50 Gbit/s). Même Fibre Channel est désormais disponible à 64 Gbit/s (8 Gbit/s). Il ne faut pas trop de ces cartes réseau ou adaptateurs pour saturer le PCIe.

Comment les systèmes de stockage peuvent-ils augmenter leurs performances globales ? La réponse est assez simple pour les fournisseurs de stockage : ajoutez plus de contrôleurs.

Cela signifie que la bande passante PCIe pour l’interconnexion back-end avec les disques NVMe sera limitée pour tout contrôleur de stockage donné, quelle que soit la génération PCIe. Déterminer le nombre maximum de disques NVMe est un équilibre entre le front-end, le back-end et le débit requis. Le contrôleur de stockage NVMe basé sur PCIe 3.0 dépasse généralement 24 disques. Ce n’est pas nécessairement une limite stricte et rapide. Cela dépend en fin de compte des exigences de débit total. C’est pourtant pratique.

La sagesse conventionnelle dans l’industrie est que comme PCIe 4.0 et 5.0 deviennent plus répandus dans les contrôleurs de stockage, il en va de même pour le nombre pratique de disques NVMe pris en charge. C’est possible, mais il y a d’autres problèmes qui suggèrent différemment. Le débit du lecteur NVMe va également augmenter. Tout ce qui est connecté au PCIe augmente la consommation de bande passante proportionnellement à la bande passante PCIe.

Ensuite, il y a l’efficacité de la pile logicielle de stockage. Le gonflement du logiciel devra probablement être résolu, sinon le processeur est susceptible de devenir le goulot d’étranglement des performances. Il est possible, voire probable, que le nombre total de disques pris en charge par contrôleur de stockage ne change pas. Si tel est le cas, comment les systèmes de stockage peuvent-ils augmenter leurs performances globales ? La réponse est assez simple pour les fournisseurs de stockage : ajoutez plus de contrôleurs.

Mise à l’échelle du contrôleur de stockage NVMe

Le système de stockage partagé le plus courant est le contrôleur actif-actif. Deux contrôleurs ont chacun accès aux disques de l’autre en cas de défaillance d’un contrôleur. Deux contrôleurs n’augmentent généralement pas le nombre de disques NVMe entièrement adressables. Cela permet d’éviter une dégradation considérable des performances lorsqu’un contrôleur de stockage NVMe n’est pas disponible. La mise à l’échelle du nombre de contrôleurs de stockage au-delà de deux nécessite une architecture un peu plus créative.

Augmentez le nombre de contrôleurs. L’évolutivité horizontale du stockage par blocs se fait généralement via un certain type de clustering. Mise à l’échelle pour stockage de fichiers et d’objets est généralement un espace de noms global, mais pas toujours. Toutes les architectures scale-out sont soit des architectures tout partagées, soit des architectures sans partage. Block est plus susceptible d’être partagé, mais pas toujours. Rien de partagé n’est plus courant pour le fichier et l’objet.

Un problème avec certaines architectures de blocs évolutifs est la diminution des rendements marginaux. Chaque nouveau contrôleur ajoute moins de performances que le précédent jusqu’à ce que le suivant affecte négativement les performances. C’est généralement un problème pour les architectures tout partagé en cluster. Les architectures sans partage sont généralement plus susceptibles d’évoluer de manière presque linéaire vers des nombres beaucoup plus importants. Cependant, toutes les architectures évolutives augmentent le nombre d’unités de rack (RU), de ports de commutateur, de commutateurs, de cartes réseau ou d’adaptateurs, de câbles, d’émetteurs-récepteurs, de gestion des câbles, de conduits, d’alimentation, de refroidissement, d’onduleur, etc. les systèmes de stockage.

Les produits aident à résoudre les limites des disques NVMe

Il y a quelques bonnes nouvelles. Il y a eu une innovation significative par plusieurs fournisseurs au cours des dernières années visant spécifiquement à résoudre les limitations du lecteur NVMe. Cet article en présente quatre. Mais ils ne sont en aucun cas les quatre seuls.

Baie Flash HyperParallel de Pavilion Data Systems, alimenté par Pavilion HyperOS. Pavilion a intelligemment compris comment installer 20 contrôleurs de stockage et 72 disques NVMe dans un seul châssis 4 RU. Tous les contrôleurs ont accès à tous les disques via un commutateur PCIe interne. Cela réduit considérablement l’espace de rack consommé, l’alimentation, le refroidissement, l’onduleur, etc., à mesure qu’il évolue. Ils prennent en charge le stockage de blocs, de fichiers et d’objets et peuvent évoluer chacun de manière linéaire, simplement en ajoutant un châssis supplémentaire. Les clusters de produits se bloquent lors de l’utilisation d’un espace de nom global de fichier et d’un espace de nom global d’objet. Il s’agit d’un savant mélange d’architectures tout partagé et rien partagé.

StockerOne Systèmes de stockage S1. StorOne n’est actuellement qu’une architecture active-active évolutive uniquement axée sur l’efficacité de la pile logicielle de stockage et des services. Il prend en charge le stockage de blocs, de fichiers et d’objets. Leur logiciel plus efficace libère le processeur pour de meilleures performances afin d’optimiser les performances des disques NVMe et SAS/SATA connectés. Bien que cela n’augmente pas le nombre de disques NVMe adressables, cela diminue la latence et augmente les IOPS et le débit de ces disques dans le système de stockage.

Fongible. Ce produit est en bloc uniquement. Quoi rend Fungible innovant est la séparation complète du contrôle du chemin des données. La logique et les métadonnées des services de stockage sont séparées des E/S de stockage dans des contrôleurs séparés hors chemin de données. Tous les contrôleurs d’E/S de stockage se trouvent dans le chemin de données et ne partagent rien entre eux. Les contrôleurs hors du chemin des données gèrent le routage, les instantanés, la réplication et la gestion en général.

Vast Stockage universel de données. Le stockage universel est un stockage de fichiers et d’objets qui évolue linéairement dans la plage de l’exaoctet. Il s’agit d’une architecture tout partagée désagrégée. Vast Data a également séparé de manière innovante le contrôle de la logique de stockage et les E/S de stockage contrôleurs. Les contrôleurs logiques de stockage ont un espace de noms global et c’est ce à quoi les serveurs d’applications se connectent. Un contrôleur logique de stockage de vastes données peut être une appliance ou un conteneur dans un serveur. Chacun des contrôleurs logiques de stockage accède ensuite aux contrôleurs d’E/S de stockage de capacité SSD QLC via NVMe-oF Ethernet. Chaque contrôleur d’E/S de stockage est mis en cache frontal avec 18 To de mémoire de classe de stockage NVMe. Chacun des contrôleurs logiques a accès à chacun des contrôleurs d’E/S de stockage de capacité.

Ce ne sont pas les seuls systèmes de stockage NVMe innovants et évolutifs sur le marché. Les startups telles que Excelero (bloc), WekaIO (fichier) et Rozo (fichier et objet) ont toutes des architectures innovantes intelligentes pour faire face aux limitations du contrôleur de stockage de disque NVMe. Même les principaux acteurs du stockage traditionnel, notamment Dell, HPE, IBM, NetApp et Vantara, proposent des produits de stockage évolutifs comparativement innovants qui traitent les limites des lecteurs de contrôleur de stockage NVMe.

La comparaison de ces architectures système est difficile. Leurs architectures sont la façon dont ils résolvent les problèmes de stockage, tels que les limitations de lecteur de contrôleur de stockage NVMe. Ne comparez pas les architectures ; comparer les résultats quant à la façon dont ils répondent aux exigences de l’organisation. Assurez-vous que les comparaisons sont des pommes avec des pommes sur les exigences, et non sur la façon dont elles y répondent.

Il est préférable de déterminer les performances et la capacité requises sur la durée de vie prévue du système de stockage. Ensuite, mesurez comment chacun peut répondre à ces exigences et leur coût total pour le faire.

Dans l’intérêt d’une transparence totale, aucun de ces fournisseurs n’est actuellement client de cet auteur. Cependant, la plupart d’entre eux l’ont été à un moment ou à un autre au cours des 23 dernières années.

Leave a Reply

Your email address will not be published. Required fields are marked *