--- marp: true theme: default paginate: true backgroundColor: #fff footer: 'Virtualisation - 2025' style: | section { font-family: 'Arial', sans-serif; } h1 { color: #2496ed; } h2 { color: #384c54; } --- # 2. Virtualisation ## Définition et concepts --- # Virtualisation * Serveur hôte * Serveur privé virtuel * Environnement isolé * Système d'exploitation --- # Avantages * Utilisation optimale des ressources * Installation, déploiement et migration facile * Sécurisation et/ou Isolation d'un réseau * Socle de base du Cloud Computing * ... --- # Inconvénients * Parfois inadapté (Ex : I/O intense) * Un recours à des machines puissantes * Une complexité accrue de l'analyse d'erreurs * ... --- # Terminologie * Le **système hôte (host)** est l'OS principal de l'ordianteur. * Le **système invité (guest)** est l'OS installé à l'intérieur d'une machine virtuelle. * Une **machine virtuelle (VM)** est un ordinateur virtuel qui utilise un sysètme invité. * Un ordinateur est aussi appelé serveur privé virtuel **(Virtuel Private Server ou VPS)** ou environnement virtuel (Virtual Environment ou VE). --- # Domaines de virtualisation * Virtualisation de serveurs * Virtualisation des applications * Virtualisation du stockage * Virtualisation du réseau --- # Virtualisation de serveurs --- # Hyperviseurs de Type 1 * **"Bare-metal"** – directement sur le matériel * Un micro-noyau qui gère l'accès au matériel et donne l'illusion d'exclusivité aux invités * Un des OS (OS privilégié) dispose d'interfaces de gestion vers l'hyperviseur ![bg right:48% 90%](./assets/type1Hypervisor.png) --- # Hyperviseurs de Type 1 * Exemples * VmWare vSphere * Microsoft Hyper-V * Xen * Oracle VM Server * Citrix Xen Server * KVM * Le noyau linux est l'hyperviseur ![bg right:48% 100%](./assets/type1Hypervisor2.png) --- # Hyperviseurs de Type 2 * Un système dans un système * Architecture hébergée * L'hyperviseur est une couche d'abstraction * Il est possible d'émuler plusieurs composants * Adaptateur vidéo, processeur, adaptateur réseau ![bg right:48% 90%](./assets/type2Hypervisor.png) --- # Hyperviseurs de Type 2 * Exemples * VmWare * Workstation * Fusion * Player * Oracle VirtualBox * Microsoft VirtualPC * QEMU ![bg right:48% 100%](./assets/type2Hypervisor2.png) --- # Isolateur * Logiciel sur OS hôte * Isolation des exécutions * Exemple : * chroot * LXC * Docker ![bg right:48% 100%](./assets/isolateur.png) --- # Noyau en espace utilisateur * Exécution du noyau comme processus utilisateur * Permet le développement et test de noyaux * Exemples : * User Mode Linux (UML) * Colinux * L4Linux ![bg right:48% 100%](./assets/noyaux.png) --- # Noyau en espace utilisateur * Avantages : * Débogage facilité du noyau * Tests sécurisés * Protection du système hôte * Cas d'usage : * Développement de noyaux * Tests de modifications * Expérimentation sécurisée ![bg right:48% 100%](./assets/noyaux.png) --- # Les usages * Hyperviseur de type 1 => Professionnel * Hyperviseur de type 2 => Professionnel / Particulier * Isolateur => Professionnel / Particulier * Noyau en espace utilisateur => Développement de noyaux