La solution de virtualisation du stockage de Microsoft dans Windows Server 2012

Partager

Des résultats probants pour la solution de virtualisation du stockage de Microsoft dans Windows Server 2012 

Avec Windows Server 2012, Microsoft donne la possibilité aux utilisateurs de créer des espaces virtuels de stockage (EDS) également appelés « pool de stockage ». Ce dernier, qui s’affiche directement dans l’explorateur de fichiers comme un volume unique sur le serveur (voir illustrations ci-dessous), est une agrégation de disques physiques. Et en cas de besoin de capacités supplémentaires, il est facile d’augmenter la taille du pool de stockage par l’ajout d’autres lecteurs. Précisons que dans ce concept de virtualisation du stockage par Microsoft, les disques physiques, qui permettent de former ces pools de stockage (unités logiques), peuvent être de tailles et de modèles différents (aussi appelés Just A Bunch Of Disks ou JBOD). De plus, si plusieurs disques physiques sont utilisés, Windows Server 2012 est en mesure de dupliquer les données de l’un à l’autre afin de pouvoir les récupérer en cas de panne de l’un des disques. Cette sécurité permettant d’anticiper les éventuelles pannes matérielles est appelée résilience. D’autre part, Windows Server 2012 offre des fonctionnalités d’optimisation du stockage comme le Tiering (aussi appelé Niveaux de Stockage par Microsoft) dont l’approche est de hiérarchiser, de façon transparente, les données entre les différents supports physiques (SSD, HDD, hybrides) en fonction de leur fréquence d’accès. Par exemple, les disques SSD, plus coûteux mais qui profitent de meilleures performances (bande passante plus élevée et faible latence), répondent parfaitement aux requêtes les plus courantes. A l’opposé, il est plus raisonnable de stocker ou d’archiver des grands volumes de données dites “dormantes” sur des disques HDD (de type Sata ou Sas) pour des raisons de coûts et de performances en termes d’exécution. Partant de ce constat, nous avons donc décidé d’effectuer un test de performances pour mesurer l’efficacité de la solution (et des fonctionnalités associées) de stockage de Microsoft (voir fiche pratique). Ainsi, les mesures faites pour ces tests nous montrent clairement que, dans ce cas précis, la pratique rejoint la théorie. En effet, les résultats obtenus correspondent bien aux caractéristiques des performances des disques SSD, HDD ou encore hybrides même si nous avons noté une très légère perte de performance du côté du volume monté en miroir. Toutefois, il est important de relativiser ces résultats étant donné que les tests ont été effectués dans des conditions optimales (disque physique unique). En production (multi-disques), il aurait été fort probable que les mesures relevées puissent être différentes.

 Les disques physiques sont mutualisés en un ou plusieurs pools virtuels

img_01

 

Chaque EDS apparaît comme un volume dans l’explorateur Windows

img_02

 

Schéma logique des espaces de stockage Windows (source : Microsoft)

X

Fiche pratique 

Synopsis du test de performances

Etant en environnement virtuel et disposant des supports HHD et SSD, j’ai constitué mon JBOD (Just A Bunch Of Disks) à partir de 4 SSD de 10 Go et de 8 HDD de 30 Go dédiés à mon serveur de test. De ces 12 disques virtuels, j’ai créé un pool de stockage constitué de deux niveaux de Tiering : un premier Tier de 40 Go constitué par l’ensemble de mes SSD et un Tier HDD de 240 Go issu de l’agrégation de mes HDD. Ce pool a été subdivisé en deux EDS de même taille mais de résilience différente, le premier EDS étant en résilience simple (autrement dit sans résilience) et le second étant en miroir. Avec cette résilience en miroir, si j’enregistre trois fichiers A, B et C sur mon EDS composé de deux disques, une copie de ces trois fichiers sera présente sur chacun des deux disques. Ce type de résilience basé sur deux disques est appelé miroir double (Cf. le schéma ci-dessous). Ce système s’apparente à un RAID logiciel. Du premier espace de stockage, j’ai créé le volume (F:) et du second le volume (G:).

Pour mesurer les performances de mon « Tiering », j’ai utilisé le logiciel SQLIO de Microsoft, logiciel permettant de mesurer la capacité d’I/O d’une configuration donnée.

Architecture de mon infrastructure de stockage virtuelle

img_03

img_04

Une fois mon infrastructure de test montée (Cf. Annexes pour le processus de déploiement), j’ai procédé à la création de 3 fichiers sur chacun des deux volumes destinés à servir de support de test de performances en lecture et en écriture. Sur ces 3 fichiers de 4 Go chacun, le premier nommé « Fichier01 » a été attaché au Tier SSD, le second fichier nommé « Fichier02 » a été attaché au Tier HDD et le troisième nommé « Fichier03 » est situé en dehors du Tiering.

 Ainsi, je disposais de :

  • Deux « Fichier01 » me permettant de mesurer les performances témoins des SSD pour chacun des deux types de résiliences choisies.
  • Deux « Fichier02 » me permettant de mesurer les performances témoins des HDD pour chacun des deux types de résiliences choisies.
  • Deux « Fichier03 » me permettant de mesurer les performances du Tiering de mon stockage virtuel.

Benchmark et interprétation des résultats :

Pour mon test de performance, j’ai choisi de mesurer la vitesse en lecture aléatoire et en lecture séquentielle. La plupart des requêtes disque, comme celles qui impliquent la recherche dans une base de données, s’effectuent en lecture aléatoire (random) tandis que les requêtes en lecture séquentielle (c’est-à-dire cluster disque après cluster disque) se rencontrent dans le contexte de la sauvegarde ou du scan d’une table de base de données. Pour que mes mesures soient suffisamment pertinentes, j’ai configuré le logiciel de benchmark SQLIO de sorte que chaque fichier soit testé pendant une durée de trente secondes.

Une fois ces fichiers créés, j’ai pu procéder à mon benchmark en obtenant les résultats suivants :

hg

qs

De façon générale, on constate que les résultats obtenus correspondent bien aux caractéristiques de performance SSD, HDD et hybrides. Les mesures faites sur le Fichier01 attaché au Tier SDD renvoient bien les performances liées au SSD. Les mesures faites sur le Fichier02 attaché au Tier HDD renvoient tout à fait la performance attendue d’un HDD. Quant aux mesures faites sur le Fichier03, elles montrent bien l’entre-deux permis par la configuration hybride du Tiering.

Concernant la résilience, on note une très légère perte de performance du côté du volume monté en miroir. Cette différence d’IOPS n’est pour ainsi dire pas perceptible.

Conclusion :

Ce PoC (Proof of Concept) renvoie tout à fait les résultats attendus en termes de performances dues au Tiering dans le contexte de la virtualisation de stockage par les technologies Microsoft. Du fait de ma configuration particulière, je suis néanmoins conscient qu’il faut relativiser ces résultats. En effet, mon laboratoire personnel se basait sur un seul disque SSD physique et un seul HDD physique. En production, même si dans l’absolu la finalité serait la même, avec une configuration à disques multiples, il est très probable que les mesures renvoyées puissent être différentes.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *