Guide NAS Expert : Solutions pour la virtualisation
La virtualisation est une solution particulièrement intéressante pour rationnaliser l’utilisation des ressources physiques. Sans elle, de nombreuses sociétés n’utilisent qu’une fraction limitée des capacités de leurs serveurs. Elle peut se traduire sous des formes très différentes, dont nous allons aborder les principes fondamentaux.
Sur le principe, virtualiser est un procédé qui permet créer des ressources virtuelles d’une gamme extrêmement large d’outils informatiques, allant du système d’exploitation à n’importe quelle application, en passant par des serveurs, des adresses IP, des systèmes de stockage de données.
Quelques exemples de virtualisation :
- Avant de développer les techniques de virtualisation, un support physique, serveur ou ordinateur, était contraint de ne fonctionner que sous un seul type d’OS (Linux, Windows, MacOs, DSM ou QTS). La virtualisation d’OS permet de faire tourner différentes ressources logicielles sur un même support physique, comme par exemple différentes machines virtuelles, l’une fonctionnant sous Windows 10, l’autre sous MacOs, et une autre sous Linux par exemple. Ce type de virtualisation apporte une très grande flexibilité, et permet d’avoir une gestion agile des ressources informatiques : les machines virtuelles peuvent être basculées facilement depuis un serveur vers n’importe quel terminal client, comme des tablettes par exemple. Quant aux serveurs, il est possible d’en déployer des versions virtualisées, sous forme de VM également (avec Virtual DSM de Synology ou Virtual QTS de QNAP), permettant notamment une optimisation de la gestion du parc de serveurs, ou de basculer des charges de travail d’un serveur vers un autre.
- L’un des aspects les plus intéressants de la virtualisation d’applications est qu’elle permet de court-circuiter les problèmes de compatibilités logicielles : une application Windows virtualisée peut tourner dans un environnement OS Linux ou MacOs. Concrètement, la virtualisation d’une application permet de rendre celle-ci indépendante du système d’exploitation. Ceci ouvre un champ de possibilité presque sans fin pour faire du développement d’applications.
- La virtualisation permet d’avoir des répliques logicielles d’éléments physiques d’une infrastructure (le software simule le hardware et ses fonctionnalités), ce qui inclut les réseaux. La création d’une adresse IP virtuelle lors de la mise en place d’un cluster de haute disponibilité avec deux NAS Synology via SHA est un exemple de virtualisation d’un élément du réseau. Cet exemple montre aussi l’une des possibilités de virtualiser des unités de stockage de données.
Sur un plan pratique, la virtualisation fait intervenir un hyperviseur, qui sert d’intermédiaire entre les machines physiques et les ressources virtualisées. Il existe deux types d’hyperviseurs :
- Type 1, natif : l’hyperviseur est alors un logiciel qui s’exécute directement sur une ressource physique, c’est lui qui gère le matériel, en allouant ces ressources physiques aux environnements virtualisés, en fonction de leurs besoins.
Architecture type 1 : serveur - hyperviseur - VM
- Type 2, hôte : l’hyperviseur est alors un logiciel qui s’exécute à l’intérieur d’un système d’exploitation. Dans ce cas, c’est l’OS qui gère le matériel, et l’hyperviseur est l’intermédiaire entre l’OS et les VM. Comme il y a une couche logicielle supplémentaire, le type 2 est plus lent que le type 1.
Architecture : serveur - OS - hyperviseur - VM
Dans les deux architectures type 1 et type 2, les machines virtuelles sont exécutées sur une couche logicielle : l’hyperviseur. Les utilisateurs peuvent lancer des applications au sein des environnements virtuels, les VM étant des équivalents d’ordinateurs. Elles ont la possibilité d’exploiter le CPU, la RAM et les disques durs. Afin que la gestion des ressources physiques soit correcte, il est impératif de bien paramétrer l’hyperviseur. C’est lors du paramétrage de l’hyperviseur que l’on va attribuer des ressources CPU et espace disque du serveur à la VM. Cette étape est d’autant plus importante qu’elle doit prendre en compte à la fois les capacités du matériel physique disponible et celles des machines virtuelles recherchées.
Le paramétrage de l’hyperviseur orienté vers les capacités du matériel physique doit prendre en compte :
- Le CPU : il peut être géré soit par allocation stricte d’un nombre de cœurs du processeur, définie par l’utilisateur ; soit en programmant l’hyperviseur de façon à ce qu’il gère le CPU avec ses algorithmes et statistiques propres.
- L’espace de stockage : il s’agit d’allouer un espace fixe prédéfini par l’utilisateur qui a créé une VM.
Attention : sur un serveur la RAM ne peut pas être paramétrée, elle s’activera systématiquement de façon dynamique. Il est extrêmement important de respecter la capacité maximale du serveur, car aller au-delà de ses capacités fait un courir un risque de perdre les VM sans pouvoir les reconstruire et donc de perdre des données.
Le paramétrage de l’hyperviseur orienté vers les capacités des machines virtuelles recherchées se fait selon trois modes d’attribution :
- Attribution dynamique : la VM prend les espaces libres sur le serveur. Le principal avantage de ce mode d’attribution est qu’il permet d’exploiter au mieux les espaces non utilisés du serveur. Le risque est de paramétrer plus de VM qu’il n’y a d’espace disponible, engendrant des pertes de données.
- Attribution statique : un nombre de CPU et de capacité de stockage sont alloués à une VM donnée. Cela permet d’assurer qu’elle aura un espace de stockage défini qui ne pourra pas être exploité par d’autres VM, mais avec l’inconvénient de limiter les possibilités du serveur si la VM n’exploite pas toute la capacité qu’elle monopolise.
- Attribution hybride : elle se subdivise en deux possibilités : le CPU est alloué de manière statique et l’espace de stockage de manière dynamique ; le CPU est alloué de manière dynamique et l’espace de stockage de manière fixe.
Comme nous l’avons mentionné, la virtualisation est possible autant avec les NAS Synology que les QNAP. Les deux marques sont certifiées VMware® vSphere™, Microsoft® Hyper-V®, Citrix® XenServer™ et OpenStack Cinder.
QNAP a développé Virtualization Station, téléchargeable depuis l’App Center, qui permet de créer des machines virtuelles. Chez Synology, c’est l’application Virtual Machine Manager qui permet d’exécuter une large gamme de systèmes d’exploitation sur le NAS.
Chez les deux fabricants existe la possibilité de faire des snapshots des VM. Et il est possible de programmer un basculement automatique des VM au sein d’un cluster de haute disponibilité, en activant chez Synology la fonction SHA.
Tous les NAS
QNAP et
Synology que nous proposons supportent la virtualisation.