Comment nous avons testé VMware vSAN ™: pourquoi cela fonctionne dans la pratique

Il y a un an, j'ai assemblé un centre de données à partir d'une pile d'Intel NUC . Il y avait un système de stockage de logiciels que la femme de ménage ne pouvait pas détruire, à quelques reprises le cluster s'est effondré.

Et maintenant, nous avons décidé d'exécuter vSAN sur plusieurs serveurs dans une très bonne configuration afin d'évaluer pleinement les performances et la tolérance aux pannes de la solution. Bien sûr, nous avons eu un certain nombre d'implémentations réussies en production pour nos clients, où vSAN a réussi à résoudre les tâches définies, mais il n'a pas été possible de réaliser des tests complets. En fait, je veux partager les résultats des tests aujourd'hui.

Nous allons tourmenter le stockage avec une charge, le laisser tomber et tester de toutes les manières possibles la tolérance aux pannes. Pour plus de détails, j'invite tout le monde à chat.

Qu'est-ce que VMware vSAN en général et pourquoi y sommes-nous allés?


Il existe un cluster de serveurs standard pour les machines virtuelles. Il a un tas de composants indépendants, l'hyperviseur fonctionne directement sur le matériel et le stockage est configuré séparément sur la base de DAS, NAS ou SAN. Données lentes sur disque dur, données chaudes sur SSD. Tout est familier. Mais ici se pose le problème du déploiement et de l'administration de ce zoo. Cela devient particulièrement amusant dans des situations où des éléments individuels du système de différents fournisseurs. En cas de problème, l'amarrage des tickets pour l'assistance technique de différents fabricants a sa propre atmosphère particulière.

Il y a des morceaux de fer séparés qui, du point de vue du serveur, ressemblent à des disques pour l'enregistrement.

Et il existe des systèmes hyperconvergés. En eux, vous disposez d'une unité universelle qui prend tout le mal de tête de l'interaction du réseau, des disques, des processeurs, de la mémoire et des machines virtuelles qui tournent sur eux. Toutes les données circulent dans un panneau de contrôle et, si nécessaire, vous pouvez simplement ajouter quelques unités supplémentaires pour compenser l'augmentation de la charge. L'administration est grandement simplifiée et standardisée.


VMware vSAN se réfère simplement aux solutions sur la base desquelles il est déployé
infrastructure hyperconvergée. La caractéristique clé du produit est une intégration étroite avec la plate-forme de virtualisation VMware vSphere, qui est un leader parmi les solutions de virtualisation qui vous permet de déployer le stockage de logiciels pour les machines virtuelles sur des serveurs de virtualisation en quelques minutes. vSAN prend directement le contrôle des opérations d'E / S à un bas niveau, répartissant de manière optimale la charge, mettant en cache les opérations de lecture / écriture et en faisant beaucoup plus avec une charge minimale sur la mémoire et le processeur. La transparence du système est légèrement réduite, mais en conséquence, tout fonctionne, comme on dit, vSAN peut être configuré automatiquement en tant que stockage hybride et sous la forme d'une version 100% flash. Il est mis à l'échelle à la fois horizontalement en ajoutant de nouveaux nœuds au cluster et verticalement, augmentant le nombre de disques dans les nœuds individuels. La gestion avec leur propre client Web vSphere est très pratique en raison d'une intégration étroite avec d'autres produits.

Nous avons opté pour une configuration 100% flash, qui devrait être optimale en termes de prix et de performances. Il est clair que la capacité totale est légèrement inférieure à celle de la configuration hybride utilisant des disques magnétiques, mais ici nous avons décidé de vérifier comment cela peut être partiellement contourné en utilisant le codage d'effacement, ainsi que la déduplication et la compression à la volée. En conséquence, l'efficacité du stockage se rapproche des solutions hybrides, mais beaucoup plus rapidement avec un minimum de frais généraux.

Comment tester


