Virtualisation
| 🏠 Accueil | 📚 Index | 🐧 Linux | 🌐 Réseau | 🔒 Cybersécurité | 🖥️ Virtualisation | ✅ Checklists d'intervention | 📚 Tutoriels | 🤝 Services |
|---|
La **virtualisation** est une technologie qui permet de faire fonctionner plusieurs ordinateurs virtuels sur un seul ordinateur physique. Chaque machine virtuelle peut disposer de son propre système d'exploitation, de ses applications et de ses paramètres. Elle est très utilisée dans les entreprises, les centres de formation, les laboratoires informatiques et les serveurs.
1. Qu'est-ce que la virtualisation ?
Définition : la virtualisation consiste à créer une version logicielle d'une ressource informatique, par exemple un ordinateur, un serveur, un réseau ou un espace de stockage.
Traditionnellement, un ordinateur physique exécute un système d'exploitation principal. Grâce à la virtualisation, il peut héberger plusieurs machines virtuelles indépendantes.
Par exemple, un ordinateur équipé de Windows 11 peut héberger :
- Une machine virtuelle sous Windows Server 2022.
- Une machine virtuelle sous Ubuntu Server.
- Une machine virtuelle sous Debian.
- Une machine virtuelle dédiée aux tests de logiciels.
Chaque système invité fonctionne dans son propre environnement virtuel.
2. Comment fonctionne la virtualisation ?
La virtualisation repose généralement sur quatre éléments :
| Élément | Rôle |
|---|---|
| Matériel physique | Processeur, mémoire vive, disques et cartes réseau. |
| Hyperviseur | Crée, exécute et gère les machines virtuelles. |
| Machine virtuelle | Ordinateur simulé par logiciel, avec des ressources attribuées. |
| Système invité | Système d'exploitation installé dans la machine virtuelle. |
Exemple d'architecture
+--------------------------------------------------+ | ORDINATEUR PHYSIQUE | | | | Processeur - RAM - SSD - Carte réseau | | | +--------------------------------------------------+ | HYPERVISEUR | +-------------------+------------------------------+ | | | | MACHINE VIRTUELLE| MACHINE VIRTUELLE | | Windows Server | Ubuntu Server | | | | | AD DS / DNS | Apache / Services Linux | +-------------------+------------------------------+
Les machines virtuelles partagent les ressources de l'ordinateur physique, selon la configuration et les capacités de l'hyperviseur.
3. Qu'est-ce qu'un hyperviseur ?
Un **hyperviseur** est un logiciel qui permet de créer et de gérer des machines virtuelles.
Il existe deux grandes catégories.
Hyperviseur de type 1 : bare-metal
L'hyperviseur s'exécute directement sur le matériel physique, sans système d'exploitation généraliste hôte placé en dessous.
Exemples :
- Microsoft Hyper-V dans son déploiement en hyperviseur natif.
- VMware ESXi.
- Proxmox VE, qui s'appuie sur KVM sous Linux.
Utilisation : virtualisation de serveurs, infrastructures professionnelles et laboratoires avancés.
Hyperviseur de type 2 : hébergé
L'hyperviseur fonctionne comme une application installée sur un système d'exploitation existant.
Exemples :
- Oracle VirtualBox.
- VMware Workstation.
- Parallels Desktop.
Utilisation : formation, tests, découverte de systèmes d'exploitation et création de laboratoires informatiques.
| Critère | Type 1 | Type 2 |
|---|---|---|
| Fonctionnement | Directement sur le matériel | Au-dessus d'un système hôte |
| Usage courant | Serveurs et infrastructures | Ordinateurs de bureau et formation |
| Exemples | ESXi, Hyper-V natif, Proxmox VE | VirtualBox, VMware Workstation |
4. Les principaux logiciels de virtualisation
| Logiciel | Environnement | Utilisation |
|---|---|---|
| VirtualBox | Windows, Linux, macOS selon la version | Création de machines virtuelles pour apprendre et tester. |
| VMware Workstation | Windows et Linux selon l'édition | Laboratoires, tests et formation. |
| Hyper-V | Windows avec éditions et fonctionnalités compatibles | Virtualisation et environnements de test. |
| Proxmox VE | Serveur basé sur Debian GNU/Linux | Gestion de machines virtuelles et de conteneurs. |
| KVM | Linux | Virtualisation intégrée au noyau Linux, souvent avec QEMU. |
Le choix dépend du matériel disponible, du système d'exploitation, du niveau de compétence et de l'utilisation prévue.
5. Les avantages de la virtualisation
- Réduction des coûts : plusieurs serveurs virtuels peuvent fonctionner sur un seul serveur physique.
- Souplesse : création et suppression rapides de machines virtuelles.
- Formation : possibilité de tester des systèmes sans disposer de plusieurs ordinateurs.
- Isolation : les systèmes invités sont séparés dans leur fonctionnement, sous réserve de la configuration.
- Sauvegarde : certains outils permettent d'exporter ou de sauvegarder des machines virtuelles.
- Environnements de test : expérimentation de logiciels, mises à jour et configurations.
- Consolidation : meilleure utilisation des ressources physiques disponibles.
6. Les limites et les précautions
- Plusieurs machines virtuelles consomment davantage de mémoire vive, de processeur et d'espace disque.
- Les performances peuvent être inférieures à celles d'un système installé directement sur le matériel.
- Une panne du serveur physique peut affecter toutes les machines virtuelles qu'il héberge.
- Une mauvaise configuration réseau peut exposer des services involontairement.
- Les instantanés (snapshots) ne remplacent pas une véritable sauvegarde.
- Il faut maintenir à jour l'hyperviseur et les systèmes invités.
7. Les ressources nécessaires
Avant de créer une machine virtuelle, il faut vérifier les ressources de l'ordinateur.
| Ressource | À vérifier |
|---|---|
| Processeur (CPU) | Prise en charge de la virtualisation matérielle, généralement Intel VT-x ou AMD-V. |
| Mémoire vive (RAM) | Capacité suffisante pour le système hôte et les machines invitées. |
| Stockage | Espace disponible pour les disques virtuels, les instantanés et les sauvegardes. |
| Réseau | Mode de connexion adapté : NAT, réseau ponté ou réseau interne. |
| BIOS/UEFI | Activation éventuelle des fonctions de virtualisation matérielle. |
Exemple de laboratoire :
Pour utiliser un ordinateur avec 16 Go de RAM, on peut réserver une partie de la mémoire au système hôte et attribuer le reste aux machines virtuelles. Il faut ajuster les allocations à la charge réelle et éviter de saturer la mémoire physique.
8. Créer sa première machine virtuelle
Les étapes sont similaires dans la plupart des logiciels de virtualisation.
- Installer un hyperviseur compatible avec l'ordinateur.
- Télécharger l'image ISO du système d'exploitation à installer.
- Créer une nouvelle machine virtuelle.
- Choisir le nom, le type et la version du système invité.
- Attribuer la mémoire vive et le nombre de processeurs virtuels.
- Créer un disque virtuel.
- Associer le fichier ISO au lecteur virtuel.
- Démarrer la machine virtuelle et suivre l'installation du système.
- Installer les outils invités si le logiciel en propose.
- Configurer le réseau, les mises à jour et les paramètres de sécurité.
Conseil Pat-Informatik : avant de modifier une machine virtuelle qui fonctionne correctement, effectue une sauvegarde adaptée. Un instantané peut aider à revenir en arrière, mais il ne protège pas contre toutes les pannes.
9. Comprendre les modes réseau
Le réseau virtuel permet à la machine invitée de communiquer avec l'ordinateur hôte, le réseau local ou Internet.
| Mode | Fonctionnement | Exemple d'utilisation |
|---|---|---|
| NAT | La machine virtuelle accède généralement à Internet en passant par l'hôte. | Naviguer et installer des mises à jour. |
| Pont (Bridge) | La machine virtuelle apparaît généralement comme un appareil du réseau local. | Tester un serveur accessible depuis d'autres ordinateurs. |
| Réseau interne | Les machines virtuelles communiquent entre elles sur un réseau isolé du réseau externe, selon la configuration. | Laboratoire Active Directory. |
| Réseau hôte uniquement | Communication entre l'hôte et les machines virtuelles concernées, sans accès externe automatique. | Tests locaux et administration. |
Attention : en mode pont, les services de la machine virtuelle peuvent devenir accessibles depuis le réseau local. Vérifie les règles du pare-feu et les services exposés.
10. Virtualisation et conteneurs : quelle différence ?
Les machines virtuelles et les conteneurs permettent d'isoler des environnements, mais ils ne fonctionnent pas de la même manière.
| Caractéristique | Machine virtuelle | Conteneur |
|---|---|---|
| Système d'exploitation | Possède son propre système invité | Partage le noyau du système hôte |
| Isolation | Virtualisation matérielle et environnement invité | Isolation au niveau du système d'exploitation |
| Démarrage | Généralement plus long | Généralement rapide |
| Utilisation typique | Plusieurs systèmes d'exploitation, serveurs et laboratoires | Applications et services déployés de façon reproductible |
| Exemples | Hyper-V, KVM, VirtualBox | Docker, Podman |
Les conteneurs ne remplacent pas toujours les machines virtuelles. Les deux technologies peuvent être utilisées ensemble.
11. La virtualisation dans un serveur Ubuntu
Sur un serveur Ubuntu, plusieurs solutions sont possibles :
- KVM et QEMU : exécution de machines virtuelles.
- libvirt : gestion des machines virtuelles et de leurs ressources.
- Proxmox VE : plateforme de virtualisation dédiée, basée sur Debian, pouvant héberger des VM et des conteneurs.
- Docker : exécution d'applications dans des conteneurs.
Vérifier la prise en charge du processeur
Dans un terminal Linux, exécuter :
lscpu
Sur de nombreux processeurs Intel ou AMD, on peut également rechercher les indicateurs de virtualisation :
grep -Eoc '(vmx|svm)' /proc/cpuinfo
Un résultat supérieur à zéro indique que des indicateurs de virtualisation sont visibles pour le système. Cela ne garantit pas à lui seul que toute la configuration KVM est opérationnelle.
Vérifier KVM
ls -l /dev/kvm
Si le périphérique existe et que les permissions sont correctes, le système peut être prêt pour utiliser KVM. En cas d'erreur, vérifier la compatibilité du processeur, les paramètres UEFI/BIOS, les modules du noyau et les droits de l'utilisateur.
Installer les outils KVM sur Ubuntu
Sur une version d'Ubuntu compatible, une installation de base peut être réalisée avec :
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virt-manager
Redémarrer ou ajuster les services et permissions si nécessaire. Vérifier les recommandations correspondant à la version d'Ubuntu utilisée avant de déployer en production.
Important : ne lance pas plusieurs installations de plateformes de virtualisation sur un serveur de production sans vérifier leurs interactions, leurs exigences et leur impact sur le réseau et le stockage.
12. Exemple de laboratoire informatique
Un laboratoire virtuel permet de s'entraîner sans multiplier les ordinateurs physiques.
| Machine virtuelle | Système | Rôle |
|---|---|---|
| VM01 | Windows Server 2022 | Active Directory et DNS. |
| VM02 | Windows 11 | Poste client du domaine. |
| VM03 | Ubuntu Server | Serveur Web Apache. |
| VM04 | Debian | Tests Linux et services complémentaires. |
Pour un laboratoire Active Directory, il est conseillé d'utiliser un réseau virtuel isolé ou soigneusement contrôlé. Il faut aussi prévoir les adresses IP, le DNS et les ressources nécessaires avant de démarrer les machines.
13. Instantanés et sauvegardes
Un **instantané** (snapshot) conserve l'état d'une machine virtuelle à un moment donné, selon les possibilités du logiciel utilisé.
Il peut servir à :
- Tester une mise à jour.
- Essayer une nouvelle configuration.
- Revenir à un état antérieur en cas de problème.
Cependant, un instantané peut dépendre des fichiers de disque de la machine virtuelle et occuper beaucoup d'espace.
Bonnes pratiques :
- Effectuer des sauvegardes régulières vers un emplacement distinct.
- Tester la restauration des sauvegardes.
- Documenter la configuration réseau et les ressources attribuées.
- Ne pas conserver indéfiniment des instantanés inutiles.
- Protéger les sauvegardes contre les suppressions accidentelles et les accès non autorisés.
14. Sécurité et bonnes pratiques
- Mettre à jour l'hyperviseur et les systèmes invités.
- Utiliser des mots de passe robustes et des comptes administratifs limités.
- Activer les pare-feux nécessaires.
- Isoler les environnements de test sensibles.
- Limiter les services exposés sur le réseau.
- Surveiller l'utilisation du processeur, de la mémoire et du stockage.
- Prévoir un plan de reprise après incident.
- Vérifier les licences des systèmes d'exploitation et des logiciels utilisés.
15. Problèmes fréquents
| Problème | Cause possible | Vérification |
|---|---|---|
| La machine virtuelle ne démarre pas | Virtualisation désactivée ou ressources insuffisantes. | Vérifier le BIOS/UEFI et les ressources. |
| L'installation ne démarre pas sur l'ISO | ISO non associée ou ordre de démarrage incorrect. | Vérifier le lecteur virtuel et le démarrage. |
| Pas d'accès à Internet | Mode réseau ou configuration IP incorrecte. | Vérifier NAT, pont, DNS et passerelle. |
| Machine virtuelle lente | Mémoire, processeur ou stockage saturé. | Contrôler l'utilisation des ressources. |
| Disque virtuel plein | Taille insuffisante ou instantanés accumulés. | Contrôler l'espace libre et les fichiers associés. |
| Connexion impossible depuis le réseau local | Mode NAT, pare-feu ou service non accessible. | Vérifier le mode réseau et les règles de filtrage. |
16. Glossaire
| Terme | Définition |
|---|---|
| Hyperviseur | Logiciel ou couche système qui exécute et gère les machines virtuelles. |
| Machine virtuelle (VM) | Ordinateur simulé par logiciel. |
| Système hôte | Système sur lequel fonctionne un hyperviseur hébergé. |
| Système invité | Système d'exploitation installé dans une machine virtuelle. |
| CPU virtuel (vCPU) | Processeur virtuel attribué à une machine virtuelle. |
| Disque virtuel | Fichier ou volume représentant le stockage de la machine virtuelle. |
| Snapshot | Capture d'un état de machine virtuelle permettant certains retours en arrière. |
| ISO | Image de disque souvent utilisée pour installer un système d'exploitation. |
| KVM | Technologie de virtualisation du noyau Linux. |
| Conteneur | Environnement isolé partageant le noyau du système hôte. |
17. Ressources et documentation
- Documentation officielle Oracle VirtualBox
- Documentation et assistance VMware
- Documentation Microsoft sur la virtualisation
- Documentation officielle Proxmox VE
- Documentation officielle QEMU
- Documentation Ubuntu Server
