Accueil Entreprise Pratique avec l'initiateur StarWind NVMe-oF pour Windows

Pratique avec l'initiateur StarWind NVMe-oF pour Windows

by Brian Beeler

Windows est idéal pour beaucoup de choses, il y a une raison pour laquelle c'est le système d'exploitation numéro un au monde. Cela dit, ce n'est pas parfait, surtout lorsqu'il s'agit d'adopter de nouvelles normes de stockage. En tant que tel, il existe une formidable opportunité pour les entreprises entreprenantes de développer des solutions pour les boutiques Windows. Alors que les SSD NVMe continuent de dominer l'entreprise, devenant la norme pour le stockage de serveur SSD, il y a une demande accrue pour pouvoir partager ce stockage. Malheureusement, sous Windows, c'est un problème, jusqu'à récemment. Plus tôt cette année, StarWind a commercialisé un initiateur NVMe-oF pour Windows.

Windows est idéal pour beaucoup de choses, il y a une raison pour laquelle c'est le système d'exploitation numéro un au monde. Cela dit, ce n'est pas parfait, surtout lorsqu'il s'agit d'adopter de nouvelles normes de stockage. En tant que tel, il existe une formidable opportunité pour les entreprises entreprenantes de développer des solutions pour les boutiques Windows. Alors que les SSD NVMe continuent de dominer l'entreprise, devenant la norme pour le stockage de serveur SSD, il y a une demande accrue pour pouvoir partager ce stockage. Malheureusement, sous Windows, c'est un problème, jusqu'à récemment. Plus tôt cette année, StarWind a commercialisé un initiateur NVMe-oF pour Windows.

Initiateur NVMe-oF pour serveur Windows Intel

Jusqu'à la commercialisation, StarWind proposait son initiateur NVMe-oF pour Windows en tant qu'outil gratuit pour le développement et les cas d'utilisation PoC. Ils ont encore proposer la version gratuite pour ceux qui veulent jouer, mais la version d'expédition GA est ce que nous examinons aujourd'hui. En fait, si vous recherchez un initiateur NVMe-oF pour Windows, vous utilisez probablement StarWind IP. Ils OEM la solution à une variété de partenaires qui ont besoin de développer leurs offres.

Initiateur NVMe-oF pour la configuration Windows

L'initiateur StarWind NVMe-oF pour Windows est une installation simple sur n'importe quel hôte Windows. Il n'y a pas besoin de matériel spécialisé ou de composants Windows supplémentaires. Le logiciel est certifié Windows (Server 2019 et Windows 10) et testé pour sa compatibilité avec les principaux fournisseurs de stockage NVMe-oF. Dans notre scénario, nous avons une configuration très simple d'un hôte de stockage et de quatre clients.

starwind NVMe-oF Initiator pour Windows dans le gestionnaire de périphériques

Chacun des quatre clients est Dell PowerEdge R740 les serveurs. Ils exécutent chacun deux processeurs Intel Xeon Gold 6130 à 2.1 GHz avec 256 Go de DRAM. Pour la connectivité, nous utilisons les cartes réseau NVIDIA ConnectX-5 EN 100GbE (MCX516A-CCAT). Les serveurs sont installés avec Windows Server 2019 Standard Edition, tirant parti de l'initiateur StarWind NVMe-oF pour Windows version 1.9.0.455. Pour les tests Linux, nous avons utilisé CentOS 8.4.2105 (noyau - 4.18.0-305.10.2) avec nvme-cli 1.12. Les serveurs sont directement connectés à l'hôte de stockage.

Initiateur StarWind NVMe-oF pour architecture Windows

L'hôte de stockage est un serveur Intel OEM (M50CYP2SB2U) équipé de deux processeurs Intel Xeon 8380 à 2.3 GHz avec 512 Go de DRAM. Nous avons de nouveau utilisé des cartes réseau NVIDIA ConnectX-5 EN 100GbE (MCX516A-CDAT), cette fois nous en avions quatre dans l'hôte. Dans ce cas, nous utilisons CentOS 8.4.2105 (noyau - 5.13.7-1.el8.elrepo) et SPDK v21.07.

Initiateur NVMe-oF pour Windows P5510

Dans l'hôte, nous utilisons huit Intel P5510 SSD Gen4 NVMe. Les SSD sont divisés en deux lots de quatre pour l'alignement NUMA avec les CPU. Ils sont configurés en RAID0 pour des performances maximales.

Initiateur NVMe-oF pour les performances Windows

Pour ce test, nous avons exécuté les tests de performances suivants via FIO en exploitant à la fois les initiateurs Linux et Windows.

  • Lecture aléatoire 4K - 16 threads, profondeur de file d'attente 32
  • Écriture aléatoire 4K - 8 threads, 4 profondeur de file d'attente
  • Lecture aléatoire 64K - 4 threads, profondeur de file d'attente 32
  • Écriture aléatoire 64K - 4 threads, 1 profondeur de file d'attente
  • Lecture séquentielle 1M - 2 fils, 8 profondeur de file d'attente
  • Écriture séquentielle 1M - 1 thread, 8 profondeur de file d'attente

