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
© Copyright 2025 ExpyDoc