
Virtualisierung mit VMware und Co.
Kursinhalt:
Stand: Februar 2009
Virtualisierung im Überblick
"Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Computers aufzuteilen." (Wikipedia)
- Virtualisierung bietet ein großes Potential bei der Erschließung von Ressourcen. Voraussetzung dafür ist eine sorgfältigen Planung.
- Servervirtualisierung wird bereits in vielen Bereichen praktiziert.
- Dadurch wird auch die Virtualisierung auf den Gebieten Storage und Netzwerk vorangetrieben.
- virtualization.info
Ziele
- Serverkonsolidierung
- weniger physische Hardware
- bessere Auslastung der vorhandenen Ressourcen
- Senkung Betriebskosten (Energieverbrauch, Klimatisierung, Stellfläche)
- höhere Verfügbarkeit der Dienste durch HA-Cluster, Lastverteilung
- Provisionierung
- schnelle Bereitstellung neuer Systeme
- Effektivierung des Systemmanagements
- Zentralisierung des Servermanagements
- Homogenität der Gastsysteme
- Sicherheit
- Isolierung von Diensten
Die Technik im Überblick
aus Sicht des Gastsystems
Hardware-Emulation:- VM emuliert die komplette Hardware eines Systems
- Architektur der VM muss nicht mit der Architektur des Wirtssystems identisch sein
- unmodifizierte Gastbetriebssysteme
- Bochs
(volle Virtualisierung)
- Teile der Hardware eines Systems werden emuliert (Netzkarte, Grafik, usw.)
- Architektur von VM und Wirt sind identisch
- unmodifizierte Gastbetriebssysteme
- VMware, VirtualBox
- keine virtualisierte Hardware
- nur angepasste Wirts- und Gastbetriebssysteme
- XEN
aus Sicht des Wirtssystems
Type 1 Hypervisors- Hypervisor läuft direkt auf Hardware (bare-metal)
- typischer Vertreter:vSphere Hypervisor, XEN, Microsoft Hyper-V
- auf der Hardware läuft ein konventionelles Betriebssystem
- Hypervisor als Applikation
- Vertreter: VMware Workstation, VirtualBox
- vergleichbar mit Type 1 Hypervisors
- native I/O, keine emulierten Geräte
- shared address space
- Blue Pill Rootkit
Das Ring-Konzept (CPU)
Der Ring (auch Domain) beschreibt eine Privilegierungsschicht innerhalb der Betriebssystemprogrammierung.
CPU Ring Schema (Quelle: Wikipedia)
- Ring 0 - Kernel Mode
- Ring 1-3 - User Mode
Bei virtualisierten Betriebssysteme wie XEN läuft im Ring 0 der sogenannte Hypervisor (auch als Dom0 bezeichnet). Dieser verwaltet die im Ring 1 laufenden Kernel (auch als DomU bezeichnet). VMware (Player, Workstation, Server) und VirtualBox setzen einen sogenannten VMM (Virtual Machine Monitor) im Kernel des Wirtssystems ein, um Zugriffe der Gastsysteme auf CPU und Speicher zur physischen Hardware umzusetzen. Zugriffe z.B. auf Netzinterfaces, Festplatten, usw. werden durch das Wirtsbetriebssystems abgewickelt. Damit obliegt die Unterstützung der physischen Hardware dem Wirtsbetriebssystem.
Virtuelle Maschine - VM