La durée d'un seul test est de 3600 secondes (1 heure). Avant de comparer les opérations d'écriture, le stockage a d'abord été réchauffé pendant 3600 secondes (1 heure). Tous les tests ont été effectués trois fois et la valeur moyenne a été utilisée comme résultat final.

Dans notre premier groupe examinant les performances de l'initiateur Linux NVMeoF sur 4 clients, nous avons mesuré 5.54 millions d'IOPS à une bande passante de 21.6 Go/s à une latence de 0.369 ms en lecture aléatoire 4K. Les performances d'écriture aléatoire 4K ont mesuré 1.58 M IOPS à une bande passante de 6.2 Go/s avec une latence de 0.08 ms.

En passant aux transferts de gros blocs, nous avons mesuré à la fois 64K aléatoires et enfin, un test séquentiel de 1M axé sur la bande passante à travers le tissu. En lecture aléatoire 64K, nous avons mesuré 46.6 Go/s à 0.69 ms de latence et 7.2 Go/s à 0.14 ms de latence en écriture. 1M séquentiel est arrivé à 42.9 Go/s en lecture à 1.48 ms de latence et 25.4 Go/s à 1.26 ms de latence en écriture.

Ensuite, nous sommes passés à Windows où nous avons exploité l'initiateur StarWind NVMeoF sur les quatre mêmes clients. Ici, nous avons mesuré 4.17 millions d'IOPS en lecture aléatoire 4K ou 16.3 Go/s à 0.35 ms de latence. L'écriture aléatoire 4K est arrivée à 1.54 M IOPS ou 6 Go/s à 0.07 ms de latence.

Nous sommes ensuite passés à une plus grande taille de transfert de 64K avec le même profil d'accès aléatoire. Ici, nous avons mesuré 46.6 Go/s en lecture à 0.68 ms de latence et 7.2 Go/s en écriture à 0.13 ms de latence. En passant à notre dernier profil de charge de travail d'une taille de transfert de 1 M avec un modèle d'accès séquentiel, nous avons mesuré 42.9 Go/s en lecture à 1.38 ms de latence et 25.2 Go/s en écriture à 1.14 ms de latence.

En comparant les chiffres tête à tête, les performances de Windows et de Linux se sont alignées très près les unes des autres, à l'exception de la lecture aléatoire 4K. Dans tous les autres tests, l'écart de performance était inférieur à 3 %. La principale différence réside vraiment dans la surcharge du processeur ajoutée lors du passage dans la pile de stockage Windows. Cela équivaut à une différence de 2.7 à 3.7x, où l'augmentation des E/S elle-même ajoute le plus à l'utilisation du processeur.

Passer d'une utilisation du processeur de 16 % sous Linux à 44 % sous Windows est un saut assez important, mais passer de 3.5 % à 9 % ne serait pas ressenti au même degré. Pour les applications qui doivent être exécutées sous Windows ou le magasin informatique étant plus axé sur Windows en général, l'objectif principal de StarWind était d'apporter les capacités et les performances NVMeoF qu'ils étaient clairement capables d'atteindre.

Conclusion

Le but de cette analyse n'est pas de déterminer le meilleur moyen ou le moyen le plus rapide de déployer votre propre solution NVMe-oF. La plupart des déploiements de stockage suivent l'application, par opposition à l'application qui suit le stockage. Cela dit, il existe un certain nombre de raisons pour lesquelles une organisation peut vouloir utiliser Windows. Il peut s'agir d'applications spécifiques, d'une infrastructure existante, de raisons de coût ou de tout autre nombre de problèmes qui font de Windows la plate-forme préférée. Au moins maintenant, avec l'initiateur NVMe-oF de StarWind pour Windows, nous avons la possibilité de partager des SSD NVMe et de les rapprocher le plus possible des systèmes d'application.

Initiateur NVMe-oF pour châssis avant Windows

En ignorant le système d'exploitation client pendant un moment, la principale limitation de nos tests se résume vraiment aux liens réseau entre les systèmes. Dans notre cas, en tirant parti des cartes réseau de 100 Go, nous avons saturé le réseau et atteint 46.6 Go/s dans les environnements Linux et Windows. Même le test de lecture aléatoire 4K de pointe dans Windows a poussé 16.3 Go/s, ce qui équivaudrait à plus de six liens 25GbE pour les E/S aléatoires. La mise en réseau finit par jouer un rôle plus important pour NVMe-oF, car les performances de NVMe, quelle que soit la façon dont vous les découpez, peuvent absorber beaucoup de trafic.

Mais en fin de compte, notre objectif était d'évaluer le fonctionnement de l'initiateur StarWind. Ça marche vachement bien. Considérer l'alternative est "Pas de NVMe-oF pour vous!" sous Windows, nous sommes heureux d'avoir toutes les options. Oui, il y a un coup CPU pour le privilège, mais même si les deltas de pourcentage de Linux à Windows sont effrayants, en dehors des lectures aléatoires 4K, l'impact perçu est minime. Si vous n'êtes pas sûr que ce soit la bonne solution, StarWind vous permet de l'essayer gratuitement. Il est si simple à installer qu'il y a toutes les raisons de l'essayer et de voir à quel point NVMe-oF peut fonctionner pour vos applications sous Windows.

Page produit StarWind

Formulaire de demande de démo StarWind

S'engager avec StorageReview

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