V01 - Les concepts de la virtualisation

Objectif

Comprendre ce qu’est une machine virtuelle, un hyperviseur (type 1 / type 2), un conteneur, et les modes réseau qui reviennent dans tous les TP.


1. Machine virtuelle et hyperviseur

Une machine virtuelle (VM) est un ordinateur simulé (processeur, RAM, disque, carte réseau virtuels) qui fait tourner son propre système d’exploitation. Le logiciel qui crée et gère les VM est l’hyperviseur.

flowchart TB
  subgraph T2["Type 2 (hébergé) — ton PC"]
    direction TB
    A1["VM Debian"] & A2["VM Windows 11"] & A3["VM pfSense"] --> H2["Hyperviseur : VirtualBox / VMware Workstation"]
    H2 --> OS["OS hôte : Pop!_OS / Arch"] --> M2["Matériel"]
  end
  subgraph T1["Type 1 (bare-metal) — serveur"]
    direction TB
    B1["VM Web"] & B2["VM BDD"] & B3["VM Routeur"] --> H1["Hyperviseur : Proxmox VE / ESXi / Hyper-V Server"]
    H1 --> M1["Matériel du serveur"]
  end
Type 1 (bare-metal)Type 2 (hébergé)
S’installeDirectement sur le matérielComme une application dans un OS
ExemplesProxmox VE, VMware ESXi, Hyper-V, XenVirtualBox, VMware Workstation, GNOME Boxes
PerformancesMeilleuresUn peu moins bonnes
UsageProduction, datacenter, salle serveur de l’écoleLabo sur ton PC

KVM (Linux) est un cas à part : un module du noyau Linux qui transforme Linux lui-même en hyperviseur de type 1. virt-manager et Proxmox reposent sur KVM.

Prérequis matériel : les instructions de virtualisation Intel VT-x ou AMD-V activées dans le BIOS/UEFI.

grep -Ec '(vmx|svm)' /proc/cpuinfo     # > 0 = le processeur les supporte
lsmod | grep kvm                         # kvm_intel ou kvm_amd chargé ?

2. Pourquoi virtualiser ?

AvantageExemple
Consolidation10 serveurs sur 1 machine physique
Instantanés (snapshots)Revenir en arrière en 5 s après une erreur de TP
IsolationTester un malware, un pare-feu, sans risque pour ton PC
Clonage / modèlesCréer 5 VM identiques en 1 minute
PortabilitéExporter une VM (.ova) vers un autre PC
Haute disponibilitéMigrer une VM d’un hôte à l’autre (Proxmox cluster)

Un instantané n'est pas une sauvegarde : il dépend du disque d'origine. Si le disque de la VM est perdu, les instantanés aussi.

3. VM ou conteneur ?

flowchart TB
  subgraph VM["Machines virtuelles"]
    direction TB
    v1["App A<br/>Bibliothèques<br/>OS invité complet"] & v2["App B<br/>Bibliothèques<br/>OS invité complet"] --> hv["Hyperviseur"]
  end
  subgraph CT["Conteneurs"]
    direction TB
    c1["App A<br/>Bibliothèques"] & c2["App B<br/>Bibliothèques"] --> ce["Moteur : Docker / Podman / LXC"]
    ce --> k["Noyau Linux de l'hôte (partagé)"]
  end
VMConteneur
ContientUn OS completUne appli + ses dépendances
DémarrageDizaines de secondes~1 seconde
TaillePlusieurs GoQuelques Mo à centaines de Mo
IsolationForte (noyau séparé)Plus faible (noyau partagé)
OS différent de l’hôteOui (Windows sur Linux)Non (Linux sur Linux)
ExemplesVirtualBox, KVMDocker (V05 - Docker), LXC (Proxmox)

4. Les modes réseau des VM (à connaître par cœur)

ModeLa VM accède à Internet ?Joignable depuis l’hôte ?Les VM se voient ?Usage typique
NAT✅❌ (sauf redirection de port)❌ (VirtualBox)Installer des paquets
Réseau NAT (VirtualBox) / default (libvirt)✅libvirt : ✅✅Petit labo connecté
Accès par pont (bridge)✅ (IP du réseau réel)✅✅La VM est « un vrai PC » sur le réseau de la box
Réseau interne / réseau isolé❌❌✅ (même nom de réseau)Labo fermé : AD, DHCP, pfSense LAN
Privé hôte (host-only)❌✅✅Administrer les VM en SSH depuis ton PC
flowchart LR
  INTERNET((Internet)) --- BOX["Box 192.168.1.1"]
  BOX --- HOTE["PC hôte 192.168.1.20"]
  HOTE -- "NAT : 10.0.2.15" --> VM1["VM A"]
  HOTE -- "Pont : 192.168.1.50" --> VM2["VM B"]
  HOTE -- "Host-only : 192.168.56.x" --> VM1
  VM1 -- "Réseau interne 'labo'" --- VM3["VM C"]

En résidence universitaire / à l'école, le mode pont est souvent bloqué (une seule adresse MAC autorisée par prise / Wi-Fi). Utilise NAT + host-only ou un réseau libvirt.

Voir aussi