wiki/HowtoOpenBSD/vmm.md
2017-01-20 18:40:17 -05:00

2.3 KiB

title categories
Howto vmm virtualisation openbsd

OpenBSD intègre un système de virtualisation (écrit from scratch). Celui est encore largement en cours de développement, cette documentation est susceptible de se retrouver obsolète par moment.

Avoir des VM peut être intéressant pour faire un lab réseau sur sa machine de travail.

Documentation

Support matériel

Il faut que le processeur supporte la virtualisation et que celle ci soit activée dans le bios/efi.

Par exemple si celle-ci n'est pas activée dans le bios :

$ dmesg | grep vm
vmm disabled by firmware
vmm at mainbus0 not configured
$ dmesg | grep vm
vmm0 at mainbus0: VMX/EPT

Mise en place

Vmd utilise un fichier de conf (/etc/vm.conf).

# cp /etc/examples/vm.conf /etc/vm.conf
# vim /etc/vm.conf

On définit dans la conf l'emplacement des sets que l'on va télécharger. Ensuite on définit un switch (pour le réseau) et enfin la ou les vm.

Il est nécessaire de créer un disque par VM :

# vmctl create "/home/vm/OpenBSD.img" -s 4G

Pour télécharger les sets :

$ cd /var/www/sets/
$ wget --no-parent -r https://ftp.openbsd.org/pub/OpenBSD/snapshots/amd64/*

On peut activer et démarrer vmd

# rcctl enable vmd
# rcctl start vmd

Si on a activé une vm, on peut la voir :

# vmctl status
   ID   PID VCPUS    MAXMEM    CURMEM              TTY NAME
    1 88909     1    1024MB     169MB       /dev/ttyp7 vm.evolix.net

Enfin on peut prendre un shell (pour procéder à l'installation). Cela utilise cu(1) donc si jamais on veut quitter : <entrée> puis ~.

# vmctl console 1
Connected to /dev/ttyp7 (speed 9600)

(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?

Lorsqu'on a installé, on peut copier le disque de la vm et utiliser la copie pour une autre VM pour ne pas avoir à faire une deuxième installation.

Réseau

Pour le réseau, en wifi il faut faire du NAT car on ne peut pas bridger l'interface wifi à cause d'une limitation dans le standard 802.11.

Pour faire cela, le mieux est de passer par une interface vether0.... à compléter.