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]
Developer(s) | The FreeBSD Project |
---|---|
Initial release | 2014 |
Repository | github |
Written in | C |
Operating system | FreeBSD, illumos |
Type | Hypervisor |
License | FreeBSD License |
Website | bhyve |
Features
editbhyve 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.[citation needed] 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
editDocker 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
editClonOS, 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
edit- ^ Carabas, Mihai; Grehan, Peter (10 June 2016). "Porting bhyve on ARM" (PDF). Retrieved 8 February 2017.
- ^ 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.
- ^ Kerner, Sean Michael (22 January 2014). "Open Source FreeBSD 10 Takes on Virtualization". ServerWatch. QuinStreet Enterprise. Retrieved 28 July 2014.
- ^ Gerdts, Mike (March 2018). "bhyve zones in SmartOS" (PDF).
- ^ "bhyve Hypervisor". omniosce.org. Retrieved 27 September 2018.
- ^ "machyve/xhyve: a lightweight OS X virtualization solution". GitHub. 9 July 2020.
- ^ "bhyve Windows Virtual Machines". FreeBSD Wiki.
- ^ Peter Grehan; Neel Natu. "FreeBSD Manual Pages". The FreeBSD Project.
- ^ "Bhyve guests with hardware accelerated graphics". FreeBSD Presentations and Papers.
- ^ "moby/hyperkit: A toolkit for embedding hypervisor capabilities in your application". GitHub. Moby. 10 July 2020.
- ^ "FreeBSD bhyve manager utilizing ZFS and other FreeBSD tools". GitHub. Pr1ntf. Retrieved 7 August 2021.
- ^ "Shell based, minimal dependency bhyve manager". GitHub. Churchers. Retrieved 7 August 2021.
- ^ "BVCP: FreeBSD Bhyve Project". bhyve.npulse.net. Retrieved 7 August 2021.
- ^ "18. Virtual Machines — FreeNAS®11.3-U5 User Guide Table of Contents". www.ixsystems.com. Retrieved 2 January 2023.
- ^ "Free Open-Source Hosting Platform". clonos.convectix.com. Retrieved 7 August 2021.
- ^ "The most simplified API for creating and destroying K8S and cloud VMs". myb.convectix.com. Retrieved 17 May 2022.
- ^ "Virtualization". github.com. Retrieved 23 September 2023.
Further reading
edit- Larabel, Michael (10 February 2013). "BHyVe: A New Hypervisor Coming To FreeBSD 10.0". Phoronix. Phoronix Media. Retrieved 28 July 2014.
- Schenkeveld, Paul (3 February 2013). "bhyve – The BSD Hypervisor". fosdem.org. Brussels: FOSDEM. Retrieved 28 July 2014.
- Larabel, Michael (9 November 2013). "The State Of FreeBSD's Bhyve Virtualization". Phoronix. Phoronix Media. Retrieved 28 July 2014.
- "Bhyve Mind". BSD Now. 16 January 2014. Retrieved 12 August 2014.[permanent dead link]