Pour tester les performances, nous avons utilisé le logiciel HCIBench v1.6.6 , qui automatise le processus de création de nombreuses machines virtuelles, puis la compilation des résultats. Le test de performance lui-même est effectué à l'aide du logiciel Vdbench, l'un des logiciels de test de charge synthétique les plus populaires. Iron était dans les options de configuration suivantes:

  1. All-flash - 2 groupes de disques: 1xNVMe SSD Samsung PM1725 800 Go + 3xSATA
  2. SSD Toshiba HK4E 1,6 To.
  3. All-flash - 1 groupe de disques: 1xNVMe SSD Samsung PM1725 800 Go + 6xSATA SSD Toshiba HK4E 1.6 TB.
  4. All-flash - 1 groupe de disques: 1xNVMe SSD Samsung PM1725 800 Go + 6xSATA SSD Toshiba HK4E 1,6 To + Space Efficiency (déduplication et compression).
  5. All-flash - 1 groupe de disques: 1xNVMe SSD Samsung PM1725 800 Go + 6xSATA SSD Toshiba HK4E 1,6 To + Erasure Coding (RAID 5/6).
  6. All-flash - 1 groupe de disques: SSD 1xNVMe Samsung PM1725 800 Go + SSD 6xSATA Toshiba HK4E 1,6 To + Codage d'effacement (RAID 5/6) + Efficacité spatiale (déduplication et compression).

Lors des tests, nous avons émulé trois volumes différents de données actives utilisées par les applications: 1 To (250 Go par serveur), 2 To (500 Go par serveur) et 4 To (1 To chacun).

Pour chaque configuration, le même ensemble de tests a été effectué avec les profils de charge suivants:

  1. 0 lecture / 100 écriture, au hasard 50%, taille de bloc - 4k.
  2. 30 lecture / 70 écriture, au hasard 50%, taille de bloc - 4k.
  3. 70 lecture / 30 écriture, au hasard 50%, taille de bloc - 4k.
  4. 100 lecture / 0 écriture, 50% au hasard, taille de bloc - 4k.

Les première et quatrième options étaient nécessaires pour comprendre comment le système se comportera sous des charges maximale et minimale. Mais les deuxième et troisième sont aussi proches que possible du vrai cas d'utilisation typique: par exemple, 30 lecture / 70 écriture - VDI. Ces charges que j'ai rencontrées en production étaient très proches d'eux. Au cours de ce processus, nous avons testé l'efficacité du mécanisme de gestion des données vSAN.

En général, le système s'est révélé très bon. Sur la base des résultats des tests, nous avons réalisé que nous pouvons compter sur des performances de l'ordre de 20 000 IOPS par nœud. Pour les tâches ordinaires et fortement chargées, ce sont de bons indicateurs prenant en compte des retards de 5 ms. Ci-dessous, j'ai donné des graphiques avec les résultats:







Tableau récapitulatif avec les résultats des tests:

La couleur verte indique les données actives qui sont complètement mises en cache.

Tolérance aux pannes


J'ai coupé un nœud après l'autre, malgré l'indignation de la machine, et j'ai regardé la réaction du système dans son ensemble. Après avoir déconnecté le premier nœud, rien ne s'est produit du tout, à l'exception d'une petite baisse des performances, d'environ 10 à 15%. J'ai éteint le deuxième nœud - certaines des machines virtuelles se sont arrêtées, mais le reste a continué de fonctionner avec une légère dégradation des performances. Survie globale satisfaite. Redémarrage de tous les nœuds - le système a réfléchi un peu et s'est à nouveau synchronisé sans aucun problème, toutes les machines virtuelles ont démarré sans aucun problème. Comme à un moment donné sur les NUC. L'intégrité des données n'est pas non plus affectée, ce qui est très satisfaisant.

Impressions générales


Les systèmes de stockage définis par logiciel (SDS) sont déjà une technologie mature.

