Comprendre les exigences de stockage et de matériel NVMe

16

Je suis un peu confus quant aux développements récents du stockage basé sur PCIe, en particulier en ce qui concerne la spécification NVMe et sa compatibilité matérielle.

Bien que j'aie beaucoup travaillé avec les SSD dans le facteur de forme du disque et certains périphériques PCIe haut de gamme comme Fusion-io , je suis dans une position où je ne comprends pas les bases de NVMe et je cherche des éclaircissements sur quel type de serveur le matériel est pris en charge.

Par exemple, une copie publicitaire comme celle-ci de Supermicro prête à confusion.

... CPU haute performance PCI-E Gen3 connexion directe aux périphériques NVMe.

J'ai affaire à une solution de stockage définie par logiciel basée sur Linux et je voulais utiliser des périphériques Fusion-io de rechange, qui utilisent un pilote propriétaire ( présentant les noms des périphériques / dev / fioX au système d'exploitation ).

Lorsque j'ai demandé de l'aide au vendeur, la réponse a été:

La dénomination du périphérique «fioX» est rendue obsolète par la nouvelle interface de périphérique NVMe. Cela signifie que nous achetons des adaptateurs obsolètes pour ajouter un support que personne d'autre n'a demandé.

Cela semble un peu dur. Je ne pensais pas que les adaptateurs Fusion-io étaient obsolètes.

Les rares informations que je trouve en ligne semblent suggérer que NVMe n'est pris en charge que sur les générations de matériel serveur les plus récentes ( processeurs Intel E5-2600v3 et chipsets PCI 3.0? ). Mais je ne peux pas vérifier cela.

Est-ce vrai?

Quel est le taux d'adoption? Est-ce quelque chose que les ingénieurs tiennent compte dans leurs décisions de conception, ou parlons-nous d'une «norme» qui n'est pas complètement formée?

Si NVMe est quelque chose qui ne s'applique qu'aux systèmes les plus récents du marché, est-il raisonnable de suggérer (au fournisseur) que ma base d'installation d'anciens systèmes ne peut pas être compatible NVMe, il vaut donc la peine d'ajouter le support que j'ai demandé?

ewwhite
la source

Réponses:

4

NVMe est basé sur PCIe et utilise différents pilotes conçus pour cela. Vous pouvez essentiellement prendre un NVM M2 Formfactor, l'insérer dans l'adaptateur approprié et l'exécuter sur n'importe quel système Linux, Windows ou BSD avec les pilotes appropriés.

Essentiellement, NVMe ne fait que standardiser les SSD basés sur PCIe en un seul ensemble de pilotes, conçus pour en tirer pleinement parti.

Les chances sont que si vous pouviez démarrer à partir d'un ssd PCI non standard , vous pouvez démarrer à partir de cela, avec les pilotes appropriés dans le système d'exploitation. Si vous l'utilisez pour la mise en cache et à d'autres fins, il n'y a aucune raison pour que NVMe ne fonctionne pas.

Vos anciens systèmes sont probablement compatibles, en supposant que vous puissiez obtenir un nouveau système d'exploitation suffisamment avec un noyau assez moderne.

Journeyman Geek
la source
2

Mes deux centimes...

NVMe a mis l'accent sur les différents mfg de SSD et a adopté une norme de base ... En gros, vous pouvez obtenir des performances Nand Flash à partir d'un SSD connecté à des serveurs NVMe pour NET moins. De plus, leurs fonctionnalités NVMe sont plus nombreuses que celles du tissu (que je ne connais pas encore bien)

Voir https://www.brighttalk.com/webcast/663/132761

Contenu "L'impact sur les performances de NVMe et NVMe sur Fabrics" • Une vue d'ensemble de l'initiative NVMe sur Fabrics • Prise en charge de NVMe pour plusieurs structures, y compris Ethernet avec RDMA (iWARP) • Comment NVM Express de bout en bout élimine la latence de traduction SCSI • Atteindre les performances avantages comparables à des centaines de SSD - locaux et distants

William Moore NetDirect CA
la source
Qu'en est-il des exigences matérielles / plate-forme / chipset nécessaires pour s'adapter à cela?
ewwhite
2

