Red Hat Enterprise Virtualization Technologie KVM Milan Zelenka, RHCE Enlogit s.r.o.
Část 1
Virtualizace obecně
Virtualizace ●
Systém umožňující využívat jeden zdroj pro více systémů
●
Hardware jako zdroj výkonu (Hypervisor)
●
Jednotlivé servery jako virtuální instance +
Efektivnější využití kapacit serverů
+
Dynamické přidělování výkonu
+
Škálovatelnost
Proč nemohu virtualizovat? ●
Vysoké nároky na I/O operace –
●
Vysoké nároky na latenci systémů –
●
Databázové systémy Zvýšená odezva způsobená virtualizační vrstvou
Limitované možnosti škálování virtuálního prostředí –
Omezená škálovatelnost virtuálního prostředí např. max 4 CPU, atd...
Proč nemohu virtualizovat? ●
Vysoké nároky na I/O operace –
●
Vysoké nároky na latenci systémů –
●
●
Zvýšená odezva způsobená virtualizační vrstvou
Limitované možnosti škálování virtuálního prostředí –
●
Databázové systémy
Omezená škálovatelnost virtuálního prostředí např. max 4 CPU, atd...
Tato mínění vznikla na základě zkušeností s první generací x86 virtualizace KVM dokáže poskytnout až 98% bare metal výkonu
Generace x86 virtualizace
VM
VM
VM
Binary translation
2. Generace Para-virtualizace
Domain 0
1. Generace Softwarová emulace HW
VM
VM
3. Generace Hardwarová virtualizace
VM
VM
VM
Hypervisor
Hypervisor
Linux
KVM
x86
x86
x86
VT
PV Driver
PV Kernel
Část 2
Hypervisor KVM
Kernel-based Virtual Machine ●
Dělá z Linuxu Hypervisora –
●
●
Využívá hardwarové podpory virtualizace (CPU) –
3. generace
–
Intel VT-x / AMD-V
–
Již není třeba speciální kernel hostů a hostitelů
Kernel modul –
●
nač vyvíjet jádro, když lze použít stabilní Linux
/dev/kvm
2006 - součást Linux mainstream kernelu
Vlastnosti KVM ●
Běžné vlastnosti hypervisoru –
Virtualizace platforem i386 a x64
–
Hot-plug, PCI Pass-through
–
Vysoká škálovatelnost: ●
●
●
Hostitel: 96 cores, 1 TB RAM, Host: 16 vCPU, 256 GB RAM
Pokročilé vlastnosti KVM –
Kernel Same-Page Merging (KSM)
–
Modulární paravirtualizace - VirtIO
–
Thin Provisioning
–
Živá migrace
Vlastnosti získané díky spojení s Linuxem –
SELinux
–
Power management
–
LVM, Multipath, bonding, ...
Kernel Same-Page Merging ●
Hledá stejné paměťové stránky virtuálních systémů
●
Fyzicky uchovává pouze jednu read-only kopii
●
V připadě změny vytvoří read-write kopii na vyžádání VM
●
U serverů běžně kolem 150% over-commit
Thin provisioning ●
Alokuje pouze tolik prostoru kolik skutečně využije
●
Lepší využití diskové kapacity
●
Snižuje náklady na storage
●
Možné využití na uložištích NFS, iSCSI a Fiber Channel
Modulární paravirtualizace ●
Emulace hardware v UserSpace přináší velký overhead
●
Paravirtualizované ovladače
●
●
–
Bloková zařízení
–
Síťové rozhraní
Projekt VirtIO –
Framework a sada ovladačů
–
Použitelné pro jakýkoliv hypervisor
–
Ovladače pro Linux součástí upstream kernelu
–
Ke stažení certifikované ovladače i pro MS Windows
Vysoký výkon, nízký overhead
Podpora hostovaných systémů ●
KVM podporuje mnoho x86 operačních systému jako host –
●
Linux, Windows, BSD, Darwin, GNU/Hurd, MS-DOS, Plan 9, etc
Red Hat součástí programu Microsoft Server Virtualization Validation Program (SVVP) –
Certifikace pro RHEL 5.4 and RHEV-H
–
WHQL certifikace VirtIO ovladačů
Bezpečnost ●
Spojení KVM + SELinux –
●
Vnější ochrana a izolace virtuálních strojů
Projekt sVirt –
Sub-projekt komunity SELinux
–
“Hardened” hypervisor
–
Víceúrovňová ochrana
–
Izolace hostů
Část 3
Benchmarks
Oracle ●
OLTP Workload
●
Oracle 10g
●
RHEL 5.3 guest
●
RHEL 5.4 host
●
●
Intel Xeon W5580 NEHALEM 90-93% výkonu fyzického stroje
Microsoft Exchange Server ●
●
●
●
●
●
●
Loadgen workload Microsoft Exchange Server 2007 Microsoft Windows Server 2008 R2 RHEL 5.4 host Intel Xeon W5540 NEHALEM 16 000 uživatelů Scale-out přináší nižší latenci
SAP ●
SAP Linuxlab Certification Suite (SLCS) 2.3
●
SAP ECC 6
●
MAXDB 7.6
●
RHEL 5.4 guest
●
RHEL 5.4 host
●
●
Intel Xeon W5570 NEHALEM až 95% výkonu fyzického stroje
LAMP ●
LAMP Apps: Apache PHP MySQL
●
RHEL 5.4 guest
●
RHEL 5.4 host
●
●
Intel Xeon W5580 NEHALEM až 139% výkonu fyzického stroje
KONEC
Milan Zelenka, RHCE