Qu'est ce que la virtualisation, une machine virtuelle, ses avantages, ...

Page 1 / 1

La virtualisation est de plus en plus utilisée par les entreprises, mais elle l'est aussi par les particuliers.
Mais concrètement, à quoi sert la virtualisation et en quoi consiste-t-elle ?

  1. Qu'est-ce que la virtualisation ?
  2. Qu'est-ce qu'une machine virtuelle ?
  3. Qu'est-ce qu'un serveur virtuel ou VPS ?
  4. De quoi est composée une machine virtuelle ?
    1. Coté machine virtuelle
    2. Coté machine hôte
  5. Quel est la différence entre hôte et invité ?
  6. Quelle est la configuration requise pour faire de la virtualisation ?
    1. Fonctionnalités requises pour la création de machines virtuelles
      1. La virtualisation du processeur Intel VT-x ou AMD-V
      2. La virtualisation des entrées et sorties Intel VT-d / IOMMU
      3. Le support du 64 bits
    2. Informations concernant la configuration matérielle requise
  7. Ma configuration système
    1. Explications concernant le choix de la carte mère
    2. Explications concernant le choix du processeur
    3. Explications concernant la quantité de RAM élevée
    4. Explications concernant le contrôleur RAID Adaptec
  8. Avantages et inconvénients de la virtualisation
    1. Avantages
    2. Inconvénients
  9. Les limites de la virtualisation

1. Qu'est-ce que la virtualisation ?

