Ceci est une ancienne révision du document !



Virtualisation de systèmes d'exploitation

La virtualisation de systèmes d'exploitation est une technique consistant à faire fonctionner en même temps, sur un seul ordinateur, plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs distincts.

Plusieurs types de virtualisation existent, mais toutes fonctionnent selon un même principe :

  1. Un système d'exploitation principal (appelé système d'exploitation hôte) est installé dans l'ordinateur et sert de système d'accueil à d'autres systèmes d'exploitation ;
  2. Dans le système d'exploitation hôte, un logiciel de virtualisation (appelé hyperviseur) est installé. Celui-ci crée des environnements clos, isolés, avec des ressources bien précises : ces environnements clos sont appelées des machines virtuelles ;
  3. D'autres systèmes d'exploitation (appelés systèmes d'exploitation invités) peuvent alors être installées dans des machines virtuelles. Leur instance est totalement isolée des autres système hôte et systèmes invités.

En bref, la virtualisation est une méthode faisant fonctionner un ou des systèmes d'exploitation invités dans des machines virtuelles, au-dessus d'un système d'exploitation hôte.

Pourquoi la virtualisation ?

Un système invité Windows XP est virtualisé au-dessus d'Ubuntu 10.04 LTS à l'aide de l'hyperviseur VMware Player

La virtualisation de systèmes d'exploitation a plusieurs intérêts :

  • Utiliser un autre système d'exploitation sans redémarrer son ordinateur, afin d'utiliser des programmes ne fonctionnant pas nativement dans Ubuntu ;
  • Exploiter des périphériques ne fonctionnant pas dans Ubuntu mais fonctionnant dans d'autres systèmes d'exploitation, car la gestion des périphériques de l'ordinateur est correctement implantée ;
  • Tester des systèmes d'exploitation sans devoir repartitionner ses disques durs et sans compromettre un environnement quotidien stable ;
  • Tester des logiciels dans des environnements contrôlés, isolés du système hôte ;
  • Transporter ses systèmes d'exploitation d'un ordinateur à l'autre, une machine virtuelle fonctionnant sur n'importe quel ordinateur disposant d'un hyperviseur compatible.

Les entreprises ont compris les nombreux avantages que leur apporte la virtualisation. Afin de gagner de la place dans les salles de serveurs, faciliter les installations et les redémarrages après incidents, et développer et sécuriser les systèmes d'exploitation, les entreprises y ont de plus en plus recours.

Les particuliers seront toutefois plus intéressés par la perspective de faire fonctionner deux systèmes d'exploitation différents en même temps, afin d'exécuter des logiciels qui sont compatibles avec l'un mais pas avec l'autre.

Virtualisation complète : un choix privilégié chez le particulier

Diagramme de la virtualisation complète (Source : Wikipedia

C'est ce type de virtualisation qui est particulièrement recherché par les particuliers. Ce type de virtualisation permet de faire fonctionner n'importe quel système d'exploitation sans adaptation aucune, puisque l'hyperviseur simule un ordinateur entier.

Fonctionnement : L'hyperviseur1) crée un environnement virtuel complet simulant littéralement un nouvel ordinateur complet, avec du "faux matériel". À quelques rares exceptions, le système d'exploitation invité (installé dans la machine virtuelle) ne communique qu'avec ce faux matériel simulé, rendant étanche l'environnement virtualisé.

Limitations : Ce type de virtualisation ne permet d'émuler que des systèmes d'exploitation prévus pour la même architecture matérielle que le processeur physique de l'ordinateur hôte. Par exemple, un ordinateur équipé d'un processeur Intel x86 sera incapable de virtualiser un OS prévu pour fonctionner dans une architecture PowerPC.

Virtualisation matérielle : La virtualisation matérielle est un préalable à la virtualisation de systèmes d'exploitation 64 bit. Elle est un ensemble d'instructions prévus dans le processeur d'un ordinateur pouvant être exploités par un hyperviseur dans le but d'améliorer les performances des machines virtuelles et des systèmes d'exploitation invités. Cette technologie est appelée AMD-V chez AMD et Intel VT-x chez Intel. Généralement incluse dans les processeurs récents, la virtualisation matérielle doit toutefois bien souvent être activée dans le BIOS de l'ordinateur et paramétrée convenablement dans les paramètres de la machine virtuelle.
Tous les processeurs ne sont pas capables de virtualisation matérielle. Liste des processeurs gérant la virtualisation matérielle

Un invité Fedora 12 fonctionnant au-dessus d'un système hôte Ubuntu 8.10 grâce à l'hyperviseur VirtualBox

Hyperviseurs de type 2 : Voici une liste de logiciels permettant de mettre en place une solution de virtualisation complète :

Autres types de virtualisation

Emulation

Fonctionnement : le logiciel de virtualisation crée un ordinateur virtuel simulé complet (Bios, processeur, mémoire, disque dur, cartes réseau, vidéo, …), intercepte une grande majorité des instructions du système invité pour les remplacer par leur équivalent sur le système hôte.

Caractéristiques particulières :

  • permet d'exécuter des applications prévues pour d'autres architectures (ordinateurs, consoles, bornes d'arcade …),
  • performances médiocres,
  • le système invité n'a pas conscience de la virtualisation.

Émulateurs :

  • QEmu sans accélérateur KQemu
  • Boshs

ParaVirtualization

Fonctionnement : le système invité doit être écrit de manière particulière afin de fonctionner au sein de l'hyperviseur (pilotes et API spécifiques), et y fonctionne directement sans interception des instructions.

Caractéristiques particulières :

  • nécessite un système invité compatible avec l'hyperviseur,
  • excellentes performances (proche de l'exécution native),
  • le système invité a conscience de la virtualisation.

Hyperviseurs de type 1 :

  • Xen : un peu difficile a mettre en place, mais donne des resultats proches de 100% du système hote. Recommandé pour la virtualisation de services réseau (ftp, web, dns, dhcp …)
  • xVM : solution de virtualisation de SUN pour serveurs de souche XEN.

Environnement Virtuel ou Operating system-level virtualization

Fonctionnement : chaque environnement exécuté possède son propre espace mémoire, afin d'être isolé des autres, les autres ressources systèmes sont partagées (pilotes, noyau …). Les instructions ne sont pas interceptées, et l'environnement exécuté doit impérativement être compatible avec celui du système hôte (on ne peut pas par exemple, exécuter Windows sur un Environnement Virtuel de type Linux).

Caractéristiques particulières :

  • permet d'exécuter plusieurs fois le même environnement dans des zones mémoires séparées,
  • les ressources partagées empêchent d'obtenir une isolation sûre entre les environnements invités.

Exemple : Linux-VServer, OpenVZ

Autres hyperviseurs

Environnement Virtuel ou Operating system-level virtualization :

  • LXC : Linux containers userspace tools

Autres :

  • chroot : la premiere forme de virtualisation sous Linux, aucune gestion matérielle,
  • User mode linux: : Le noyau Linux utilisé comme un exécutable
Le 03/05/2016, 23:21Jaffré
Le 25/08/2011, 10:45Dunbo
Le 29/08/2021, 16:01Franc SERRES
Le 05/05/2022, 15:02Bcag2
Le 16/12/2009, 17:51Id2ndR
Le 06/03/2008, 14:19flo|va-nu-pied
Le 19/03/2010, 23:06 
Le 16/05/2007, 12:06bobuse
Le 15/02/2011, 15:58Id2ndR
Le 18/12/2006, 10:52Blackpegaz
Le 22/07/2018, 10:48beaver
Le 18/10/2017, 03:51zarmu
Le 08/11/2012, 20:23remjg
Le 08/02/2022, 16:08 
Le 15/05/2012, 01:37xavier4811
Le 04/07/2010, 22:31Alexandre Patenaude
Le 04/11/2019, 16:39daoka
Le 14/12/2024, 12:59 
Le 18/09/2020, 09:47 
Le 08/01/2016, 11:32L'Africain
Le 11/09/2022, 12:01 
Le 16/12/2009, 17:18frombenny
Le 21/05/2010, 14:55 
Le 03/04/2010, 02:09 
Le 26/11/2006, 10:00Olivier Staquet
Le 08/12/2006, 09:31

gestion graphique pour environnement de virtualisation

Divers

Liens

  • petit topo sur OpenVZ et Vserver sur le site des Linuxiens : http://www.linuxfr.org/~Aefron/27379.html ; OpenVZ et Vserver sont des "container" au même titre que chroot.
  • des linuxiens partagent leur expérience en matière de virtualisation. Xen remporte un franc succès. On y évoque aussi OpenVZ et VMware.

Pages en rapport

Le 03/05/2016, 23:21Jaffré
Le 25/08/2011, 10:45Dunbo
Le 29/08/2021, 16:01Franc SERRES
Le 05/05/2022, 15:02Bcag2
Le 16/12/2009, 17:51Id2ndR
Le 06/03/2008, 14:19flo|va-nu-pied
Le 19/03/2010, 23:06 
Le 16/05/2007, 12:06bobuse
Le 15/02/2011, 15:58Id2ndR
Le 18/12/2006, 10:52Blackpegaz
Le 22/07/2018, 10:48beaver
Le 18/10/2017, 03:51zarmu
Le 08/11/2012, 20:23remjg
Le 08/02/2022, 16:08 
Le 15/05/2012, 01:37xavier4811
Le 04/07/2010, 22:31Alexandre Patenaude
Le 04/11/2019, 16:39daoka
Le 14/12/2024, 12:59 
Le 18/09/2020, 09:47 
Le 08/01/2016, 11:32L'Africain
Le 11/09/2022, 12:01 
Le 16/12/2009, 17:18frombenny
Le 21/05/2010, 14:55 
Le 03/04/2010, 02:09 
Le 26/11/2006, 10:00Olivier Staquet
Le 08/12/2006, 09:31

Contributeurs : ?

1)
On appelle ce type d'hyperviseurs un "hyperviseur de type 2"