Developer(s) | The FreeBSD Project |
---|---|
Initial release | 2014 |
Repository |
github |
Written in | C |
Operating system | FreeBSD, illumos |
Type | Hypervisor |
License | FreeBSD License |
Website |
bhyve |
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]
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.
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]
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]
Developer(s) | The FreeBSD Project |
---|---|
Initial release | 2014 |
Repository |
github |
Written in | C |
Operating system | FreeBSD, illumos |
Type | Hypervisor |
License | FreeBSD License |
Website |
bhyve |
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]
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.
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]
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]