# cd /var/ports/bhykx/sysutils/vm-bhyve/ # make install
# vm init # ll -R /vm total 2 drwxr-xr-x 2 root wheel 4 Nov 27 05:59 .config/ drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .iso/ drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .templates/ /vm/.config: total 1 -rw-r--r-- 1 root wheel 0 Nov 27 05:59 null.iso -rw-r--r-- 1 root wheel 0 Nov 27 05:59 system.conf /vm/.iso: total 0 /vm/.templates: total 0 root@bhyve:~ #
とりあえずVMを作ってみる
vm(8) の QUICKSTART にしたがって...
# vm switch create public
# ll -R /vm
total 2
drwxr-xr-x 2 root wheel 4 Nov 27 05:59 .config/
drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .iso/
drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .templates/
/vm/.config:
total 5
-rw-r--r-- 1 root wheel 0 Nov 27 05:59 null.iso
-rw-r--r-- 1 root wheel 21 Nov 27 22:12 system.conf
/vm/.iso:
total 0
/vm/.templates:
total 0
# cat /vm/.config/system.conf
switch_list="public"
# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:58
inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:59
inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
description: vm-public
ether 02:89:ea:c6:b2:00
nd6 options=1<PERFORMNUD>
groups: bridge
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
#
# vm switch add public em0
# ifconfig
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:58
inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:59
inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
description: vm-public
ether 02:89:ea:c6:b2:00
nd6 options=1<PERFORMNUD>
groups: bridge
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 1 priority 128 path cost 20000
# ll -R /vm
total 2
drwxr-xr-x 2 root wheel 4 Nov 27 05:59 .config/
drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .iso/
drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .templates/
/vm/.config:
total 5
-rw-r--r-- 1 root wheel 0 Nov 27 05:59 null.iso
-rw-r--r-- 1 root wheel 40 Nov 27 22:31 system.conf
/vm/.iso:
total 0
/vm/.templates:
total 0
# cat /vm/.config/system.conf
switch_list="public"
ports_public="em0"
#
# vm iso \
ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-disc1.iso \
/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso 100% of 696 MB 4668 \
kBps 02m33s
# ll -R /vm
total 2
drwxr-xr-x 2 root wheel 4 Nov 27 05:59 .config/
drwxr-xr-x 2 root wheel 3 Nov 27 22:48 .iso/
drwxr-xr-x 2 root wheel 2 Nov 27 05:59 .templates/
/vm/.config:
total 5
-rw-r--r-- 1 root wheel 0 Nov 27 05:59 null.iso
-rw-r--r-- 1 root wheel 40 Nov 27 22:31 system.conf
/vm/.iso:
total 713321
-rw-r--r-- 1 root wheel 729845760 Mar 25 2016 \
FreeBSD-10.3-RELEASE-amd64-disc1.iso
/vm/.templates:
total 0
#
# vm create my-guest
/usr/local/sbin/vm: ERROR: unable to find template \
/vm/.templates/default.conf
# ll /vm/.templates/
total 0
# cp /usr/local/share/examples/vm-bhyve/default.conf \
/vm/.templates/
# cat /vm/.templates/default.conf
loader="bhyveload"
cpu=1
memory=256M
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
# vm create my-guest
# ll -Rh /vm
total 2
drwxr-xr-x 2 root wheel 4B Nov 27 05:59 .config/
drwxr-xr-x 2 root wheel 3B Nov 27 22:48 .iso/
drwxr-xr-x 2 root wheel 3B Nov 28 00:22 .templates/
drwxr-xr-x 2 root wheel 4B Nov 28 00:25 my-guest/
/vm/.config:
total 5
-rw-r--r-- 1 root wheel 0B Nov 27 05:59 null.iso
-rw-r--r-- 1 root wheel 40B Nov 27 22:31 system.conf
/vm/.iso:
total 713321
-rw-r--r-- 1 root wheel 696M Mar 25 2016 \
FreeBSD-10.3-RELEASE-amd64-disc1.iso
/vm/.templates:
total 5
-rw-r--r-- 1 root wheel 136B Nov 28 00:25 default.conf
/vm/my-guest:
total 5
-rw-r--r-- 1 root wheel 20G Nov 28 00:25 disk0.img
-rw-r--r-- 1 root wheel 180B Nov 28 00:25 my-guest.conf
# cat /vm/my-guest/my-guest.conf
loader="bhyveload"
cpu=1
memory=256M
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
uuid="c368152e-b4b5-11e6-b621-003048dcbe58"
# mdconfig -a -t vnode -f /vm/my-guest/disk0.img
md0
# gpart show md0
gpart: No such geom: md0.
# mdconfig -l
md0
# mdconfig -d -u md0
# mdconfig -l
#
# vm install my-guest FreeBSD-10.3-RELEASE-amd64-disc1.iso
# ll -Rh /vm
total 10
drwxr-xr-x 2 root wheel 4B Dec 1 01:54 .config/
drwxr-xr-x 2 root wheel 3B Dec 1 05:38 .iso/
drwxr-xr-x 2 root wheel 3B Dec 1 05:40 .templates/
drwxr-xr-x 2 root wheel 7B Dec 1 05:42 my-guest/
/vm/.config:
total 5
-rw-r--r-- 1 root wheel 0B Dec 1 01:54 null.iso
-rw-r--r-- 1 root wheel 40B Dec 1 05:37 system.conf
/vm/.iso:
total 713321
-rw-r--r-- 1 root wheel 696M Mar 25 2016 \
FreeBSD-10.3-RELEASE-amd64-disc1.iso
/vm/.templates:
total 5
-r--r--r-- 1 root wheel 136B Dec 1 05:40 default.conf
/vm/my-guest:
total 19
-rw-r--r-- 1 root wheel 17B Dec 1 05:42 console
-rw-r--r-- 1 root wheel 20G Dec 1 05:41 disk0.img
-r--r--r-- 1 root wheel 213B Dec 1 05:42 my-guest.conf
-rw-r--r-- 1 root wheel 15B Dec 1 05:42 run.lock
-rw-r--r-- 1 root wheel 1.2K Dec 1 05:42 vm-bhyve.log
# cat /vm/my-guest/console
com1=/dev/nmdm0B
# cat /vm/my-guest/my-guest.conf
loader="bhyveload"
cpu=1
memory=256M
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
uuid="5717debc-b73d-11e6-8a34-003048dcbe58"
network0_mac="58:9c:fc:01:9b:e7"
#
# cat /vm/my-guest/run.lock
vm.openedu.org
# cat /vm/my-guest/vm-bhyve.log
Dec 01 05:42:41: initialising
Dec 01 05:42:41: [loader: bhyveload]
Dec 01 05:42:41: [uefi: no]
Dec 01 05:42:41: [cpu: 1]
Dec 01 05:42:41: [memory: 256M]
Dec 01 05:42:41: [hostbridge: standard]
Dec 01 05:42:41: [com ports: com1]
Dec 01 05:42:41: [uuid: 5717debc-b73d-11e6-8a34-003048dcbe58]
Dec 01 05:42:41: [utctime: no]
Dec 01 05:42:41: [debug mode: no]
Dec 01 05:42:41: [primary disk: disk0.img]
Dec 01 05:42:41: [primary disk dev: file]
Dec 01 05:42:41: generated static mac 58:9c:fc:01:9b:e7 (based on \
'my-guest:0:1480538561:0')
Dec 01 05:42:41: initialising network device tap0
Dec 01 05:42:41: adding tap0 -> bridge0 (public)
Dec 01 05:42:41: booting
Dec 01 05:42:41: bhyveload -c /dev/nmdm0A -m 256M -e \
autoboot_delay=3 -d \
/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso my-guest
Dec 01 05:42:45: [bhyve options: -c 1 -m 256M -AHP -U \
5717debc-b73d-11e6-8a34-003048dcbe58]
Dec 01 05:42:45: [bhyve devices: -s 0,hostbridge -s 31,lpc -s \
4:0,virtio-blk,/vm/my-guest/disk0.img -s \
5:0,virtio-net,tap0,mac=58:9c:fc:01:9b:e7]
Dec 01 05:42:45: [bhyve console: -l com1,/dev/nmdm0A]
Dec 01 05:42:45: [bhyve iso device: -s \
3:0,ahci-cd,/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso]
Dec 01 05:42:45: starting bhyve (run 1)
# ifconfig
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
options=42098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:58
inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:30:48:dc:be:59
inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
description: vm-public
ether 02:b1:83:00:a0:00
nd6 options=1<PERFORMNUD>
groups: bridge
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 5 priority 128 path cost 2000000
member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 1 priority 128 path cost 20000
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
metric 0 mtu 1500
description: vmnet-my-guest-0-public
options=80000<LINKSTATE>
ether 00:bd:04:74:8f:00
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
groups: tap
Opened by PID 25218
# ps -ax
PID TT STAT TIME COMMAND
0 - DLs 0:05.48 [kernel]
1 - ILs 0:00.10 /sbin/init --
2 - DL 0:00.00 [crypto]
3 - DL 0:00.00 [crypto returns]
4 - DL 0:00.01 [cam]
5 - DL 0:00.00 [aac0aif]
6 - DL 0:00.00 [fdc0]
7 - DL 0:01.63 [zfskern]
8 - DL 0:00.00 [sctp_iterator]
9 - DL 0:00.58 [rand_harvestq]
10 - DL 0:00.00 [audit]
11 - RL 7156:51.53 [idle]
12 - WL 0:15.59 [intr]
13 - DL 0:00.19 [geom]
14 - DL 0:00.95 [usb]
15 - DL 0:00.00 [soaiod1]
16 - DL 0:00.00 [soaiod2]
17 - DL 0:00.00 [soaiod3]
18 - DL 0:00.00 [soaiod4]
19 - DL 0:00.39 [enc_daemon0]
20 - DL 0:00.23 [pagedaemon]
21 - DL 0:00.00 [vmdaemon]
22 - DL 0:00.07 [bufdaemon]
23 - DL 0:00.06 [bufspacedaemon]
24 - DL 0:00.54 [syncer]
25 - DL 0:00.06 [vnlru]
128 - Is 0:00.00 adjkerntz -i
382 - Is 0:00.00 /usr/sbin/moused -p /dev/ums0 -t auto -I \
/var/run/moused.ums0.pid
399 - Is 0:00.01 /sbin/devd
446 - Is 0:00.06 /usr/sbin/unbound -c /var/unbound/unbound.conf
480 - Ss 0:00.07 /usr/sbin/syslogd -s
673 - Is 0:00.00 /usr/sbin/sshd
677 - Ss 0:00.08 /usr/sbin/cron -s
693 - Is 0:00.00 /usr/sbin/moused -p /dev/psm0 -t auto
754 - Is 0:00.02 sshd: admin [priv] (sshd)
756 - S 0:00.19 sshd: admin@pts/0 (sshd)
24865 - Is 0:00.02 sshd: admin [priv] (sshd)
24867 - I 0:00.01 sshd: admin@pts/1 (sshd)
737 v0 Is+ 0:00.00 /usr/libexec/getty Pc ttyv0
738 v1 Is+ 0:00.00 /usr/libexec/getty Pc ttyv1
739 v2 Is+ 0:00.00 /usr/libexec/getty Pc ttyv2
740 v3 Is+ 0:00.00 /usr/libexec/getty Pc ttyv3
741 v4 Is+ 0:00.00 /usr/libexec/getty Pc ttyv4
742 v5 Is+ 0:00.00 /usr/libexec/getty Pc ttyv5
743 v6 Is+ 0:00.00 /usr/libexec/getty Pc ttyv6
744 v7 Is+ 0:00.00 /usr/libexec/getty Pc ttyv7
757 0 Is 0:00.04 -tcsh (tcsh)
6670 0 I 0:00.01 su
6671 0 S 0:00.06 _su (csh)
25034 0 I 0:00.02 /bin/sh /usr/local/sbin/vm _run my-guest \
FreeBSD-10.3-RELEASE-amd64-disc1.iso
25218 0 I 0:06.48 bhyve: my-guest (bhyve)
25245 0 R+ 0:00.00 ps -ax
24868 1 Is 0:00.01 -tcsh (tcsh)
24871 1 I+ 0:00.01 /bin/sh /usr/bin/man vm
24882 1 I+ 0:00.01 more
#