Bhyve Explained

Developer:The FreeBSD Project
Programming Language:C
Operating System:FreeBSD, illumos
Genre:Hypervisor
License:FreeBSD License

bhyve (pronounced "bee hive", formerly written as BHyVe for "BSD hypervisor") is a type-2 (hosted) hypervisor initially written for FreeBSD.[1] [2] [3] It can also be used on a number of illumos based distributions including SmartOS,[4] OpenIndiana, and OmniOS.[5] A port of bhyve to macOS called xhyve is also available.[6]

Features

bhyve supports the virtualization of several guest operating systems, including FreeBSD 9+, OpenBSD, NetBSD, Linux, illumos, DragonFly and Windows NT[7] (Windows Vista and later, Windows Server 2008 and later). bhyve also supports UEFI installations and VirtIO emulated interfaces. Windows virtual machines require VirtIO drivers for a stable operation. Current development efforts aim at widening support for other operating systems for the x86-64 architecture.

Support for peripherals relies on basic and VirtIO drivers and supports: eXtensible Host Controller Interface (xHCI) USB controllers, NVM Express (NVMe) controllers, High Definition Audio Controllers, raw framebuffer device attached to VNC server (Video Output), and AHCI/PCI Passthrough.[8]

Since the support for peripherals is incomplete, hardware-accelerated graphics is only available using PCI passthrough. But, Intel GVT (and other vGPUs with driver support) should allow sharing the device with the host.[9]

bhyve performs about the same as its competitors with lack of memory ballooning and accelerated graphics interface, but bhyve has a more modern codebase and uses fewer resources. In the case of FreeBSD the resource management is more efficient. FreeBSD is also known for its exemplary I/O speeds; running bhyve from FreeBSD has a lot of advantages for time-critical virtual appliances by reducing I/O time, especially on disk and network related loads.

Applications

Docker on macOS uses a bhyve derivative called HyperKit. It is derived from xhyve, a port of bhyve to macOS's Hypervisor framework.[10]

iohyve on FreeBSD is a command-line utility to create, store, manage, and launch bhyve guests using built in FreeBSD features.[11]

vm-bhyve on FreeBSD is a shell-based, bhyve manager with minimal dependencies.[12]

BVCP on FreeBSD is a lightweight, native, full featured web interface for managing virtual machines.[13]

FreeNAS, based on FreeBSD, uses bhyve alongside its file sharing services to provide hosting for VMs.[14]

Other distributions

ClonOS, a FreeBSD-based distribution for virtual hosting platform and appliance, primarily uses bhyve and has a web-based management interface.[15]

MyBee, a FreeBSD-based distribution for managing cloud VMs (bhyve) through a simplified API.[16]

SmartOS, an Illumos-based distribution for managing cloud VMs (bhyve, Solaris zones) through a simplified API.

MidnightBSD, a desktop operating system, includes bhyve.[17]

Further reading

External links

Notes and References

  1. Web site: Carabas. Mihai. Grehan. Peter. Porting bhyve on ARM. 8 February 2017. 10 June 2016.
  2. Web site: Dexter. Michael. BHyVe: The BSD HyperVisor In Depth. 8 February 2017. 20 October 2012. https://web.archive.org/web/20180218095722/http://bhyve.org/BHyVe-EuroBSDcon2012.pdf. 18 February 2018. dead.
  3. Web site: Open Source FreeBSD 10 Takes on Virtualization . QuinStreet Enterprise . 22 January 2014 . 28 July 2014 . ServerWatch . Sean Michael . Kerner.
  4. Web site: bhyve zones in SmartOS. Gerdts. Mike. March 2018.
  5. Web site: bhyve Hypervisor. omniosce.org. 2018-09-27.
  6. Web site: machyve/xhyve: a lightweight OS X virtualization solution . GitHub . 9 July 2020.
  7. Web site: bhyve Windows Virtual Machines . FreeBSD Wiki.
  8. Web site: Peter Grehan . Neel Natu . FreeBSD Manual Pages . The FreeBSD Project.
  9. Web site: Bhyve guests with hardware accelerated graphics . FreeBSD Presentations and Papers.
  10. Web site: moby/hyperkit: A toolkit for embedding hypervisor capabilities in your application . GitHub . Moby . 10 July 2020.
  11. Web site: FreeBSD bhyve manager utilizing ZFS and other FreeBSD tools . GitHub . Pr1ntf . 2021-08-07.
  12. Web site: Shell based, minimal dependency bhyve manager. GitHub . Churchers. 2021-08-07.
  13. Web site: BVCP: FreeBSD Bhyve Project. bhyve.npulse.net . 2021-08-07.
  14. Web site: 18. Virtual Machines — FreeNAS®11.3-U5 User Guide Table of Contents . 2023-01-02 . www.ixsystems.com.
  15. Web site: Free Open-Source Hosting Platform . clonos.convectix.com . 2021-08-07.
  16. Web site: The most simplified API for creating and destroying K8S and cloud VMs . myb.convectix.com . 2022-05-17.
  17. Web site: Virtualization . github.com. 2023-09-23.