Virtualisierung Flashcards
Was ist Virtualisierung?
Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Rechensystems
zusammenzufassen oder aufzuteilen.
Wo/Was wird virtualisiert?
System/Hardware:
Hypervisor, Paravirtualisierung, Emulation, HW-Partitionierung IBM LPAR (Logical Partition)
Prozessor:
HyperThreading, IntelVT, AMD-V
Betriebssysteme:
Container (Jail), Zoning,
Anwendungen:
Laufzeitumgebung, Sandbox, portable Anwendungen
Desktop:
Terminaldienste, Thin Clients
Rechenzentrum:
Cloud-Computing, Software Defined Datacenter (SDDC)
RAM:
Virtuelle Speicherverwaltung ab 80386-CPU, Auslagerungsdatei
Festplatte:
Partition, Volume, Datei, Verzeichnis, Windows Bibliothek
Storage:
Speichervirtualisierung (NAS und SAN), RAID, Volume Manager
Netzwerk:
VLAN, VPN, Software Defined Networking (SDN)
was ist Zoning?
Bei einem SAN (Storage Area Network) meint man mit Zoning die Zuweisung von Ressourcen für das Load Balancing
Was ist Load Balancing? (extraaufgabe wenn fertig)
Nenne Gründe für die Virtualisierung von Rechensystemen:
- bessere Ausnutzung der Hardware (Ressourcen einsparen, Kosten senken)
- vereinfachte Bereitstellung
- maximale Flexibilität (einfaches Kopieren von Virtuellen Maschinen (VMs), erstellen von Snapshots)
- höhere Sicherheit durch stärkere Trennung der Systeme untereinander
- Optimierung von Software-Tests und Software-Entwicklung
- Unterstützung alter (legacy) Systeme und Anwendungen (legacy engl. Erbe, Altlast)
was ist eine VM?
eine Virtuelle Maschine ist ein Nachgebildeter, simulierter Rechner, der auf einem realen Rechner (=Host) läuft und über alle Ressourcen (CPU,RAM, HDD,…) eines vollwertigen Rechners verfügt.
was ist Nested Virtualisation?
Verschachtelte Virtualisierung: in einer VM läuft eine weitere VM
Nachteile von Virtuellen Maschinen?
- VMs bieten eine geringere Performance
- nicht jede Hardware kann virtualisiert werden (Grafikprozessoren, Hardwaredongles)
- Virtualisierung kann ein Single Point of Failure sein VM-Host down? -> viele VMs down
- Virtualisierung ist kompliziert
Aufbau von Betriebssystemen in welche zwei Bereiche wird es eingeteilt? und für was sind diese zuständig?
Prozessbereich:
Anwendungsbereich, user mode, user space, userland
erbringt die eigentliche FUnktionen des BS
Kernbereich:
kernel mode, kernel space
stellt die erforderliche Infrastruktur für Prozesse zur Verfügung
Was machen CPU-Ringe?
Und ab welcher CPU gibt es sie?
- Bezeichnen Priveligierungs- bzw. Sicherheitsstufen von Prozessen
- schränken nutzbare Befehle und Speicherbereiche ein
- erlauben Abschottung von Prozessen
- bieten definierte Übergänge (API)
Ab CPU 80286
Welche CPU-Ringe gibt es? nenne für Windows/Linux Systeme ohne Virtualisierung und Windows/Linux Systeme mit Virtualisierung
Windows/Linux ohne Virtualisierung:
Ring 0 Kernbereich (kernel space, kernel-mode)
Ring 3: Prozessbereich (user space, Userland)
Windows/Linux mit Virtualisierung:
Ring 0: Hypervisor
Ring 1: Kernbereich (kernel space, kernel-mode)
Ring 3: Prozessbereich (user mode, Userland)
welche Konzepte der Systemvirtualisierung gibt es?
Emulation (Gameboy)
Applikations-Virtualisierung z.B. (Schleupen o. Citrix)
Betriebssystem-Virtualisierung (z.B. altes Windows)
Level 2 Virtualisierung
Level 1 Virtualisierung
Was passiert bei der Emulation?
Bei der Emulation wird die komplette Hardware eines Rechnersystems nachgebildet,
um so einem Betriebssystem, das für eine andere Hardwarearchitektur ausgelegt ist, den Betrieb zu ermöglichen. Emulatoren haben eine geringe Performance!
Emulator Beispiele: Qemu, Rosetta, DOSBox
Was ist Applikations/Anwendungs-Virtualisierung?
Hier werden Anwendungen in einer sog. Laufzeit-Umgebung (Runtime Environment) ausgeführt, die nur die Komponenten bereitstellt,
welche die Anwendung benötigt.
Wirkt dabei wie ein Puffer -> verhindert durch zusätzliche Trennung Konflikte mit anderen Anwendungen.
Betriebssystem-Virtualisierung was macht das?
ermöglicht mehrere voneinander getrennte Prozessbereiche (Userlands) in
einem einzelnen Betriebssystem-Kernel (=Container/Zone/Jail)
Die Betriebssystem-Virtualisierung verfügt über die bestmögliche, fast native
Performance.
Das Ausführen unterschiedlicher Betriebssysteme ist hierbei nicht möglich!
Beispiele: Docker, Virtuozzo, Linux-VServer, OpenVZ, FreeBSD Jail, Solaris Zones
Level 2 Virtualisierung
Bei der Level 2 Virtualisierung werden die Hardwareressourcen des Rechners von
einem Hypervisor (Virtual Machine Monitor, VMM) durch Hardware-Emulation
und/oder Hardware-Virtualisierung intelligent an die virtuellen Maschinen verteilt.
Jedem Gast-Betriebssystem steht so ein eigener virtuellen Rechner mit CPU,
Hauptspeicher, Laufwerken, Netzwerkkarten usw. zur Verfügung.
Vorteile: Kaum Änderungen an Host- und Gast-Betriebssystemen erforderlich,
Zugriff auf die wichtigsten Ressourcen wird nur durchgereicht. Dadurch fast native
Verarbeitungsgeschwindigkeit der Gast-Betriebssysteme, Hohe Flexibilität. Jedes
Gast-Betriebssystem hat seinen eigenen Kernel,
z.B. VMware Workstation/Fusion,
VirtualBox, Virtual PC, Linux Kernel Virtual Machine (KVM), Parallels Desktop for MAC
Level 1 Virtualisierung
Bei der Level 1 Virtualisierung verwenden die virtuell gestarteten Betriebssysteme
einen Hypervisor, der eine Softwareschnittstelle (API, z.B. Virtual Machine Interface -
VMI, VMBus) bereitstellt, um auf gemeinsam benutzte Ressourcen (CPU, RAM, HDD,
Netz usw.) zuzugreifen.
Der Betriebssystem-Kern muss an diese Softwareschnittstelle angepasst sein um
auf der VM ausgeführt werden zu können (Paravirtualisierung). Die Anpassung
vereinfacht den Aufbau der VM und ermöglicht den darauf ausgeführten VMs eine
höhere Leistung als bei der L2-Virtualisierung.
Beispiele: Xen, VMware ESX, MS Hyper-V, Citrix XenServer.
was ist Paravirtualisierung?
wiki definition:
Paravirtualisierung:
stellt eine Softwareschnittstelle bereit, die ähnlich aber nicht identisch der tatsächlichen Hardware ist.
(Bei Level 1 Virtualisierung eingesetzt)
Der Betriebssystem-Kern wird an die Softwareschnittstelle angepasst (Paravirtualisierung)