# 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 #