Benutzer-Werkzeuge

Webseiten-Werkzeuge


virtualisierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
virtualisierung [2021-05-15 14:28:42] – [VirtualBox] manfredvirtualisierung [2022-05-01 17:33:22] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== Virtualisierung ======
 +
 +  * Container-Virtualisierung
 +    * [[::LXC]]
 +    * [[::Docker]]
 +    * [[::FreeBSD:Jail]]
 +    * [[::Wine]]
 +      * [[https://usebottles.com/]]
 +  * Voll-Virtualisierung
 +    * [[::KVM]]
 +    * [[::freebsd:FreeBSD - Bhyve]]
 +    * [[::FreeBSD:VirtualBox]]
 +  * HyperVisor-Frame-Work
 +    * [[::libvirt]] - //wer XML mag...//
 +    * [[https://vmrc.bsd.lv/|vmrc]]
 +
 +[[http://de.wikipedia.org/wiki/Virtualisierung_%28Informatik%29|Virtualisierung (Informatik)]]
 +
 +CPU-Virtualisierung: Intels Vanderpool (Prozessorflag //vmx//) oder AMDs Pacifica (Prozessorflag //svm//)
 +
 +AMD-V (Virtualisierungstechnik //Pacifica//) ist seit Juni 2006 Bestandteil der Athlon-64-Prozessoren  (ab //Windsor//-Kern / Sockel //AM2//), der Turion-64-Prozessoren  (nur Sockel //S1//), der Opteron-Prozessoren (Sockel //AM2// und Sockel //F//) und der Phenom-Prozessoren.
 +siehe: [[http://de.wikipedia.org/wiki/AMD_Virtualization]]
 +
 +Hat man einen Intelprozessor mit Core-Architektur, ist die Wahrscheinlichkeit recht groß, dass man eine CPU mit Hardware-Virtualisierung besitzt.
 +Leider kann man bei Intel an der Modellbezeichnung nicht direkt erkennen ob Hardware-Virtualisierung unterstützt wird, da es zu viele Ausnahmen gibt.
 +siehe: [[http://de.wikipedia.org/wiki/Intel_VT]]
 +
 +Bei Intel hat die Hardware-Virtualisierung einen kleinen Schönheitsfehler.
 +Aus Historischen und Kompatibilitätsgründen muss bei Intel die Speicherzugriffstabelle für alle Prozesse sichtbar sein,
 +das hat zur Folge, dass es theoretisch möglich ist, dass eine VM eine andere VM zum Absturz bringen kann!
 +
 +Ob Ihr Prozessor die Hardware-Virtualisierung unterstützt, können sie an den Prozessorflag erkennen.
 +Das [[Hardwareerkennungsskript]] überprüft auch dieses.
 +
 +**Allerdings ist zu beachten, dass die Hardware-Virtualisierung bei einem neu gekauften Rechner im BIOS immer abgeschaltet ist!**
 +Diese Option muss also erst eingeschaltet werden.
 +
 +  * [[http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Grundlagen]]
 +
 +
 +===== GPU Passthrough =====
 +
 +siehe: [[::QEMU+KVM]]
 +
 +
 +===== Prozessvirtualisierung / Container =====
 +
 +Typische Vertreter dieser Kategorie:
 +  - Solaris-Zones
 +  - BSD-Jails
 +  - OpenVZ
 +  - Linux-VServer.
 +  - LinuX Containers ([[LXC]])
 +
 +
 +==== BSD jails ====
 +
 +CPU-Virtualisierung wird nicht benötigt.
 +
 +  * [[http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/jail.html]]
 +  * [[http://docs.freebsd.org/44doc/papers/jail/jail.html]]
 +  * [[http://sysjail.bsd.lv/]]
 +
 +
 +==== OpenVZ (Virtuozzo / Proxmox) ====
 +
 +CPU-Virtualisierung wird nicht benötigt.
 +
 +//Linux-VServer// ist etwas ähnliches, hinkt in der Entwicklung mittlerweile aber hinter //OpenVZ// her.
 +
 +  * [[http://wiki.openvz.org/]]
 +  * [[http://de.wikipedia.org/wiki/OpenVZ]]
 +  * [[http://www.pro-linux.de/berichte/interview-openvz.html]]
 +  * [[http://webvz.sourceforge.net/|Web-GUI für OpenVZ]]
 +  * [[http://vzlayer.com/techs.html|Provider auf OpenVZ-basis]]
 +  * [[http://de.wikipedia.org/wiki/Parallels_Workstation]]
 +  * [[http://www.parallels.com/de/products/desktop/pd4wl/sr/]]
 +
 +
 +==== LXC (LinuX Containers) ====
 +
 +  * [[http://www.weidner.ch/pub/Virtualisierung_LinuxWSKoeln_2010.pdf]]
 +
 +  - Container: isolierte Umgebung innerhalb des Systems
 +  - Minimal: Isolation von Filesystem, Prozessliste und IPC
 +  - Optional: CPUsets, Load, max. Memory
 +  - System- oder Anwendungscontainer
 +  - verfügbar seit Kernel 2.6.27, volle Funktionen seit 2.6.29
 +
 +  * [[http://www.zdnet.de/plattformen_einfuehrung_containervirtualisierung_mit_lxc_story-39002361-41533156-1.htm]]
 +
 +LinuX Containers ([[LXC]]) ist zwar nicht so ausgereift wie OpenVZ, aber dennoch eine leistungsfähige Lösung, wenn es um das Erstellen virtueller Container geht.
 +Der Nachteil von OpenVZ ist jedoch, dass es nicht im Mainline-Kernel enthalten ist. Das bedeutet, dass man einen Kernel aus dem OpenVZ-Projekt verwenden muss. Dies muss nicht unbedingt ein Problem darstellen, es sei denn, man führt eine nicht unterstützte Linux-Distribution aus. Zudem darf man sich nicht daran stören, dass Upstream-Sicherheitsfixes erst mit einer gewissen Verzögerung ankommen.
 +
 +  * [[http://forum.computerbild.de/pc-hardware/netzwerk-server-sehr-viele-fragen_85580.html]]
 +  * [[https://wiki.ubuntu.com/ContainersSpec]]
 +  * [[http://lxc.teegra.net/]]
 +  * [[http://www.ibm.com/developerworks/linux/library/l-lxc-containers/]]
 +  * [[http://www.ibm.com/developerworks/linux/library/l-lxc-security/index.html]]
 +  * [[http://manpages.ubuntu.com/manpages/karmic/man5/lxc.conf.5.html]]
 +  * [[http://www.stgraber.org/category/lxc]]
 +  * [[http://lxc.sourceforge.net/]]
 +
 +
 +===== Paravirtualisierung =====
 +
 +  * [[http://www.pro-linux.de/artikel/2/print/1493/virtualbox-und-kvm.html]]
 +
 +
 +==== KVM ====
 +
 +CPU-Virtualisierung ist für den Betrieb zwingend erforderlich.
 +
 +KVM/QEMU wird z.Z. am besten von Linux und [[https://www.illumos.org/|IllumOS]] unterstützt und ist momentan die beste freie Virtualisierungslösung. [[FreeBSD]] unterstützt z.Z. nur [[VirtualBox]] (früher ''QEMU'') vernünftig.
 +  * [[http://de.wikipedia.org/wiki/Kernel-based_Virtual_Machine]]
 +  * [[http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_QEMU_unter_BSD]]
 +  * [[http://www.linux-kvm.org/page/BSD]]
 +  * [[http://qemu-buch.de/|QEMU, Kernel-based Virtual Machine (KVM) & libvirt]]
 +
 +Bestandteile der [[KVM]] sind die Kernel-Module  kvm.ko (das aber auch unter älteren Linux-Versionen laufen soll) sowie die hardwarespezifischen Module kvm-intel.ko oder kvm-amd.ko. KVM selbst nimmt keine Emulation vor, sondern stellt nur die Infrastruktur dazu bereit; ein modifiziertes QEMU ist derzeit die einzige Möglichkeit, diese zu nutzen. Nach dem Laden des Moduls arbeitet der Linux-Kernel selbst als Hypervisor  für virtuelle Maschinen. Als Gastsysteme unterstützt KVM Linux (32 und 64 Bit), Windows (32 und 64 Bit), Haiku OS, AROS, ReactOS, FreeDOS, Solaris und diverse BSD-Derivate. KVM läuft auch auf SMP-Hostsystemen, SMP-Gastsysteme sind ebenfalls möglich. Die Unterstützung für Paravirtualisierung ist mittlerweile in KVM vorhanden.
 +
 +
 +==== VMware (ESX) ====
 +
 +VMware mag ich nicht!
 +Es soll hier nur der Vollständigkeit wegen genannt werden, immerhin ist es ein "Klassiker" mit eigener Virtualisierungstechnik (Full Virtualization with Binary Translation).
 +
 +  * [[http://de.wikipedia.org/wiki/VMware_Workstation]]
 +  * [[http://qemu-buch.de/d/Anhang/_Weitere_Virtualisierer_und_Emulatoren/_VMware-Workstation]]
 +
 +
 +==== XEN ====
 +
 +CPU-Virtualisierung beschleunigt die VMs.
 +
 +XEN wird von Linux, NetBSD und [[http://wiki.freebsd.org/FreeBSD/Xen|FreeBSD]] unterstützt.
 +
 +Zur Zeit kann man hier nur das CD-Image von der Webseite benutzen,
 +das manuelle einrichten ist ein Grauß!
 +  * [[http://www.cl.cam.ac.uk/Research/SRG/netos/xen/]]
 +
 +
 +==== oVirt ====
 +
 +  * [[http://ovirt.org/about.html]]
 +
 +oVirt is a virtualization management framework constisting of a small host image, the oVirt Node, that provides the libvirt  service to host virtual machines, and a robust vm management software stack, controlled by a web-based management interface, the oVirt Server. This stack provides pxe and other automated vm boot / appliance solutions; various vm operations, task, vnc, and other access; and a secure authentication based on freeIPA.
 +
 +  * [[http://forum.ubuntuusers.de/topic/ovirt-wer-kennt-diese-virtualisierung/]]
 +
 +
 +===== Native Virtualization =====
 +
 +Bekannte Vertreter dieser Virtualisierungsmethode sind VirtualBox, VMware-Player, VMware-Server, VMware-Workstation und Parallels Desktop/Workstation. Die Ausführungsgeschwindigkeit der Gast-Systeme ist bei dieser Methode hoch.
 +
 +
 +==== VirtualBox ====
 +
 +[[::FreeBSD:VirtualBox]] ist eine Emulationssoftware, die mit grafischer Oberfläche für den Desktop besonders gut geeignet ist und recht gut funktioniert. Es gibt jedoch auch die Möglichkeit, VirtualBox von der Kommandozeile aus zu bedienen.
 +
 +
 +==== QEmu/KQemu ====
 +
 +QEMU unterstützt bis zur Version 0.11 den optionalen Beschleuniger KQEMU und damit die Native Virtualization.
 +
 +
 +===== Hardware-Emulation =====
 +
 +
 +==== Bochs ====
 +
 +CPU-Virtualisierung wird nicht benötigt.
 +
 +Bochs ist ein freier x86- und AMD64-Emulator  und Debugger, der den Bedingungen der LGPL unterliegt.
 +
 +Der ist sehr langsam, da hier sogar die (Intel-) CPU emuliert wird und deshalb macht er nur Sinn,
 +wenn man eine andere Architektur emulieren will/muss.
 +An sonsten ist es ein tolles teil, das auch wirklich gut funktioniert.
 +
 +  * [[http://de.wikipedia.org/wiki/Bochs]]
 +  * [[http://bochs.sourceforge.net/]]
 +  * [[http://www.chris-soft.de/tutorials/bochs/]]
 +
 +
 +==== QEMU+KVM ====
 +
 +CPU-Virtualisierung wird nicht benötigt.
 +
 +QEMU ist einer der ersten freien Emulatoren gewesen, die auch funktioniert haben.
 +Mit KQEMU konnte es auch noch deutlich beschleunigt werden.
 +Jetzt sollte man allerdings auf [[::QEMU+KVM]] umsteigen.
 +
 +  * [[http://de.wikipedia.org/wiki/QEMU]]
 +