SAN, NAS, ou hyperconvergence : quel stockage pour les machines virtuelles
La liste exhaustive des avantages et des inconvénients que présentent les différents types de stockage selon les applications exécutées en machines virtuelles.
Malgré les bénéfices qu’elles apportent en termes de coûts et d’élasticité, les machines virtuelles posent un certain nombre de défis en matière de performances. Leur point faible est le stockage. A l’évidence, des solutions dédiées ont mis un moment à se développer, même si, dans le même temps, nous avons vu émerger des équipements très performants se populariser, notamment les solutions à base d’unités Flash.
Des solutions récentes comme les infrastructures hyperconvergées simplifient les déploiements virtualisés et se présentent comme une alternative pour le stockage des VMs. Néanmoins, elles ne sont pas exemptes de défauts : il est difficile de n’étendre que leur capacité de stockage et elles demandent que les personnels soient formés à leurs environnements, ce qui sollicite des compétences multiples.
De fait, la question reste en suspens : dans quels cas vaut-il mieux coupler des machines virtuelles à un SAN, à un NAS ou à une infrastructure hyperconvergée ?
Les machines virtuelles souffrent d’IOPS aléatoires
Les machines virtuelles ont besoin d’espaces de stockage pour leur système d’exploitation, leurs applications et leurs données. Ajoutons que le système de virtualisation lui-même doit stocker l’hyperviseur et les données d’administration.
Les hyperviseurs qui exécutent un grand nombre de machines virtuelles génèrent de grandes quantités d’IOPS. Et comme les machines virtuelles partagent les ressources physiques, les accès au stockage ne se font plus de manière séquentielle mais aléatoirement, ce qui conduit à des chutes de performances. De fait, il devient plus compliqué qu’ailleurs d’optimiser la matériel et les ressources systèmes en environnement virtualisé.
Pour compenser ce phénomène d’accès aléatoires, il faut attribuer aux machines virtuelles du stockage à très faible latence. C’est à cette fin que les entreprises ont de plus en plus déployé des équipements Flash.
Par ailleurs, les environnements virtualisés ont les mêmes besoins en termes de disponibilités, de résilience et de protection que des serveurs virtuels. Cela signifie qu’il faut aussi améliorer la qualité de service (QoS) afin de gérer les conflits des demandes en ressources entre les applications critiques et celles qui le sont moins.
Trop de latence du côté des NAS et des SAN
Les systèmes SAN reposent sur des réseaux Fibre Channel ou iSCSI et ont été conçus pour des accès prédictibles. Leur principe de fonctionnement est de tromper chaque système d’exploitation ou application en leur faisant croire qu’ils accèdent à du stockage qui leur est directement rattaché. Un SAN leur présente le stockage sous forme de blocs. Mais, en virtualisation, il ne communique plus directement avec l’OS ou l’application : les requêtes doivent naviguer au travers de l’hyperviseur et des machines virtuelles. Et par conséquent les accès ne sont plus prédictibles. La pire situation est celle des bases de données SQL, qui utilisent de manière intensive les accès.
Les NAS sont généralement moins optimisés pour la performance que les SAN ; la majorité des équipements de stockage en Flash sont d’ailleurs des SAN. Ce qui fait que la plupart des environnements virtualisés privilégient l’utilisation d’un SAN.
Néanmoins, les baies NAS disposent de leur propre système d’exploitation et cela peut alléger la charge du côté des machines virtuelles. Dans certains cas d’usage - l’archivage, l’accès à de grands fichiers comme les vidéos ou les images-disque des bureaux virtuels - les performances sont en effet meilleures.
Les systèmes NAS ont par ailleurs l’avantage de supporter plusieurs protocoles, ce qui présente le bénéfice de la simplicité. Ils sont ainsi très intéressants pour les petits déploiements, par exemple dans les succursales, tout comme pour les architectures élastiques dans lesquelles on souhaite ajouter des disques à l’envi.
Cela ne signifie néanmoins pas que les NAS sont systématiquement plus adaptés que les SAN. Du fait de leur faible support des accès intensifs, ils sont peu utiles dans le cas des applications critiques.
Un stockage trop peu différencié en hyperconvergence
En hyperconvergence, le même système sert au calcul, au stockage et à l’exécution de l’hyperviseur. Il n’est plus question de simuler des disques directement attachés, puisqu’ils le sont véritablement. Par ailleurs, comme tout est intégré, on élimine également la latence des réseaux qui relient les machines virtuelles aux SAN ou aux NAS.
Néanmoins, le défaut des infrastructures hyperconvergées est que l’extensibilité de leur espace de stockage est limitée. En fait, il est possible d’étendre le stockage, à la condition d’étendre en même temps les capacités de calcul, ce dont les entreprises n’ont pas forcément besoin.
De plus, les infrastructures hyperconvergées gèrent leur stockage de manière globale : l’ensemble de la capacité sera soumise à des fonctions comme la déduplication, la compression ou encore le chiffrement. Or, si ces fonctions sont utiles pour un certain de machines virtuelles, par exemple les bureaux virtuels en VDI, elles sont absolument contreproductives pour d’autres, typiquement les bases de données, car elles feront chuter les performances de leurs accès.
Enfin, parlons du problème dit du « vendor lock-in » : l’utilisateur d’une infrastructure hyperconvergée ne pourra l’étendre qu’avec les technologies choisies par le constructeur. Or, cela pourra poser un problème quand l’entreprise voudra adopter une technologie dernier cri, par exemple les unités NVMe.
Un stockage pour chaque type de machines virtuelles
En conclusion, choisir le meilleur stockage pour les environnements virtualisés signifie trouver le bon équilibre entre performance, coût et facilité d’administration.
Un SAN, optimisé avec des unités Flash et un réseau efficace répondra aux besoins de performance des applications critiques. Comme il s’agit du type de stockage le plus répandu en entreprises, il présentera aussi l’avantage de mieux rentabiliser les investissements, même si ses coûts d’administration sont les plus élevés.
Un NAS, sera préférable pour les déploiements de machines virtuelles qui jonglent avec plusieurs protocoles et où le personnel IT est allégé.
Une infrastructure hyperconvergée, enfin, est plus adaptée aux déploiements de type cloud, où l’on exécute de nombreuses machines virtuelles similaires.