Aujourd'hui, l'un des principaux facteurs qui empêchent la mise en œuvre de vSAN est le coût plutôt élevé d'une licence en roubles. Si vous créez l'infrastructure à partir de zéro, il peut s'avérer qu'un système de stockage traditionnel dans une configuration similaire coûtera environ le même prix. Mais il sera moins flexible à la fois en termes d'administration et de mise à l'échelle. Donc, aujourd'hui, lors du choix d'une solution pour stocker des données de machine virtuelle sur la plate-forme de virtualisation vSphere, il est très bon de peser tous les avantages et les inconvénients de l'utilisation de solutions traditionnelles et de la mise en œuvre d'une technologie de stockage définie par logiciel.

Vous pouvez créer une solution sur le même Ceph ou GlusterFS, mais lorsque vous travaillez avec l'infrastructure VMware, l'intégration de vSAN avec des composants individuels est captivante, ainsi que la facilité d'administration, de déploiement et de performances nettement supérieures, en particulier sur un petit nombre de nœuds. Par conséquent, si vous travaillez déjà sur l'infrastructure VMware, le déploiement sera beaucoup plus facile pour vous. Vous faites vraiment une douzaine de clics et obtenez une FDS fonctionnelle dès la sortie de la boîte.

Une autre motivation pour déployer vSAN est de l'utiliser pour les succursales, ce qui vous permet de mettre en miroir des nœuds dans des unités distantes avec un hôte témoin dans le centre de données. Cette configuration fournit un stockage à tolérance de pannes pour les machines virtuelles avec toutes les technologies et performances vSAN sur seulement deux nœuds. Soit dit en passant, pour l'utilisation de vSAN, il existe un schéma de licence distinct pour le nombre de machines virtuelles, ce qui permet de réduire les coûts par rapport au schéma de licence vSAN traditionnel pour les processeurs.

Sur le plan architectural, la solution nécessite Ethernet 10 Gbits avec deux liaisons par nœud pour une répartition adéquate du trafic lors de l'utilisation d'une solution 100% flash. Par rapport aux systèmes traditionnels, vous économisez de l'espace en rack et économisez sur les réseaux SAN en éliminant Fibre Channel au profit de la norme Ethernet plus universelle. Pour garantir la tolérance aux pannes, au moins trois nœuds sont nécessaires, sur deux répliques d'objets avec des données seront stockées, et sur le troisième - objets témoins pour ces données, résout le problème du split-brain.

Maintenant quelques questions pour vous:

  1. Lorsque vous décidez d'un système de stockage, quels critères sont les plus importants pour vous?
  2. Quels facteurs d'arrêt voyez-vous sur la voie de la mise en œuvre de systèmes de stockage définis par logiciel?
  3. Quels systèmes de stockage définis par logiciel considérez-vous essentiellement comme une option de mise en œuvre?


UPD: J'ai complètement oublié d'écrire la configuration du stand et les paramètres de chargement:

1. Description du fer. Par exemple:
Serveurs - 4xDellR630, chacun:
• 2xE5-2680v4
• 128 Go de RAM
• 2x10GbE
• 2x1GbE pour la gestion / VM Network
• Dell HBA330
Configuration de stockage n ° 1:
2xPM1725 800GB
6xToshiba HK4E 1.6TB
Configuration de stockage n ° 2:
1xPM1725 800GB
6xToshiba HK4E 1.6TB

2. Description des versions du logiciel:
vSphere 6.5U1 (7967591) (vSAN 6.6.1), c'est-à-dire correctifs après Meltdown / Spectre
vCenter 6.5U1g
Derniers pilotes et FW pris en charge par vSAN et ESXi pour tous les composants
LACP pour le trafic vSAN et vMotion (avec les partages / limites / réservations NIOC activés)
Tous les autres paramètres sont par défaut

3. Paramètres de charge:
• HCIBench 1.6.6
• Oracle Vdbench - 04/05/06
• 40VM par cluster (10 par nœud)
• 10 vmdk par VM
• Taille de 10 Go de vmdk et pourcentage d'ensemble de charge de travail de 100/50/25%
• Temps de préchauffage-1800sec (0,5 heure), temps de test 3600 (1 heure)
• 1 threads par vmdk

Source: https://habr.com/ru/post/fr414125/


All Articles