Virtualizace bez hranic Ondřej Výšek Samostatný konzultant
[email protected]
Virtualization Trends “Pro jaké účely jsou nasazovány nástroje pro virtualizaci – rok 2009” 79%
Test and Development
74%
74%
Production Application Servers
64% 51%
Disaster Recovery Systems
29%
Production Databases
30%
50% 47%
Data/Storage Mgmt Systems
21% 47%
Production Web Servers
47% 45%
End-User Desktops
5% 41%
Production Middleware Systems
26% 0%
20%
40%
60%
Source: Virtualization and Management: Trends, Forecasts, and Recommendations; Enterprise Management Associates (EMA); April 2008
80%
Architektura Hyper-V Parent Partition
Child Partitions
VM Worker Processes
Aplikace
Aplikace
Aplikace
Windows Server 2003, 2008
Non-Hypervisor Aware OS
Aplikace
WMI Provider VM Service
Windows Server 2008 Windows Kernel
VSP
Windows Kernel
VSC
Linux Kernel
IHV Drivers
VMBus
VMBus
Emulation
Windows hypervisor “Designed for Windows” Server Hardware
User Mode
Linux VSC
VMBus
Kernel Mode Ring -1
Jak na správné řešení 1. 2. 3. 4. 5. 6. 7. 8. 9.
Vyberte správný hardware Vytvořte základ AD, DNS, DHCP Jak vysokou dostupnost potřebujete? Vytvořte kvalitní SAN pro HA / live migration Naplánujte nasazení: bare metal, vhd, aplikace? Konsolidujte správu fyzických a virtuálních strojů Jak zálohovat a jak dlouho? Je DR zapotřebí? Jak přistupujete do virtuální infrastruktury? Nějaká omezení? Bude to mít dopad na uživatele? 10. Jak je infrastruktura zabezpečená?
Výzva: Nikdy nepoužívejte GUI pro nasazení produkčního prostředí
Server >> Datacenter >> Cloud
Jak na deployment 4. Kontrola přizpůsobení
3. Nasazení vlastního image
5. Mám připravený vlastní image??
1. Sysprep OS
2. Capture image
2. Úprava sekvence úkolů v MDT
1. Nasazení standardního OS, vlastní přizpůsobení
3. Přidat image do WDS Server
4. Deploy image
Hyper-V a sítě
Typy síťových adaptérů Syntetický adaptér
Emulovaný adaptér
• Žádné fyzické zařízení • Komunikuje přes VMBus přímo k vmswitch.sys • Nepodporuje PXE Boot • Podstatně vyšší výkon oproti Emulovanému • Ovladače pro
• Emulovaný fyzický čipset DEC21140 • Komunikuje pomocí přerušení na vmwp.exe a pak vmswitch.sys • Podporuje PXE Boot • Ovladače téměř pro každý OS
– – – – – – –
Windows Server 2003 SP2 Windows Server 2008 Windows Server 2008 R2 Windows XP Windows Vista Windows 7 Linux (SLES 10, 11). RHEL 5.x
Síťová architektura Virtuální stroje
Application
Application
Application
(Ports/Sockets etc…)
(Ports/Sockets etc…)
(Ports/Sockets etc…)
TCP/IP
TCP/IP
TCP/IP
(tcpip.sys)
(tcpip.sys)
(tcpip.sys)
Synthetic Virtual NIC
Emulated Virtual NIC
Host Virtual NIC
(netvscXXsys)
(dc21x4vm.sys)
(vmswitch.sys)
Kernel Level IOCTLS Tcpip.sys<->NIC Driver
Kernel Level IOCTLS Tcpip.sys<->NIC Driver
Kernel Level IOCTLS Virtual Switch
Vmswitch.sys<->NIC Driver
(vmswitch.sys)
Physical NIC (Intel/Broadcom etc…)
Network
Kernel Level IOCTLS Tcpip.sys<->NIC Driver
Layer 2 – Network Traffic… MAC xx:xx:xx:xx:xx:xx <-> MAC xx:xx:xx:xx:xx:xx
Pozor na Teaming • Není podporované Microsoftem – KB968703: Microsoft Support Policy For NIC Teaming with Hyper-V – “Since Network Adapter Teaming is only provided by Hardware Vendors, Microsoft does not provide any support for this technology thru Microsoft Product Support Services. “
• Hardware Offload by mělo být zakázané – VMq, Chimney, IPSec Offload
Povolte VMQ Zdroje na internetu • Intel FAQ: VLANs and VMDq on Intel® Ethernet Adapters in Hyper-V • Advanced Virtualization I/O Queuing Technologies/An IntelMicrosoft Perspective
Jumbo Frames • Podpora Jumbo Frame – Ethernet Frames >1,500 bytes – Ad Hoc Standard je ~9k
• Výhody – Umožňuje cca 6x vyšší využití paketu – Lepší propustnost – Nižší zátěž procesoru při přenosu velkých souborů
Zajistěte, že všechny síťové segmenty mají Jumbo Frames povolené! Ping.exe –l 9000 <src>
Základní konfigurace Vysoce výkonné Jednoduchá instalace Bezpečné Virtual Switch
Virtual Machine
Virtual Machine
Hyper-V Server
Physical Switch
Virtual Machine
Public and Private Vícevrstvé aplikace Virtual Switch Virtual Machine
Virtual Switch
Hyper-V Server
Physical Switch
Virtual Machine
Virtual Machine
Guest Routed NAT Spotřeba výkonu pro externí komunikaci External Virtual Switch
Virtual Machine
Private Virtual Switch
Hyper-V Server
Physical Switch
Virtual Machine
Virtual Machine
Host Routed NAT Není doporučeno pro produkční provoz Skvělé pro lab nebo demo Funguje s WiFi síťovkami Internal Virtual Switch
Virtual Machine
Virtual Machine
Hyper-V Server
Physical Switch
Virtual Machine
Zabezpečení Hyper-V
Útoky ve zirtualizaci Parent Partition
Guest Partitions
Provided by: Windows
Virtualization Stack Hyper-V
WMI Provider
VMMS Service
Server Core Windows Kernel
Guest Applications VM Worker Processes
ISV Hackers
VID
Virtualization Service Device Providers (VSPs) Drivers
Virtualization Service Clients (VSCs)
VMBus VMBus
Windows hypervisor Server Hardware
OS Kernel
Enlightenments
Hyper-V Security Hardening (1/4) • Hypervisor má vlastní adresní prostor – Adresy hosta != adresy Hypervisoru – Není možný 3rd party kód v Hypervisorsor – Parent je Trusted Computig Base
• Omezený počet kanálů z hosta do Hypervisoru – Není možné něco jako “IOCTL”
Hyper-V Security Hardening (2/4) • Komunikace mezi hosty přes hypervisor není možná • Žádná sdílená paměť mezi hosty • Host OS nikdy přímo neovlivňují hardware I/O
Hyper-V Security Hardening (3/4) • Hypervisor – Address space layout randomization (ALSR) – Stack guard cookies (/GS) – Hardware No eXecute bit (NX)(DEP) – Code pages marked read only – Memory guard pages – Omezené možnosti řízení výjimek – Kód Hypervisoru je podepsaný
Hyper-V Security Hardening (4/4) • Hypervisor a Parent komponenty vytvořeny pomocí SDL – Security Development Lifecycle – Threat modeling – Static Analysis – Fuzz testing – Penetration testing
Nyní a budoucnost Hyper-V R2 Hyper-V R2 SP1
Virtualizace v R2 • • • • • • •
Windows Server 2008 R2 s Hyper-V Windows Hyper-V server 2008 R2 Core Parking TimeCoalescing Podpora clusteringu Cluster Shared Volumes Rozšířená podpora hardware
Core Parking
Slučování časovačů - Coalescing • Coalescing je založeno na kombinaci několika technik: – Fyzická přerušení ukončují globální časovače – Zarovnání jednotlivých časovačů na frekvenci fyzických časovačů
Un-coalesced Timer Events 15.6ms 15.6ms 15.6ms Windows Vista
Coalesced Timer Events VM 1 Timer Delivery VM 2 Timer Delivery VM3 Timer Delivery
Windows 7 / Server 2008 R2
Live Migration • #1 požadavek zákazníků • Přesunutí virtuálního stroje ze serveru na server bez ztráty funkčnosti
• Možné nové scénáře využití – Load balancing VM pomocí policy
Live Migration • Live Migration pomocí Cluster Manager • Live Migration pomocí Virtual Machine Manager • Posun z Quick na Live Migration: – Omezení guest OS?: – Vyžadované změny ve VMs ?: – Zásahy do Storage infrastruktury: – Zásahy do síťové infrastruktury: – Windows Server 2008 R2 Hyper-V:
Ne Ne Ne Ne Ano
Live Migration • Vytvoření VM na cílovém serveru • Kopie paměťových stránek přes síť • Finálnípřesun stavu – Pozastavení VM – Přesunutí připojení na storage na cílový server
Host 1
Host 2
Sdílený Storage
Live Migration v akci Memory State
Configuration
Memory
Migrace & Storage • Windows Server 2008 R2 Hyper-V – Cluster Shared Volume (CSV) – CSV umožňuje jeden prostor pro ukládání sdílených souborů; Všechny Windows Server 2008 R2 servery vidí identický svazek • • • • •
Jednoduché nasazení; Používá NTFS Není potřeba modifikovat SANs Vytvoření jednoho velkého úložiště Již žádné problémy s písmenky Stávající nástroje fungují
Cluster Shared Volumes • Všechny servery „vidí“ stejné úložiště
Dynamic Memory in Windows Server 2008 R2 SP1 Co to je? – „Rozšíření paměťové správy pro Hyper-V“ – Umožňuje dynamicky zvětšovat a zmenšovat množství přidělené paměti pro virtuální stroje – Dostupné jako vlastnost ve Windows Server 2008 R2 SP1 Výhody? – Lepší konsolidace s předvídatelným výkonem – Lepší škálovatelnost – Nejedná se o overcommit – Paměť není sdílená
VM1 VM2 VM3 VM4
T1
T2
T2
Dynamic Memory
Systémové požadavky • Požadavky na parent: – Windows Server 2008 R2 SP1 – Microsoft Hyper-V Server 2008 R2 SP1
• Guest musí umožňovat hot add memory: – Windows Server 2003, 2008 & 2008 R2 • Pouze edice Enterprise a Datacenter Editions • 32-bit & 64-bit
– Windows Vista a Windows 7 • Pouze edice Enterprise a Ultimate • 32-bit & 64-bit
Dynamic Memory Guest Applications
VMWP
VMMS
Memory Balancer
Memory Balancer Interface
Zajišťuje: OS Microsoft Hyper-V Dynamic Memory Components
User Mode
DM VDEV/VSP GMO Memory Manager
Windows Kernel
Windows Kernel
DM VSC VID
VMBus
VMBus
Hypervisor
Kernel Mode
IC / IS pro non Windows ICs obsaženy v 2.6.32 2009
SMP obsaženy v 2.6.33 2010
V2.0 •R2 Support •Storage •Networking
2011
V2.1 •SMP •Time Sync •Shutdown
Q/A