Le processus de création de machines virtuelles destinées à s’exécuter au-dessus d’un hôte est connu sous le nom de virtualisation. Le matériel de l’ordinateur hôte exécute le système d’exploitation de l’hôte. Le logiciel de virtualisation s'exécute au sein du système d'exploitation hôte et alloue des ressources à chaque machine invitée. Chaque machine invitée dispose de son propre système d'exploitation et de son propre ensemble de bibliothèques et de fichiers binaires nécessaires pour exécuter les applications voulues. Le SE invité se comporte comme un ordinateur physique équipé de la puissance de traitement, de la mémoire, de l’espace de stockage et des autres ressources informatiques qui lui sont affectées.
Il existe deux types de machines virtuelles : les machines virtuelles de processus et les machines virtuelles système. La principale différence entre ceux-ci est leur taille et le cas d’utilisation prévu.
Qu’est-ce qu’une machine virtuelle de processus ?
Une machine virtuelle de processus est une machine virtuelle spécialisée conçue pour permettre à un seul processus de s’exécuter en tant qu’application sur l’hôte. Un exemple courant de ceci est la machine virtuelle Java. Les applications écrites en Java sont indépendantes de la plateforme et peuvent s’exécuter sur n’importe quel matériel et système d’exploitation prenant en charge la VM Java. Au lieu de se préoccuper de la compatibilité avec le matériel et le système d'exploitation, les développeurs écrivent simplement pour la machine virtuelle Java (JVM), qui gère les spécificités de l'hôte et permet au code Java de s'exécuter sur n'importe quel système d'exploitation pris en charge comme s'il avait été conçu nativement pour ce dernier.
Qu’est-ce qu’une machine virtuelle système ?
Les machines virtuelles système constituent une forme de virtualisation à plus grande échelle. Une machine virtuelle système est une réplique complète d'une machine physique. Il est possible d'exécuter plusieurs machines virtuelles sur un ordinateur hôte puissant, chacune disposant de son propre système d'exploitation. Pour cela, l’hôte doit exécuter un hyperviseur.
Certains logiciels d'hyperviseur s'exécutent par-dessus un système d'exploitation hôte. Ces hyperviseurs sont connus sous le nom d’hyperviseurs de type 2 et offrent commodité et facilité d’utilisation au détriment d’une certaine latence et d’une consommation de ressources supplémentaire. D’autres solutions peuvent s’exécuter directement sur le matériel de l’hôte, ou en mode « bare metal ». Ce type d’hyperviseur est connu sous le nom d’hyperviseur de type 1. Étant donné que les hyperviseurs de type 1 s’exécutent directement sur le matériel de l’hôte, ils constituent une solution à faible latence et aux performances élevées, et ils sont répandus dans les environnements d’entreprise où une utilisation efficace des ressources est essentielle.
Les hyperviseurs permettent à chaque machine de fonctionner indépendamment, allouant dynamiquement la mémoire, le débit réseau, le stockage et les ressources du processeur, tout en isolant les VMs invitées les unes des autres pour prévenir les problèmes de sécurité.
Les hyperviseurs facilitent la mise en place de nouvelles machines virtuelles selon les besoins et permettent une utilisation efficace du matériel de l’hôte. Les images de machines virtuelles conçues pour un hyperviseur spécifique, telles que VMware ESXi ou Oracle VM VirtualBox, sont hautement portables, car elles peuvent être déployées sur tout matériel compatible avec le logiciel de l’hyperviseur et disposant de ressources système suffisantes. Cette portabilité combinée à la puissance d’un logiciel de réplication fait de la virtualisation une partie importante de tout plan de continuité d’activité. Veeam Backup et Replication permet d’administrer les machines virtuelles en local et hébergées dans le cloud pour protéger les données de votre entreprise et vous aider à rétablir rapidement l’activité en cas de panne ou de défaillance matérielle.
Les machines virtuelles peuvent faire l’objet de nombreux scénarios d’utilisation, y compris :
Les machines virtuelles présentent plusieurs avantages majeurs. Ils permettent d’exécuter plusieurs environnements de système d’exploitation sur un seul appareil. Cela en fait une solution économique et efficace pour déployer plusieurs serveurs, tester des versions d'applications sur diverses configurations de systèmes d'exploitation ou exécuter une application héritée. Par exemple, une entreprise qui dépend d'un système de comptes clients conçu pour une version très ancienne de Windows peut fournir une machine virtuelle contenant cette application, au lieu de devoir disposer de matériel ancien dédié à l'exécution du logiciel.
L'hyperviseur fournit un environnement isolé (sandbox) pour chaque machine virtuelle invitée. Cela rend les VMs utiles du point de vue de la sécurité, car les invités n’ont pas d’accès direct aux systèmes de fichiers ou à la mémoire des autres. Si un virus infecte une machine virtuelle, tout dommage devrait être contenu. Si une machine virtuelle se bloque à cause d’un programme qui se comporte mal, l’hôte et les autres VMs ne devraient pas être affectés.
Une autre caractéristique utile des machines virtuelles est la facilité avec laquelle elles peuvent être sauvegardées, déplacées et restaurées. Effectuer la sauvegarde d’une machine virtuelle consiste simplement à sauvegarder les fichiers de configuration et l’image du disque. Dans un scénario de reprise après incident, restaurer ces fichiers sur un nouvel hôte et redémarrer les machines virtuelles permet à une entreprise de reprendre ses activités plus facilement. Les machines virtuelles étant indépendantes du matériel, les sauvegardes peuvent être restaurées sur n’importe quel serveur disposant des ressources nécessaires pour exécuter cet invité.
La nature isolée et hautement portable des machines virtuelles a cependant un prix. Chaque VM invitée exécute une copie complète du système d’exploitation. Exécuter plusieurs machines virtuelles sur un serveur physique peut entraîner des problèmes de stabilité si le serveur n’est pas assez puissant. Selon l’usage prévu des VM, il peut y avoir un moyen plus efficace d’atteindre vos objectifs, comme les conteneurs.
Les conteneurs sont une technologie de virtualisation qui présente de nombreuses similitudes avec les machines virtuelles, mais dont l’objectif est légèrement différent. Alors que les machines virtuelles simulent une machine entière, y compris le système d’exploitation et la couche matérielle, les conteneurs virtualisent uniquement les couches logicielles qui s’exécutent au-dessus du système d’exploitation. L’IEEE décrit les conteneurs comme une alternative légère aux machines virtuelles.
Alors que les machines virtuelles s’exécutent au-dessus d’un hyperviseur qui peut s’exécuter directement sur le matériel ou à l’intérieur d’un système d’exploitation, les conteneurs s’exécutent dans un moteur de conteneurs. Chaque conteneur aura ses propres copies de tous les binaires et bibliothèques nécessaires pour exécuter le logiciel qu’il contient, mais le conteneur n’a pas besoin de ses propres copies du système d’exploitation. Les conteneurs partagent le matériel sur lequel ils s’exécutent, bien qu’ils aient un accès restreint au système de fichiers.
Parmi les logiciels de gestion de conteneurs les plus répandus, citons Docker, Google Kubernetes Engine, LXC et Portainer. Les conteneurs sont souvent utilisés sur les plateformes de cloud computing comme un moyen de déployer rapidement tout ce qui est nécessaire à l’exécution d’un script ou d’un microservice.
Voici quelques-uns des atouts des conteneurs :
Les inconvénients des conteneurs sont les suivants :
La question de la sécurité des conteneurs est complexe et les conteneurs correctement configurés offrent une sécurité robuste. Les applications dans des conteneurs sont isolées les unes des autres, ce qui les rend plus sûres que d’exécuter les applications individuelles directement sur la machine hôte. De plus, chaque conteneur possède une surface d’attaque plus petite qu’une VM complète. Certains conteneurs sont sans état et chaque fois qu’ils sont démarrés, ils font table rase, avec la même configuration. Les conteneurs sans état sont utiles pour certains types de microserveurs et l’absence de stockage persistant peut être considérée comme un élément de sécurité dans certaines situations.
Cependant, les conteneurs sans état ne sont pas adaptés à l’exécution de services plus complexes ou de services pour lesquels il est important de pouvoir préserver l’état des applications lors de la reprise après une panne. De plus, les conteneurs partagent un système d’exploitation, de sorte que si un conteneur est compromis, l’attaquant a la possibilité de compromettre d’autres conteneurs s’exécutant sur la même machine. Avec les machines virtuelles, si une VM est compromise, l’attaquant ne peut pas utiliser cet accès pour compromettre d’autres VMs sur le même hôte.
Quand choisir les conteneurs plutôt que les VM
En général, il est conseillé d'utiliser des machines virtuelles si vous devez exécuter plusieurs systèmes d'exploitation sur une seule machine, ou si vous avez besoin de pouvoir prendre des instantanés de la machine dans différents états à des fins de sauvegarde. Disposer de machines virtuelles prêtes à être déployées facilite l’évolutivité de votre système d’exploitation et peut s’avérer avantageux du point de vue de la reprise après incident.
Les conteneurs sont utiles pour déployer des microservices de petite taille ou dans le cadre d’un pipeline DevOps. Dans un article pour EPR Today, Daniel Riedel illustre la différence de philosophie par l'analogie des « pets vs cattle » (animaux de compagnie vs bétail). Les conteneurs sont du bétail, à traiter comme des marchandises et à démarrer à la demande, tandis que les services monolithiques sont plus susceptibles de fonctionner dans des machines virtuelles et d’être entretenus avec soin, un peu comme des animaux de compagnie.
Parmi les logiciels de machines virtuelles les plus courants, on peut citer :
Le processus de configuration d’une machine virtuelle varie selon le logiciel de virtualisation utilisé. Des outils tels que VMware et Oracle VM VirtualBox offrent des paramétrages guidés pour aider les utilisateurs à configurer le matériel et à installer le système d’exploitation de la VM au moyen d’une interface utilisateur graphique (GUI). En tant que solution basée sur le cloud, la gamme de VM dédiées et Spot d’Azure offre également des options de configuration relativement faciles.
La configuration d’un KVM Linux via la ligne de commande nécessite une connaissance plus approfondie du réseau et du matériel de la machine. Des outils tels que Kimchi et Proxmox permettent aux administrateurs système de gérer plus facilement les déploiements de plusieurs machines virtuelles sur un seul hôte.
Voici quelques points importants à prendre en compte lors de la configuration d’une machine virtuelle :
Si vous avez déjà une machine physique configurée comme vous le souhaitez, il est possible de créer une copie du disque dur de cette machine sous forme de disque de machine virtuelle Hyper-V, au moyen de la conversion de physique à virtuel (P2V). Une fois que vous avez fait une copie du disque, il peut être chargé dans une machine virtuelle configurée avec le même type de virtualisation matérielle et relancée selon vos besoins. Vous pouvez ensuite protéger les données de la machine virtuelle en effectuant des sauvegardes virtuelles avec Veeam.
Une fois la machine virtuelle configurée, elle peut être exécutée depuis l’OS hôte comme s’il s’agissait d’une autre application. La machine virtuelle peut ensuite être contrôlée via le clavier et la souris de l'hôte, ou par SSH/KVM à distance si le serveur fonctionne en mode sans tête.
Si vous souhaitez en savoir plus sur les solutions de sauvegarde de machines virtuelles de Veeam et découvrir comment nous pouvons vous aider à protéger vos données, pourquoi ne pas essayer Veeam Backup et Replication ? Téléchargez une version d’évaluation gratuite.
Les tendances de la protection des données en 2022
L'étude la plus complète du secteur sur la protection des données, réalisée auprès de plus de 3 000 décideurs IT
Demander une démo
Découvrez comment moderniser la protection de vos données lors d'une session en direct
Contactez-nous
Nous sommes à vos côtés pour vous aider à trouver la solution qui assurera la fluidité de vos opérations.