Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
virtualisation [Le 27/10/2014, 18:49]
41.66.43.55 [Paravirtualisation]
virtualisation [Le 27/01/2024, 08:42]
92.184.108.157
Ligne 1: Ligne 1:
-{{tag>​portail logiciels hyperviseur}} +idem
- +
----- +
- +
- +
-====== Virtualisation de systèmes d'​exploitation ​ ====== +
-La virtualisation consiste à faire fonctionner un ou plusieurs systèmes d'​exploitation / applications comme un simple logiciel, sur un ou plusieurs ordinateurs - serveurs /système d’exploitation,​ au lieu de ne pouvoir en installer qu'un seul par machine. Ces ordinateurs virtuels sont appelés Environment ou VE).  +
-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. +
- +
-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 ; +
-  * Tester des systèmes d'​exploitation en cours de développement sans compromettre un environnement quotidien stable ; +
-  * Tester des logiciels dans des environnements contrôlés,​ isolés et sécurisés ; +
-  * 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 particuliers et les PME/PMI seront généralement 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. Les grandes entreprises,​ elles, ont de plus en plus recours à 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 réseaux d'​entreprises. +
-===== Principe général et terminologie ===== +
- +
-Plusieurs types de virtualisation existent, mais tous fonctionnent selon un même principe : +
-  - 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 ; +
-  - 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//​ ; +
-  - D'​autres systèmes d'​exploitation (appelés //systèmes d'​exploitation invités//) peuvent alors être installés dans des machines virtuelles. Leur instance est totalement isolée du système hôte et des autres 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. +
- +
- +
- +
-===== Virtualisation complète : un choix privilégié chez le particulier ===== +
-{{  http://​upload.wikimedia.org/​wikipedia/​commons/​5/​5c/​Diagramme_ArchiEmulateur.png?​250|Diagramme de la virtualisation complète (Source : Wikipedia}} +
- +
-La virtualisation dite //​complète//​ permet de faire fonctionner n'​importe quel système d'​exploitation en tant qu'​invité dans une machine virtuelle. Pour l'​utilisateur final, ce type de virtualisation est la plus simple à mettre en place et est la plus pratique. +
-  * **Principe :** L'​hyperviseur((On appelle ce type d'​hyperviseurs un "​hyperviseur de type 2")) 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 de virtualiser 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 système d'​exploitation prévu pour fonctionner dans une architecture PowerPC. +
- +
-  +
- +
-**Quelques hyperviseurs de virtualisation complète :** +
-  * **[[:​VirtualBox]]** +
-  * [[:​vmware|Logiciels de virtualisation de VMWare]] : [[:VMWare Player]], [[:VMWare Workstation]] +
-  * [[:​parallels_desktop|Parallels Desktop 4 for Windows & Linux]] +
-  * [[:KVM]] +
- +
-<note tip>​{{ ​ http://​upload.wikimedia.org/​wikipedia/​commons/​a/​af/​VirtualBox2.png?​250|Un invité Fedora 12 fonctionnant au-dessus d'un système hôte Ubuntu 8.10 grâce à l'​hyperviseur VirtualBox}} **Virtualisation de systèmes d'​exploitation 64 bits** +
- +
-Pour être en mesure de virtualiser un système d'​exploitation 64 bits, le microprocesseur de votre ordinateur hôte doit être doté d'une technologie appelée //​virtualisation assistée matériellement//​ (ou //​accélération matérielle//​). Cette technologie est identifié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/UEFI 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. //​[[wp>​Virtualization_Technology#​AMD_virtualization_.28AMD-V.29|Liste des processeurs gérant la virtualisation matérielle]]//​ +
- +
-Si votre microprocesseur est listé dans la liste précédente et vous souhaitez savoir si la virtualisation assistée matériellement est activée dans les propriétés de votre BIOS/UEFI, ou si votre microprocesseur n'y est pas listé et vous souhaitez savoir si cette technologie y est présente, exécutez la commande suivante dans un [[terminal]] : <​code>​egrep '​(vmx|svm)'​ /​proc/​cpuinfo</​code>​ Cette commande vous retourne les fonctionnalités de votre microprocesseur et met en évidence les fonctionnalités de virtualisation assistée matériellement. Lorsque les termes **svm** ou **vmx** sont mis en évidence dans le retour de la commande, votre microprocesseur dispose de la fonctionnalité de virtualisation assistée matériellement;​ il peut donc virtualiser des systèmes d'​exploitation 64 bits. Dans le cas contraire, vous ne pouvez virtualiser que des systèmes d'​exploitation 32 bits.</​note>​ +
- +
-===== Aller plus loin... ===== +
-La virtualisation complète n'est qu'un seul type de virtualisation. Celui-ci est généralement plutôt adapté pour une utilisation par un particulier ou par une PME/PMI, afin de faire fonctionner un environnement de travail pour y faire fonctionner certains logiciels particuliers non gérés par le système d'​exploitation hôte. Mais de nombreux autres types de virtualisation existent, bien plus efficaces pour accomplir des tâches précises. Ci-dessous sont décrits très succinctement certains autres types de virtualisation,​ avec quelques exemples d'​hyperviseurs déployant ceux-ci. +
- +
- +
-==== Émulation ==== +
-L'​hyperviseur crée un ordinateur virtuel simulé complet. La différence entre l'​émulation et la virtualisation complète est la simulation d'un microprocesseur : en virtualisation complète, le processeur simulé par la machine virtuelle est nécessairement identique à celui de l'​ordinateur hôte. En émulation, celui-ci peut être de type différent. Ceci permet d'​émuler des architectures matérielles différentes (ordinateurs,​ consoles de jeux, bornes d'​arcade...) au-dessus d'un système hôte. Les performances en émulation sont toutefois médiocres. (**[[wpfr>​Émulation|Plus d'​informations]]**) +
-  * [[:QEmu]] (sans accélérateur KQemu) +
-  * Bochs +
- +
- +
-==== Paravirtualisation ==== +
-Dans ce type de virtualisation,​ l'​hyperviseur((On appelle ce type d'​hyperviseurs un "​hyperviseur de type 1")) et le système d'​exploitation invité coopèrent. En virtualisation complète, lorsque l'​invité a besoin de communiquer avec du matériel, celui-ci n'a accès qu'à du faux matériel présenté par l'​hyperviseur ; en paravirtualisation,​ l'​hyperviseur capture les appels système de l'​invité et les transmet au matériel. En somme, l'​invité exploite directement le matériel de l'​ordinateur hôte. La paravirtualisation offre des performances optimales, mais nécessite un système d'​exploitation modifié, conscient qu'il fonctionne dans un environnement virtualisé. (**[[wpfr>​Paravirtualisation|Plus d'​informations]]**) +
-  * [[:Xen]] //​(moniteurs de contrôle : [[:​virt-manager]],​ [[:​enomalism]])//​ +
-  * [[:kvm]] et dérivés tel que [[https://​fr.wikipedia.org/​wiki/​Proxmox|ProxMox]] +
-  * vmware esxi +
-  * xVM +
- +
- +
-==== Environnement Virtuel (Operating system-level virtualization) ==== +
-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 Microsoft(r) Windows(r) dans un environnement virtuel au-dessus d'un hôte de type Linux). Ce type de virtualisation permet d'​exécuter plusieurs fois le même environnement dans des zones mémoires séparées, mais les ressources partagées empêchent d'​obtenir une isolation sûre entre les environnements invités. (**[[wp>​Operating_system-level_virtualization|Plus d'​informations]]**) +
-  * [[Docker]] ([[http://​www.docker.io/​]]) tire parti de ces différentes API d'​isolation et lui ajoute des scripts de déploiement. +
-  * [[:​vserver|Linux-VServer]] +
-  * libcontainer +
-  * OpenVZ +
-  * [[http://​lxc.sourceforge.net/​|LXC]] +
-  * [[:​chroot]] +
- +
-===== Ressources ===== +
-  * [[http://​www.ubuntu.com/​products/​whatisubuntu/​serveredition/​jeos| Environnement Ubuntu dédié à la virtualisation]] +
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=365418| [HowTo] Démarrer un Windows installé physiquement dans VirtualBox]] +
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=365646| [HowTo] Démarrer un Linux installé physiquement dans VirtualBox]] +
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=376862| [HowTo] Configuration réseau de VirtualBox]] +
-  * [[http://​www.linuxfr.org/​~flipflip/​27860.html|La virtualisation en production]] +
-  * [[http://​virt-tools.org/​|virt tools]] (en) Portail dédié à la virtualisation avec des outils libres +
-  * [[http://​blog.octo.com/​presentation-des-hyperviseurs-xen-et-kvm/​|Principes de fonctionnement de Xen et de KVM]]  +
- +
-===== Pages en rapport ===== +
- +
-{{topic>​virtualisation}} +
- +
----- +
- +
-//​Contributeurs : ?// +
  • virtualisation.txt
  • Dernière modification: Le 27/01/2024, 10:16
  • par bruno