virtuelle Hardware (Quelle: VMware Inc.)
- CPU
- Ausführen der Befehle der VM auf der realen CPU
- VMM fängt kritische Befehle ab (hardwarenahe Befehle)
- Prozessorvirtualisierung (AMD-SVM, Intel VT) realisiert die Abgrenzung zwischen VM und VMM
- Speicher
- VMM verwaltet den Speicher der VM (Shadow - oder Nested Page Tables; Paravirtuell - direkter, lesender Zugriff)
- Ballooning zur dynamischen Belegung und Freigabe des Speichers in der VM (Kommunikation zwischen VMM und Ballooning-Treiber)
- HDD, Floppy, CDROM*
- Emulation des I/O-Controllers
- als Image im Filesystem des Wirtes oder physische Partition
- Netzwerkinterface
- Emulation der NIC(s)
- optimierter Treiber für Gastsystem
- verschiedene Netzwerkszenarios:
- Bridged, NAT, Host only,
- virtuelle Switches
- Grafik
- Emulation der Hardware
- optimierter Treiber für Gastsystem
- I/O
- Emulation der Hardware
- Seriell, Parallel, USB
- exklusive Bindung an physische Gerät, Files oder Pipes
Einsatzszenarien
auf dem Desktop
- für die Ausführung weiterer Betriebssysteme auf leistungsstarken Desktopsystemen
- Speicherausstattung, Multicore CPU !
VMware Player (frei)
- Betrieb vorkonfigurierter virtueller Gastsysteme auf Desktops (Linux, Windows)
mittels VMware Player ist die Erstellung/Konfiguration virtueller Gastsysteme nicht möglich! - Öffnen virtueller Maschinen von Drittanbietern möglich
- Nutzung lokaler Komponenten wie Floppy, CDROM, USB
- verschiedene Netzwerkszenarios (Host-only, Bridged, NAT)
- Shared Folder für Datenaustausch mit Wirtssystem (alternativ Sambaserver),
- Copy & Paste, Drag & Drop von Files durch VMware Tools
- Unity View seamless Darstellung von Applikationen der VM auf Desktop
- Shrink Disk durch VMware Tools
VMware Workstation ($)
- Erstellen und konfigurieren virtueller Gastsysteme
- Snapshot-Technik für Sicherung mehrerer Installationsstufen bzw. Betriebszustände
- 3D-Unterstützung von DirectX? 9.0
- Entwicklung und Evaluierung von Anwendungen
- Recorder für Anweisungen
- Anwendungs-Debugging
- VNC für Remote Konsole
Sun xVM VirtualBox (frei/$)
- Privat, für Evaluierung und Lehrzwecke frei nutzbar
- Open Source Edition als GPL V2
- ohne USB, integriertes RDP, iSCSI, SATA Controller
- Funktionsumfang vergleichbar mit VMware Workstation
- unterstützt Hardwarevirtualisierung der CPU (optional)
- mehrere Generation von Snapshots
- Gastsystem im headless-Mode, VRDP als (remote) KVM-Zugang
- VirtualBox Guest Additions:
- optimierte Treiber (Grafik)
- Kommunikation Wirt - Gast, Copy & Paste, Shared Folder, ...
- Hardware 3D-Beschleunigung für Windows-Gäste (experimental), OpenGL
Server
- dedizierte(r) Server für die Ausführung virtueller Maschinen
- webbasiertes Management
- der/des Server(s) direkt
- des Cluster über Managementhost
- KVM-Zugang (Browserplugin oder als native Anwendung)
VMware Server (frei)
- auf Linux- bzw. Windowsbetriebssystem lauffähig, damit keine Einschränkungen bezüglich Hardwareunterstützung
- webbasiertes Management von jedem Arbeitsplatz möglich
- KVM über Browserplugin bzw. native Anwendung
- Umleitung lokaler Geräte (Floppy, CDROM, kein USB)
- Snapshot-Technik
- in vorhandene Authentifizierungsinfrastruktur einbindbar (Linux, PAM)
- Rollen zur Verwaltung virtueller Maschinen, feingranulierbare Berechtigungsvergabe
- Anwendungsgebiete:
- Entwicklungssysteme
- Evaluierung von Anwendungen
- bedingt zur Serverkonsolidierung geeignet
- AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
- 4 GB RAM
- 240 GB HDD (SATA)
- Scientific Linux 5
- ca. 20 VM-Images verfügbar, ca. 3..6 gleichzeitig aktive VMs
- WindowXP, Windows 2003, Windows Vista, Fedora Linux
- Softwareevaluierung und -Paketbau
- Erprobung Installationstechnologien und Managementwerkzeuge
- Testsysteme
VMwareESX Server ($)
- direkte Installation auf Hardware (angepasster Linuxkernel als VMM)
- VMwareESX: Installation von CD-Image auf lokale Platte oder bootfähige SAN-Partition, Zugang über Managementsystem (RedHat? 3)
- VMwareESXi: Flashspeicher, Manangement über API, VirtualCenter
- beachte Hardwareunterstützung http://www.vmware.com/go/hcl
- Hochverfügbarkeit durch Clustering und redundante Infrastrukturanbindung
- Definition von Ressourcepools, Lastausgleich
- Livemigration ohne Serviceunterbrechung
- Lizensierung je gesockelte CPU, statisch je Host oder floating mit Lizenzmanager
- CPU-Virtualisierung
- Speicher-Virtualisierung
- Überbuchung des Hostmemory möglich
- Storage-Virtualisierung
- VMFS - Clusterfilesystem
- LVM - Logical Volume Manager, Hinzufügen von LUNs zu Volume
- Anbindung an SAN mittels Fibre Channel HBA, iSCSI, ...
- Raw Device Mapping
- Netzwerk-Virtualisierung
- virtualisierte Netzwerkadapter, Standard und optimierte Adapter mit nativen Treibern
- virtuelle Switches
- VLAN-Tagging
- Traffic Shaping
- Anwendungsgebiete:
- Serverkonsolidierung
- 5 Server
- 4 Dual-Core AMD Opteron(tm) Processor 8218
- 64GB RAM
- Fibre Channel QLogic QLA2432
- 2x Gb Ethernet Management, 4x Gb Ethernet Gastsysteme
- über 100 virtuelle Maschinen
- Linux- und Windows 2003-Gäste vom
- Computeserver
- Applikationsserver (Windows Terminalserver)
- Webportale (LAMP)
- Lizenzserver, Keymanagement, Antivirensoftware, ...
- Entwicklungs- und Testsysteme

VMware ESX Schema
VMware Infrastructure VirtualCenter($)
- Managementumgebung zur Verwaltung von VMwareESX-Servern und Gästen
- Windows-Anwendung, betreiben wir als VM
- Lizenzserver
- Datenbankserver (Oracle, MSSQL)
- Webinterface zur Gastverwaltung
- feingranulierbare Berechtigungsvergabe, Rollen zur Verwaltung virtueller Maschinen
Sicherheit?
- Virtualisierung - Sandbox - Trennung von Diensten
- neue Herausforderungen bei der Erarbeitung von Sicherheitskonzepten
- DoS?-Attacke auf VMM
- Ausbruch aus übernommenen Gastsystemen
- Gefahren durch unerkannte/ungewollte Virtualisierung - Erkennung virtualisierter Umgebungen
- SubVirt - VM-Rootkit Universität von Michigan und Microsoft Research
- Blue Pill - AMD SVM/Pacifica Joanna Rutkowska
- Vitirol - Intel VT-x Dino Dai Zovi
Stand und Ausblick
- stabiler Betrieb eines VMwareESX-Cluster - Dienstangebot: VPSH
- Erweiterung des Clusters geplant
- Einsatzmöglichkeiten weiterer Virtualisierungslösungen
- Einsatzanalyse XEN - aktuell durch eine Studienarbeit unterstützt
- VMware Player, Virtual Box - Einsatz auf Desktop
- Desktopvirtualisierung, Thin Clients ?