Der bhyve Hypervisor kommt nach 10-CURRENT

Yamagi

Possessed With Psi Powers
Staff member
Seit etwa zwei Jahren entwickeln die FreeBSD-Entwickler Peter Grehan und Neel Natu mit Unterstützung von NetApp an dem unter BSD-Lizenz stehenden Hypervisor "byhve". byhve ist ein extem schlanker Hypervisor - die Codebasis ist insgesamt ca. 25.000 Zeilen groß, davon unter 2000 Zeilen Kernelcode - der es ermöglichen soll unveränderte Gastsysteme zu virtualisieren. Dabei stehen bisher ein schlankes, dafür stabiles Featureset und ein möglichst geringer Overhead im Vordergrund. Entsprechend kann byhve zumindest im derzeitigen Status nicht als Ersatz für komplexe Lösungen wie VirtualBox gesehen werden, viel mehr stellt eine Ergänzung zu bestehenden (FreeBSD)-Infrastrukturen da.

Der Zustand ist im Detail:
- Es werden ausschließlich Intel-CPUs unterstützt, die zudem VT-x und EPT können müssen. Die Unterstützung für AMD-CPUs ist geplant. CPUs ohne Hardwareunterstützung sind derzeit nicht geplant.
- Derzeit kann byhve nur FreeBSD als Gastsystem ausführen. Weitere Systeme sind für die nahe Zukunft geplant.
- Es wird keine Hadrware emuliert, stattdessen komplett auf virtio zurückegriffen.
- byve unterstützt explizit das Durchreichen von PCI-Geräten an den Gast.

Die Entwickler haben nun vorgeschlagen byhve in 10-CURRENT einzufügen und dort weiterzuentwickeln, da dies zu mehr Ausmerksamkeit und Unterstützung führt. Die E-Mail ist:
Code:
From: Peter Grehan <grehan@freebsd.org>
To: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject: [RFC] Moving bhyve to head
Date: Tue, 08 Jan 2013 22:17:32 -0700
Sender: owner-freebsd-arch@freebsd.org
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
 rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20

  Neel and I would like to move bhyve development from the
projects/bhyve branch into CURRENT. This will allow the code
to reach a wider audience before 10, and provide us with better
feedback on what features should be prioritized.

  The intent of bhyve is to provide a small, extendible codebase
that allows FreeBSD users to easily run virtual machines. Currently,
bhyve supports running FreeBSD/amd64 guests on FreeBSD/amd64
hosts with Intel VT-x and EPT CPU support. Additional guest operating 
systems should be available in the near future, as will AMD-SVM CPU support.

  bhyve is implemented as a kernel module and user-level utilities. Note
that it has zero impact on the system until the module is loaded.

The raw diff against CURRENT can be viewed at
     http://people.freebsd.org/~neel/bhyve/diff.txt

(A sanitized diff, without the svn mergeinfo, is at:
   http://people.freebsd.org/~neel/bhyve/diff_without_mergeinfo.txt

  A listing of modified and added files with annotations is at:
    http://people.freebsd.org/~neel/bhyve/diff_filenames_only.txt)

  Info on bhyve and installation instructions can be found at
    http://wiki.freebsd.org/BHyVe
    http://bhyve.org

  Comments and review requested :)

later,

Peter & Neel.
_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
 
Es ärgert mich immer wieder, dass es zu Kernel Internas keine Manpages gibt (virtio, ich gehe mal davon aus, dass es was mit dem Kernel zu tun hat). Dafür gibt es durchaus praktischen Bedarf. Zum Beispiel wenn ein Prozess hängt und man Wissen will, was der state den man in top sieht eigentlich bedeutet.
 
virtio ist eine Art "Standard", wie Gastsystem und Host miteinander interagieren. Ist ursprünglich mal auf Red Hats Mist gewachsen, ist es durch den Erfolg der Linux KVM inzwischen recht weit verbreitet. Damit kann man halt Dinge wie Netzwerkzugriff und Block-IO elegant hinbekommen, ohne Hardware emulieren zu müssen. FreeBSD 10-CURRENT unterstützt es von Haus, für ältere Versionen gibt es die Kernelmodule unter emulators/virtio-kmod. VirtualBox unterstützt übrigens auch eingeschränkt virtio, hauptsächlich für das Netzwerk.

Das mit der Doku stimmt leider. Bisher hatte halt niemand wirklich Lust, dort einmal eine umfassende Zusammenfassung zu schreiben. "The Design and Implementation of the FreeBSD Operating System" ist zwar immer noch mindestens zwei Tipps wert, aber inzwischen leider auch schon fast 10 Jahre alt. Da wäre es mal Zeit für eine Neuauflage, aber ich habe keine Ahnung, wie dort die Chancen stehen.
 
Hi,


Schön das dieses Projekt vorran getrieben wird.

Richtig interessant wird es glaub ich erst wenn Windows und Linux damit laufen.
Denn dann kann FreeBSD (endlich) alle Virtualisierungsarten anbieten.


Mfg,
 
Intressant wird es dann, wenn das Durchreichen von der Grafikkarte an das Gastsystem ohne großen (manuellen) Konfigurationsaufwand funktioniert.

Mit XEN und KVM ist das Durchreichen der Grafikkarte ja schon möglich, aber der Aufwand das einzurichten ist echt eklig. Aber wenn man das hat, dann kann man in der VM sogar aufwändige 3D-Anwendungen in Windows betreiben (*hust* Spiele). Auch wenn man dafür noch 2 Grafikkarten braucht.

Dann könnte man sich lästige Windows-Partitionen sparen.
 
Last edited:
Intressant wird es dann, wenn das Durchreichen von der Grafikkarte an das Gastsystem ohne großen (manuellen) Konfigurationsaufwand funktioniert.

Mit XEN und KVM ist das Durchreichen der Grafikkarte ja schon möglich, aber der Aufwand das einzurichten ist echt eklig. Aber wenn man das hat, dann kann man in der VM sogar aufwändige 3D-Anwendungen in Windows betreiben (*hust* Spiele).

Dann könnte man sich lästige Windows-Partitionen sparen.

Ja dafür muss aber auch erstmal Windows im b"hyve" bewusstsein laufen :-)
 
Und nun ist er da:
Code:
From: Neel Natu <neel@FreeBSD.org>
To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject: svn commit: r245652 - in head: lib share/man/man4 share/mk sys/amd64/include sys/conf sys/modules usr.sbin
Date: Sat, 19 Jan 2013 04:18:52 +0000 (UTC)
Sender: owner-svn-src-all@freebsd.org

Author: neel
Date: Sat Jan 19 04:18:52 2013
New Revision: 245652
URL: http://svnweb.freebsd.org/changeset/base/245652

Log:
  Merge projects/bhyve to head.
  
  'bhyve' was developed by grehan@ and myself at NetApp (thanks!).
  
  Special thanks to Peter Snyder, Joe Caradonna and Michael Dexter for their
  support and encouragement.
  
  Obtained from:	NetApp
 
Sobald AMD-V + RVI unterstützt wird werde ich es testen. Ich habe leider keine aktuelle Intel Hardware zum Testen.
 
Back
Top