VMware Virtual Infrastructure - The Ö

VMware Virtual Infrastructure
Jörn Clausen
[email protected]
Produktpalette VMware
• verschiedene Hypervisoren:
– hosted: VMware Server / Workstation / Fusion
– bare metal: ESX / ESXi
• VMware Infrastructure 3:
– ESX(i) + Virtual Center + Infrastructure Client
– Virtual SMP, Update Manager, Consolidated Backup
– VMotion, Storage VMotion
– DRS (Dynamic Resource Scheduler)
– HA (High Availability)
• buzzword für VMI4 vSphere 4.0: Continuous Availability
VMware Virtual Infrastructure
2/19
VMware Infrastructure
VI Client
VI Client
VM
VM
VMware Virtual Infrastructure
VM
VM
Console
Console
ESX
ESX
Virtual
Center
3/19
Administration
• Benutzerverwaltung durch
– ESX-Server (Unix-Accounts)
– Virtual Center (Windows-Benutzer)
– Active Directory
• Zuordnung von Rechten zu Rollen
• Zuweisung von Rollen an Benutzer/Gruppen
• Partitionierung des ESX-Clusters in Resource Pools
• Zuweisung von CPU- und Speicher-Anteilen
VMware Virtual Infrastructure
4/19
Architektur ESX(i)-Server
VMware Tools
Guest
Guest
Operating
Operating
System
System
Service
Console
Virtual Machine
VMkernel
Monitor (VMM)
Hardware Interface Layer
x86 Hardware
VMware Virtual Infrastructure
CPU
Memory
Disk
Network
5/19
Virtualisierung der CPU
• kernel und userland verteilen sich auf Ringe
• Hypervisor verdrängt Gast-Betriebssystem in höheren Ring
Ring 3
App
App
App
App
App
App
Ring 2
Ring 1
Ring 0
Guest OS
OS
VMM
• klassischer Virtualisierungsansatz: trap and emulate
• kritische Instruktion löst trap aus, der von VMM abgefangen wird
VMware Virtual Infrastructure
6/19
Virtualisierung der x86-CPU
• 17 kritische Instruktionen
– lösen keinen trap aus
– haben in Ring 6= 0 andere Semantik
• Lösungen:
– Paravirtualisierung
– Änderung der x86-Architektur: Ring -1“ (Intel VT, AMD-V)
”
Ring 3
App
App
App
Ring 2
Ring 1
Ring 0
Root Mode
Guest OS
VMM
– VMware: binary translation
VMware Virtual Infrastructure
7/19
binary translation
• Abfolge von x86-Anweisungen wird in translation units aufgeteilt
• Überprüfung auf kritische Instruktionen und Speicherzugriffe
• modifizerter Code wird in translation cache abgelegt
• Übersetzung ist lazy:
– bestimmte Teile werden eventuell nie übersetzt (z.B. Fehlerbehandlung)
– häufig verwendete Teile lassen sich gut cachen
• selbstmodifizierender Code? Vorläufer Embra:
– Überwachung des Speichers mit Original-Code auf Schreiboperationen
– komplette Löschung des translation cache bei Änderung
• andere Beispiele für BT: Virtual PC/VirtualBox, JVM, Transmeta Crusoe
VMware Virtual Infrastructure
8/19
Virtualisierung der Festplatte
• innerhalb der VM: SCSI-Controller (LSI oder BusLogic) mit Festplatten
• Virtual Machine Disk Format (VMDK)
– snapshots durch copy-on-write
– Dateien innerhalb eines Wirts-Filesystems
• NFS oder VMFS
• Virtual Machine File System (VMFS)
– lokale Festplatten, Fibre Channel oder iSCSI
– optimiert für große Dateien
– gleichzeitiger Zugriff durch mehrere ESX-Server
• Raw Device Mapping
• NAS/SAN ermöglicht einfache Migration einer VM
VMware Virtual Infrastructure
9/19
Speicherverwaltung ohne Virtualisierung
Process 1
Operating System
Process 2
page table
virtual memory
...
...
TLB
physical memory
VMware Virtual Infrastructure
swap
10/19
Speicherverwaltung mit Virtualisierung
Process 1.1
virtual memory
physical memory
machine memory
Process 1.2
Guest OS 1
Process 2.1
Process 2.2
...
...
...
Guest OS 2
page table
page table
...
virtual
swap
virtual
swap
swap
• machine memory nicht unbedingt Summe der physical memories
• page sharing
• double paging problem: swapping des VMM möglichst vermeiden
VMware Virtual Infrastructure
11/19
Speicherverwaltung VMware
• derzeit nicht möglich: dynamische Änderung des physikalischen Speichers
• ballooning
– via VMware Tools wird Speicher innerhalb der VM alloziert
– Gast-Bestriebssystem beginnt, Speicher auszulagern
– freigewordener Speicher kann anderen VMs zugewiesen werden
– Verkleinerung des Ballons, wenn Speicher wieder ausreicht
• idle memory tax
– tatsächliche Speichernutzung wird durch provozierte page faults ermittelt
– unbenutzter Speicher wird per ballooning zurückgefordert
VMware Virtual Infrastructure
12/19
Virtualisierung des Netzwerks
• innerhalb der VM: AMD Lance PCNet32, Intel E1000 oder vmxnet
• in der Virtual Infrastructure: vSwitch
• Verbindung von VMs untereinander
• Verbindung von VMs mit physikalischen NICs des ESX-Servers
• NIC teaming
• VLAN tagging
Console
VM2
nic0
vSwitch 2
nic1
Console
VM1
VM2
VM3
VM4
VMware Virtual Infrastructure
vSwitch 3
nic2
VM4
vSwitch 2
VLAN 2
VM3
vSwitch 1
VLAN 1
VM1
vSwitch 1
nic0
nic1
nic2
13/19
VMotion
• Live-Migration einer VM zwischen zwei ESX-Servern
• Voraussetzungen:
– identisches Storage-Backend auf beiden ESX-Servern
– identische Netzwerk-Konfiguration auf beiden ESX-Servern
– (gleiche Prozessoren in beiden ESX-Servern)
• empfohlen: dediziertes Migrations-Netzwerk
• Ausfallzeit typischerweise unter einer Sekunde
• sollte innerhalb der Toleranz von üblichen Protokollen liegen
• technische Voraussetzungen für ständige Schatten-Kopie einer VM
VMware Virtual Infrastructure
14/19
VMotion, cont.
Transfer aller Seiten
Transfer veränderter Seiten
...
...
Wiederholung, bis stabiler Zustand erreicht
Stopp der Quell-VM
Transfer von working set“ und Meta-Daten
”
Start der Ziel-VM
VMware Virtual Infrastructure
15/19
Demonstration
VMware Virtual Infrastructure
16/19
Berichte von der Front
• snapshots und Migrations-Techniken
• weitere Leistungseinbußen durch snapshots
• virtuelles SMP
• Delegation von Rechten an Kunden“
”
• Fazit: Überlege Dir ein Betriebskonzept!!!
VMware Virtual Infrastructure
17/19
Literatur
• VMware Infrastructure 3 Documentation
http://www.vmware.com/support/pubs/vi pages/vi pubs 35u2.html
• VMware ESX Server 2 – Architecture and Performance Implications
http://www.vmware.com/pdf/esx2 performance implications.pdf
• Security Design of the VMware Infrastructure 3 Architecture
http://www.vmware.com/pdf/vi3 security architecture wp.pdf
• Understanding Full Virtualization, Paravirtualization, and Hardware Assist
http://www.vmware.com/files/pdf/VMware paravirtualization.pdf
• A Comparison of Software and Hardware Techniques for x86 Virtualization
http://www.vmware.com/pdf/asplos235 adams.pdf
• Analysis of the Intel Pentium’s Ability to Support a Secure Virtual Machine Monitor
http://www.usenix.org/events/sec2000/robin.html
• Embra: Fast and Flexible Machine Simulation
http://www.cs.utexas.edu/users/witchel/pubs/SIGMetrics96-embra.pdf
• Virtualizing I/O Devices on VMware Workstations’s Hosted Virtual Machine Monitor
http://www.usenix.org/publications/library/proceedings/usenix01/sugerman.html
VMware Virtual Infrastructure
18/19
Literatur, cont.
• Memory Resource Management in VMware ESX Server
http://www.usenix.org/publications/library/proceedings/osdi02/tech/waldspurger.html
• The Role of Memory in VMware ESX Server 3
http://www.vmware.com/pdf/esx3 memory.pdf
• VMware Virtual Networking Concepts
http://www.vmware.com/files/pdf/virtual networking concepts.pdf
• Fast Transparent Migration for Virtual Machines
http://www.usenix.org/events/usenix05/tech/general/nelson.html
• Live Migration of Virtual Machines
http://www.usenix.org/events/nsdi05/tech/clark.html
• Xen und VMware ESX: Sicherheitsprobleme in x86-Virtualisierungsumgebungen
Best Practice #24: Absicherung von VMware ESX Servern
http://www.gai-netconsult.de/de/download/security/secjournal/index.html
VMware Virtual Infrastructure
19/19