![]() |
bhyve - The BSD Hypervisor |
bhyve is a legacy-free Hypervisor for FreeBSD and its derivatives such as PC-BSD and NanoBSD
A: bhyve, the "BSD hypervisor" is a legacy-free hypervisor/virtual machine manager that is actively being developed on FreeBSD and leverages modern CPU features such as Extended Page Tables (EPT).
A: bhyve currently supports Intel processors with Extended Page Tables and AMD support is undergoing testing. Processor EPT compatibility can be determined at ark.intel.com but most Core i3, i5, i7 and related Xeon processors are supported. Presence of the "POPCNT" (POP Count) processor feature in dmesg(8) will also indicate EPT support.
A: Here is an overview of its operation:
A: bhyve can be built and operated on FreeBSD 9.0 but its active development is taking place on 10-CURRENT. Backporting to 9.* and even 8.* is fundamentally possible.
A: As a legacy-free hypervisor, bhyve currently only supports the booting of FreeBSD guests on a FreeBSD host. Currently, unmodified FreeBSD 10-CURRENT, 9-STABLE and 8-STABLE guests can be booted on a bhyve 10-CURRENT host because they include VirtIO drivers. VirtIO drivers can be added to FreeBSD 8.3 and 9.0 systems.
CentOS under bhyve was demonstrated at the BSDCan 2013 FreeBSD Developer Summit.
A: The vmm.ko loadable kernel module, the libvmmapi library, the bhyve, bhyveload and bhyvectl utilities. In total these binaries are about 250K in size.
A: bhyve was merged from the bhyve projects branch into FreeBSD head on January 19th, 2013.
A raw diff, a diff without svn mergeinfo and an annotated diff of the bhyve patches prior to import are available for reference.
A: bhyve uses the VirtIO set of devices for virtualized storage and network devices. It can boot with only a kernel-loaded, memory-backed root filesystem but this provides limited flexibility.
A: Yes, currently only on the Xeon 5600/5500 - 5520 Chipset.
A: Raw disk images and any block device such as ZFS zvols and iSCSI targets.
A: Yes, this is a requirement of FreeBSD 10 where bhyve is being developed.
A: The most popular places to discuss bhyve are the freebsd-virtualization@freebsd.org mailing list and the #bhyve channel on irc.freenode.net.
A: The developers mercifully depreciated the CamelCase name "BHyVe" and simply refer to it as "bhyve".
-m
The easiest way to try bhyve is with a FreeBSD 10-CURRENT release.iso snapshot from March 19th, 2013 (r248477) or later for the host and the vmrun.sh launch and management script (instructions) to install and manage guests. Any recent FreeBSD 8.3-STABLE, 8.4-RELEASE, 9.0-STABLE, 9.1-STABLE or 10-CURRENT release.iso snapshot should include the necessary VirtIO drivers for bhyve. The vmrun.sh launch and management script is now included in 10-CURRENT in /usr/share/examples/bhyve/vmrun.sh
Once you have the 10-CURRENT snapshot installed as a host, vmrun.sh will look for the release.iso disc image and will create an 8G disk image named diskdev for storage. vmrun.sh only requires a guest name as a parameter and must be executed with root privileges: sudo sh vmrun.sh vm1
A verbose explanation of bhyve's requirements can be found in the bhyve Manual – TXT
For greater flexibility you can use a series of sequential scripts that will build and populate various boot media using the official FreeBSD snapshot install media.
Latest Version 1.5.4: bhyve-scripts.tar
Date: May 23th, 2013
The archive contains:
INSTRUCTIONS-COPYRIGHT.txt 0-make-softdevice.sh 1-format-device.sh 1-format-zvol-gpt.sh 2-install-guest.sh 3-host-prep.sh 4-boot-guest.sh 4-make-boot-script.sh 5-cleanup-guests.sh mount-diskdev.sh mirror10-from-memstick.sh mirror9or10-from-ftp.sh nanobsd2bhyve.sh bhyve-manual.txt
The nanobsd2bhyve.sh script takes in a VirtIO-equipped NanoBSD disk image such as a pfSense or FreeBSD "nightly" development image and prepares it for bhyve use and generates three management scripts. This takes seconds.
Please provide script-related bug reports and feedback to editor@callfortesting.org
FreeBSD Virtualization Mailing List
Neel's Personal Page
The FreeBSD Wiki bhyve Page
Bandwidth courtesy of High5! and NYC*BUG, the New York City *BSD User Group.
This page is maintained by Michael Dexter and the bhyve development team.
Copyright © 2012 – 2013 Michael Dexter unless specified otherwise.
FreeBSD is a registered trademark of the FreeBSD Foundation.