Je devais tester cela par moi-même ...

J'ai acheté quatre SSD Intel 750 PCIe NVMe pour les installer sur les serveurs HP ProLiant DL380p Gen8 . Les serveurs ne sont pas les processeurs Intel 2600v3 de la génération actuelle, mais plutôt les processeurs 2600v2.

Les plats à emporter:

NVMe est une spécification d'interface. Sous Linux, les périphériques sont énumérés comme/dev/nvmeXnY , par exemple, /dev/nvme0n1et /dev/nvme1n1.

Le format des périphériques que j'ai utilisés était PCIe 3.0 x4. Les serveurs Gen8 ProLiant ont deux emplacements PCIe 3.0 sur la cage adaptatrice par défaut. Ces cartes NVMe PCIe fonctionneront dans des emplacements PCIe plus lents (ou PCIe 2.0), mais seront limitées par le bus à ce stade.

Donc, pour mon cas d'utilisation, NVMe est quelque peu piloté par le système d'exploitation, mais est certainement compatible avec mon matériel serveur légèrement plus ancien.

ewwhite
la source
ewwhite-- Je souhaite également passer à ces cartes NVMe sur nos serveurs HP gen8. Avez-vous dû fournir des câbles SATA externes ou d'autres câbles d'alimentation pour que les choses fonctionnent? Nous avons un mélange de SSD OCZ et Mushkin PCIe, mais tous utilisent des contrôleurs SATA3 ou SCSI pour l'interface. Je commence juste à entendre plus de ces disques NVMe devenir plus courants.
J'ai utilisé des cartes NVMe PCIe. Ils glissent à l'intérieur. Seuls 2 des 3 emplacements d'une carte de montage PCIe Gen8 sont PCIe 3.0, alors faites attention à cela.
ewwhite
2

J'ai écrit un article chez Thinkmate qui essaie de donner un bon aperçu de NVMe et fonctionne comme un joli petit guide sur le choix du bon lecteur et du bon système, quelque chose que j'ai trouvé manquant en ligne. Nous vendons principalement des serveurs Supermicro, et je suis d'accord - Les choses peuvent devenir un peu déroutantes ... C'est pourquoi j'ai écrit l'article!

En ce qui concerne l'adoption, je ne peux pas parler pour l'industrie dans son ensemble, mais chez Thinkmate, l'intérêt pour NVMe a été important, et les commentaires que nous recevons de nos clients sont qu'ils sont très satisfaits de leur achat, principalement en raison des avantages de performance .

Je vois beaucoup parler de prix, mais je pense que la chose la plus importante à considérer est la valeur, pas le prix. Votre choix de mémoire flash doit dépendre fortement de la valeur que chaque solution apportera à votre application pendant la durée de vie du lecteur et du système.

Eli Domingues
la source
1

J'ai ajouté une carte nvme intel 750 400GB à une DL 380p gen 8 sans aucun problème. Le bios l'a reconnu comme un dispositif de stockage de masse.

J'utilise FreeBSD 9.3 et il a immédiatement reconnu le lecteur nvme, fonctionne parfaitement bien et est très rapide. Je ne peux pas commenter le démarrage à partir du lecteur car j'utilise ceci comme deuxième lecteur.

Phil
la source
Sachez que seuls les emplacements PCIe 1, 2, 4, 5 et 6 sont capables de vitesses PCIe 3.0. L'emplacement n ° 3 est un mauvais endroit pour une carte NVMe.
ewwhite
1

Il y a un détail dans l'article suivant qui, je pense, est significatif et le dépasse au-delà du «juste pcie».

Ce sont les 32 000 requêtes simultanées en file d'attente, qui pourraient transformer certaines applications. Si je l'ai bien lu, cela n'est pas disponible via la solution `` placez-le dans un emplacement qui le prend ''. Il a besoin d'une carte NVMe appropriée.

Juste pour info. J'apprends aussi!

http://www.pcworld.com/article/2899351/everything-you-need-to-know-about-nvme.html

Andrew Mather
la source