VM (Virtual Machine)
Définition
Une VM est un ordinateur émulé par logiciel qui exécute un système d’exploitation et des applications comme une machine physique. Elle fonctionne sur un hyperviseur qui abstraie et alloue les ressources CPU, mémoire, stockage et réseau de l’hôte parmi plusieurs VMs.
Les VMs offrent l’isolation (chaque VM possède sa propre instance OS), la consolidation (plusieurs VMs sur un seul hôte physique) et la portabilité (les VMs peuvent être déplacées entre hôtes).
Concepts clés
- Hyperviseur Type 1 (Bare Metal) : S’exécute directement sur le matériel (ESXi, KVM, Hyper-V)
- Hyperviseur Type 2 (Hosted) : S’exécute sur un OS (VirtualBox, VMware Workstation)
- Live Migration : Déplacement d’une VM en cours d’exécution entre hôtes sans interruption (vMotion, Live Migration)
- Snapshot : Copie à un instant T de l’état de la VM pour backup/rollback
- Guest OS : L’OS installé à l’intérieur de la VM
- Allocation de ressources : Cœurs CPU, RAM, stockage, interfaces réseau assignés par VM
VM vs Container
|| Fonctionnalité | VM | Container | |———|—–|———–| | OS | OS invité complet | Partage le kernel hôte | | Démarrage | Minutes | Millisecondes | | Surcharge | Élevée (Go) | Faible (Mo) | | Isolation | Forte (matériel) | Plus faible (namespace/cgroup) | | Cas d’utilisation | Apps legacy, OS différents | Microservices, CI/CD |