A la base, la virtualisation consiste à faire tourner une machine virtuelle sur une machine hôte (aussi bien un ordinateur fixe, qu'un PC portable ou un serveur professionnel).
Pour que cela soit sécurisé, la machine virtuelle est bien évidemment isolée du système hôte. Ce qui veut dire que vous ne pourrez pas, par défaut, accéder au PC hôte depuis la machine virtuelle.

Dans un second temps, vous verrez qu'ils existent aussi de la virtualisation d'applications. Mais, nous verrons ça plus tard.

2. Qu'est-ce qu'une machine virtuelle ?

C'est bien beau de nous parler de machines virtuelles, mais qu'est ce que c'est au fait ?

Et bien, pour l'utilisateur lambda, c'est l'équivalent d'une machine physique, sauf qu'elle est gérée de manière logicielle par un hyperviseur (un logiciel de virtualisation) tel que VirtualBox ou VMware Workstation.

Actuellement, les logiciels de virtualisation sont tellement sophistiqués, qu'il est possible de virtualiser de nombreuses choses (tel que les disques durs virtuels, les contrôleurs USB, les cartes réseaux, ....).

En fonction du logiciel de virtualisation utilisé, vous pourrez même ajouter de nombreux périphériques virtuels :

  • des ports séries
  • des ports parallèles
  • différents types de disques durs : IDE (PATA), SATA, SCSI ou NVME (SSD)
  • des SSD connectés en IDE ou en SATA
  • des lecteurs CD/DVD
  • des lecteurs disquettes

Vous pourrez même changer la version du contrôleur USB de celle-ci (moyennant peut-être l'installation d'un pilote supplémentaire si l'OS invité ne le supporte pas par défaut).

3. Qu'est-ce qu'un serveur virtuel ou VPS ?

Comme son nom l'indique, un VPS (ou Virtual Private Server) est un serveur virtuel privé.
Autrement dit, une machine virtuelle tournant sur un serveur physique d'un hébergeur (tel que : OVH, 1&1 ou LWS).

Bien évidemment, pour gérer ces serveurs virtuels, les hébergeurs n'utiliseront pas VirtualBox, mais plutôt des hyperviseurs (en l'occurrence, des serveurs de virtualisation, comme Citrix XenServer ou VMware ESXi).

4. De quoi est composée une machine virtuelle ?

4.1. Coté machine virtuelle

Lorsque vous créer une machine virtuelle, virtuellement parlant, elle possédera au moins :

  • 1 disque dur : pour y installer le système d'exploitation souhaité.
  • 1 lecteur CD/DVD : pour pouvoir démarrer sur le CD/DVD d'installation du système d'exploitation que vous souhaitez installer dans votre machine virtuelle.
  • 1 contrôleur USB : dont la version choisie par défaut dépend du système d'exploitation choisi au début de l'assistant de création de votre machine virtuelle.
  • 1 carte réseau : pour pouvoir accéder au réseau et à Internet depuis votre machine virtuelle
  • 1 carte graphique virtuelle : celle-ci est plus ou moins performante en fonction du logiciel de virtualisation utilisé
  • etc

Lors de la création d'une machine virtuelle, vous pourrez aussi lui allouer une partie de la mémoire vive de votre ordinateur, ainsi qu'un nombre de coeurs pour son processeur virtuel.

4.2. Coté machine hôte

Pour commencer, la machine hôte correspond à votre PC ou votre serveur physique.
C'est sur ce PC que vous installerez le logiciel de virtualisation (par exemple : VirtualBox ou VMware Workstation).

Ensuite, une fois la machine virtuelle créée, vous verrez qu'une série de fichiers auront été créés sur votre disque dur.
Notamment :

  • des fichiers de configurations : ceux-ci changent d'un logiciel à l'autre, mais définissent toujours de quoi est composée votre machine virtuelle.
  • un ou plusieurs fichiers pour le ou les disques durs virtuels liés à votre machine virtuelle
  • des fichiers de logs : c'est notamment le cas pour les machines virtuelles créées avec VirtualBox
  • etc

5. Quelle est la différence entre hôte et invité ?

Le PC hôte correspond à votre ordinateur ou votre serveur physique.
Le système d'exploitation hôte (ou OS hôte) correspond donc au système d'exploitation installé sur votre ordinateur physique.

Pour l'OS invité, il s'agit donc du système d'exploitation installé dans la machine virtuelle.

6. Quelle est la configuration requise pour faire de la virtualisation ?

6.1. Fonctionnalités requises pour la création de machines virtuelles

6.1.1. La virtualisation du processeur Intel VT-x ou AMD-V

Pour utiliser un logiciel de virtualisation de machines (comme VirtualBox ou d'autres), il est très important d'avoir un processeur supportant la virtualisation du processeur "Intel VT-x / AMD-V" et de l'activer ensuite dans le BIOS de votre carte mère.

6.1.2. La virtualisation des entrées et sorties Intel VT-d / IOMMU

Si vous en avez la possibilité, optez pour un processeur supportant "Intel VT-x / AMD-V" ET la virtualisation des E/S "Intel VT-d / IOMMU".
Note : n'oubliez pas de l'activer dans le BIOS de votre carte mère.

Cela protégera votre PC hôte contre les attaques par accès directs à la mémoire effectués par un logiciel malveillant exécuté dans votre machine virtuelle.
De plus, cette fonctionnalité est requise pour pouvoir lancer des machines virtuelles Windows sur le serveur de virtualisation Citrix XenServer. Sans cette fonctionnalité, cela ne fonctionnera pas.

Pour plus d'infos concernant l'IOMMU ou l'Intel VT-d, référez-vous à notre tutoriel : Citrix XenServer - PCI passthrough

6.1.3. Le support du 64 bits

Tout processeur récent supporte le 64 bits, mais cela est bien évidemment nécessaire pour faire tourner des systèmes d'exploitation invités en 64 bits.

6.2. Informations concernant la configuration matérielle requise

Etant donné qu'une machine virtuelle agit comme une machine physique, elle a aussi besoin de ressources système pour fonctionner.
Après, les ressources système pour faire fonctionner une machine virtuelle avec Linux en OS invité ne sont bien évidemment pas les mêmes que pour une machine virtuelle avec Windows en OS invité.

En fonction de vos besoins, vous pourrez avoir besoin :

  • de plus de mémoire vive (RAM)
  • de plus de place (disques durs)
  • de plus de puissances (processeurs multi-coeurs)
  • de plus de puissance au niveau du stockage (utilisation de plusieurs disques durs physiques et pourquoi pas d'un contrôleur RAID)
  • etc.

Bref, plus votre PC sera performant, plus vous pourrez créer de machines virtuelles et plus celles-ci pourront être performantes.

7. Ma configuration système

Pour ma part, je suis un fan de virtualisation, notamment depuis que j'ai découvert la virtualisation et l'administration système.
Pour pouvoir tester différentes solutions de virtualisation (tel que VMware ESXi, Citrix XenServer, Citrix XenApp, ...), j'ai dû acheter du matériel beaucoup plus performant pour pouvoir faire tourner le tout sur un seul ordinateur.

Actuellement, en avril 2018, je possède un PC assez performant avec :

  • une carte mère : Asus Z97-Pro Wi-Fi AC
  • un processeur : Intel Core i5-4460 3,20 Ghz
  • 32 Go de mémoire vive (de quoi faire même tourner des machines virtuelles dans des serveurs de virtualisations eux-mêmes virtualisés sur le PC hôte)
  • plusieurs disques durs Western Digital (WD), dont 3 identiques qui sont connecté sur un vrai contrôleur RAID : Adaptec RAID 6405

7.1. Explications concernant le choix de la carte mère

Tout d'abord, le choix de la marque Asus est simplement lié au fait qu'il s'agit d'une très bonne marque de carte mère.
Certes le prix est plus cher que d'autres marques (Gigabyte, par exemple, car low-cost), mais cela permet d'obtenir une meilleure stabilité et de nombreuses fonctionnalités au niveau du BIOS de celle-ci.

Notamment, l'activation de l'Intel VT-x et de l'Intel VT-d qui sont supportés par notre processeur.

Une des autres raisons était la présence du contrôleur RAID intégré d'Intel, mais qui n'est malheureusement pas aussi performant qu'un vrai contrôleur RAID. D'où l'achat ultérieur du contrôleur RAID : Adaptec RAID 6405.

7.2. Explications concernant le choix du processeur

Comme indiqué précédemment, il y a 2 fonctionnalités importantes à avoir quand vous souhaitez vous lancer dans la virtualisation :

  • la virtualisation du processeur : Intel VT-x ou AMD-V
  • la virtualisation des entrées/sorties (E/S) : Intel VT-d / IOMMU

7.3. Explications concernant la quantité de RAM élevée

Tout d'abord, étant donné que chaque machine va utiliser au moins quelques Go de RAM (excepté pour Linux), ces 32 Go me permettent de faire tourner plusieurs machines virtuelles en même temps sans saturer la mémoire vive du PC physique.

L'autre raison est que pour virtualiser les serveurs de virtualisation (comme VMware ESXi ou Citrix XenServer), je suis bien obligé d'allouer une dizaine de Go de RAM pour pouvoir faire tourner des machines virtuelles dans ces serveurs de virtualisations virtualisés eux-mêmes via VMware Workstation ou VirtualBox.

7.4. Explications concernant le contrôleur RAID Adaptec

Dans le milieu professionnel, les contrôleurs RAID sont utilisés pour 2 raisons :

  • la sécurité des données : en effet, la perte d'un ou de 2 disques durs (en fonction du niveau de RAID utilisé) ne pose aucun problème pour la récupération des données stockées sur ces disques durs.
  • les performances du serveur de fichiers : par principe, le stockage et la lecture des données stockées sur un volume RAID (au RAID 1, RAID 5, ...) sont beaucoup plus rapides. Ce qui est un avantage et nécessaire si vous commencez à virtualiser des serveurs de virtualisation.

Pour plus d'informations concernant les contrôleurs RAID, référez-vous à nos articles :

Notez que le RAID d'Adaptec est un vrai RAID, contrairement au RAID Intel qui est un RAID pseudo-matériel et qui est donc moins performant que celui d'Adaptec.

8. Avantages et inconvénients de la virtualisation

La virtualisation à des avantages, mais aussi des inconvénients.

8.1. Avantages

La virtualisation a de nombreux avantages pour les particuliers :

  • pouvoir utiliser d'anciens programmes qui ne sont plus compatibles avec les nouvelles versions de Windows, par exemple
  • pouvoir rejouer à d'anciens jeux (moyennant un matériel virtuel compatible avec le jeu et dans certains cas avec le système d'exploitation utilisé)
  • pouvoir tester la nouvelle version d'un système d'exploitation, ainsi que vos programmes sur cette nouvelle version avant de l'utiliser sur votre PC physique
  • etc.

Mais aussi pour les professionnels :

  • virtualisation de serveurs pour fournir des VPS aux utilisateurs, des services Cloud, ...
  • virtualisation d'applications pour fournir facilement des applications aux utilisateurs d'une entreprise en exécutant les applications sur un seul serveur
  • possibilité de gérer les ressources du serveur en fonction des besoins. Ce qui offre une meilleure flexibilité.
  • etc.

8.2. Inconvénients

Comme pour toute technologie, il y a aussi des inconvénients et notamment :

  • certains programmes ne peuvent être lancés dans une machine virtuelle
  • certains jeux ne fonctionnent pas en virtuel ou du moins, pas avec toutes les solutions de virtualisation (par exemple : VMware Workstation supporte beaucoup mieux les applications gourmandes en graphismes que VirtualBox)
  • vous avez besoin de licences pour chaque système d'exploitation payant (Windows, Windows Server, ...) pour machine virtuelle

9. Les limites de la virtualisation

Bien que la virtualisation permette vraiment beaucoup de choses, moyennant le matériel adéquat, elle a aussi ses limites.
En effet, il y a certains programmes ou certaines solutions logicielles qui ne fonctionnent pas en virtuel.

Par exemple, vous ne pourrez pas, en théorie :

  • installer et faire fonctionner correctement Hyper-V dans une machine virtuelle
  • tester la solution Windows MultiPoint Server 2012 dans une machine virtuelle, car vous ne pouvez pas passer ni créer de hub USB "physique" dans une machine virtuelle.
    De plus, la fonctionnalité "bureaux virtuels" (ou virtual desktops en anglais) disponible dans Windows MultiPoint Server 2012 réside sur le serveur de virtualisation Hyper-V. Qui comme indiqué précédemment ne peut pas être installé dans une machine virtuelle.