Bhyve
Developer(s)The FreeBSD Project
Initial release2014 (2014)
Repositorygithub.com/freebsd/freebsd-src/tree/main/usr.sbin/bhyve
Written inC
Operating systemFreeBSD
TypeHypervisor
LicenseFreeBSD License
Websitebhyve.org Edit this on Wikidata

bhyve (pronounced "bee hive", formerly written as BHyVe for "BSD hypervisor") is a type-2 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]

References

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

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.