====== Virtualisierung ====== ===== Arten der Virtualisierung ===== ==== Hardwarevirtualisierung ==== * Betriebssystem notwendig, Files/LVM-Volumes die das jeweilige Betriebssystem enthalten === KVM / QEMU (libvirt) === * Gast läuft mit fast nativer Geschwindigkeit * Prozessor muss Hardwarevirtualisierung unterstützen * QEMU kann verschiedene Prozessorarchitekturen emulieren * virt-manager zur Verwaltung virt-manager -c qemu+ssh://user@server/system === Citrix XEN === * Hypervisor - ermöglicht die Ausführung mehrerer virtueller Systeme, als wären sie das einzige derzeit laufende System auf dem Server * Sollte mit Hauptprozessor mit der Befehlssatzerweiterung Secure Virtual Machine benutzt werden für vollständige Transparenz * Paravirtualisiert: Nicht das gesamte System wird emuliert. Der Gast kommuniziert über Xen Schnittstellen mit der Hardware * Betriebssyteme müssen angepasst werden. Schwierig für Windows. Kein Geschwindigkeitsvorteil bei Windows * Lizenz: GPL * Eigenschaften laut web: ausgereift, stabil, leistungsstark === VMware ESXi === * Baremetal Hypervisor, verwendet Linux Kernel * langsame Bootzeit * sehr einfach zu verwendet * Basisversion kostenlos nutzbar * [[https://youtu.be/tVsepuLiXK8 | Einrichtungsanleitung für ESXi]] * [[https://www.youtube.com/watch?v=75RBXp8VyvY&list=PLnzEbgyK52Gtp9qsx_JyyNQglG_DLRC4h | Noch eine]] * Erst sinnvoll mit vCenter Server * Essentials Kit * relativ teuer * erlaubt mehrere Hosts, Cluster etc. * Essentials Kit Plus * Noch teurer * High Availability Features * vMotion: VMs zwischen Hosts verschieben ohne Downtime * [[https://youtu.be/gdwZb17H0t8 | Einrichtungsanleitung für vCenter]] Achtung! Diese Videos zeigen nur wie die Einrichtung funktioniert. Bitte übernehmt nicht alles blind! === Proxmox Virtual Environment === * Verwaltung virtueller Maschinen über Webinterface auf Basis von Debian 9 * Sowohl für Hardwarevirtualisierung als auch LXC geeignet * [[https://pve.proxmox.com/wiki/Documentation|Proxmox VE Doku]] ==== Container (Docker, LXC, jails, ...) ==== * weniger Overhead, gleicher Kernel wird verwendet und Dateisystembaum kann direkt eingebunden werden * läuft auf OS-Level * geringere CPU / RAM Auslastung als VM * erstellt Userverzeichnisse (web: ähnlichCitrix XenApp -> User nutzen alle das gleiche OS(mit eigener Instanz z.B. persönliche Sandbox)) * Keine Festplattenimages notwendig, Filesystem kann direkt eingebunden werden * sehr schnelle Bootzeit * anfälliger durch Attacken von anderen Containern, da diese auf gleichen Kernel laufen * einfache Verwaltung (Docker) * LXC [[https://stgraber.org/2013/12/20/lxc-1-0-blog-post-series/]] * Docker [[https://docker-curriculum.com]]