資料: OpenBSD FAQ - Virtualization
シンプル。以下の制限がある。
# #ハードウェアが対応しているか確認 # dmesg | egrep '(VMX/EPT|SVM/RVI)'
# #vmdを有効化 # rcctl enable vmd # rcctl start vmd
# #ディスクイメージを作成 # vmctl create -s 4G OpenBSD78.img # raw or qcow2
(ネットワークブリッジを使用しなければ)設定ファイルなしで動く。
# vmctl start -c -i 1 -L -m 2G -B cdrom -r install78.iso -d OpenBSD78.img obsd78
# vmctl start -i 1 -L -m 2G -d OpenBSD78.img obsd78
設定を/etc/vm.confに記述する。
# cat /etc/vm.conf
switch "uplink" {
interface veb0
}
vm "obsd78" {
disable
memory 2G
disk "/opt/vmd/OpenBSD78.img"
interfaces 1
interface { switch "uplink" }
}
(他にもVMがある場合は以下同様に記述)
前項のvm.confの設定ではVMをブリッジに接続し、外のネットワークに出られるようにしている。 これについて、ネットワークの追加設定が必要
# cat /etc/hostname.veb # veb(4) (Virtual Ethernet Bridge)の設定 add re0 add vport0 up
# cat /etc/hostname.re0 # 実機のNICの設定 up # 有効化するだけ
# cat /etc/hostname.vport # vebに接続する仮想ポート。実機のアドレス設定はここで inet autoconf inet alias 192.168.1.32 255.255.255.0 inet6 autoconf
(vebを使用する場合、実H/WのNICにアドレスを割り振れなくなる)
VMが起動すると、tap(4)経由でveb0に接続される。
# vmctl start obsd78
vmctl: started vm 1 successfully, tty /dev/ttyp1
# vmctl status
ID PID VCPUS MAXMEM CURMEM TTY OWNER STATE NAME
1 25809 1 516M 156M ttyp1 root running obsd78
/dev/ttyp1はVMのシリアルコンソール。cu(1)を使ってアクセスする。
# vmctl console obsd78
または、起動時に、
# vmctl start -c obsd78