Virtualiser (vmd)
C'est de plus en plus facile de virtualiser un système dans OpenBSD grâce à vmd.
Euh, ok, mais ça veut dire quoi virtualiser ?
Pour faire fonctionner plusieurs systèmes d'exploitation, vous imaginez peut-être qu'il est nécessaire d'avoir plusieurs ordinateurs. Que nenni ^^. Vous pouvez héberger des systèmes virtuels sur votre serveur.
Plus simplement, il vous est possible d'avoir plusieurs OpenBSD dans une OpenBSD (openbsdception 😁), comme s'il s'agissait de plusieurs machines indépendantes.
Cela présente de nombreux avantages :
- C'est facile de séparer plusieurs systèmes et donc de s'organiser.
- Chaque système est indépendant. Si l'un est compromis, les autres normalement non. Encore mieux qu'un chroot.
- Sauvegarder une machine virtuelle est très facile : c'est une simple copie.
- C'est utile pour tester.
Toutefois, cela consomme davantage de ressources.
Avant d'aller plus loin, afin de bien nous comprendre, il faut préciser à quoi fera référence le vocabulaire suivant :
- L'hôte fait référence à votre serveur. C'est l'ordinateur qui héberge les machines virtuelles.
- Une machine virtuelle est un système d'exploitation. L'hôte émule le matériel de cet ordinateur virtuel. On l'appellera quelques fois machine cliente.
OpenBSD nous propose trois outils pour virtualiser un système :
-
vmd
: le démon qui prend en charge les machines virtuelles. Il permet d'en gérer plusieurs en même temps. -
vmctl
: Permet de gérer une machine virtuelle à la fois : en lancer, en redémarrer, se connecter à la console… -
vmm
: Cet outil permet de surveiller les machines virtuelles.
Vérifiez tout d'abord si votre matériel prend en charge la virtualisation avec la commande suivante :
$ dmesg | egrep '(VMX/EPT|SVM/RVI)'
Si le résultat n'est pas vide, c'est tout bon 😊.
N'oubliez pas de mettre à jour les firmwares si besoin : # fw_update
.
Activez vmd
avant de passer à la suite :
# rcctl enable vmd
# rcctl start vmd
Pour ajouter une machine virtuelle, nous procéderons toujours dans l'ordre suivant :
- Installation d'un système dans une machine virtuelle ;
- Configuration de vmd pour qu'il gère cette machine.