470 likes | 718 Vues
Windows Server Virtualization in Windows Server 2008. Ronald Beekelaar Beekelaar Consultancy ronald@beekelaar.com. NGN - Virtualisatiedag 30 oktober 2007. Agenda. Windows Server Virtualization Architecture Network Disk Clustering / migration Backup. About the Presenter.
E N D
Windows Server Virtualizationin Windows Server 2008 Ronald Beekelaar Beekelaar Consultancy ronald@beekelaar.com NGN - Virtualisatiedag30 oktober 2007
Agenda Windows Server Virtualization Architecture Network Disk Clustering / migration Backup
About the Presenter Consultant and trainer • Virtualization • Security, ISA Server and Forefront Virtualization background: • Microsoft MVP for Virtual Machine Technology • Whitepaper at microsoft.com: "Virtual PC for Developers" • Software to manage and run all Virtual Server/Virtual PCbased labs at several international TechEd conferences • Create and optimize many VMs • Create virtualization tools (Virsoft) • Tools to analyse and optimize VMs • Tools to handle VHD-files Contact: • Beekelaar Consultancyronald@beekelaar.com
Availability Windows Server Virtualization CTP** is includedin public Windows Server 2008 RC0 • Downloadable from www.microsoft.com/windowsserver2008 • Is considered part of Win2008 Later: • Win2008 RC1 will have same WSV CTP software • Win2008 RTM will have first WSV Beta • Final version available within 180 days of Win2008 RTM ** CTP = Customer Technology Preview (still a pre-beta release)
What's New? Thin hypervisor technology High-speed I/O infrastructure MMC 3.0 management console
Product versions ** See http://vpc.visualwin.com for a list of 1200+ (!) OS that run in Virtual PC / Virtual Server See KB 867572 for a list of supported OS in Virtual Server 2005 R2
Usage Scenarios for Virtualization Production server consolidation • Consolidate low-utilization workloads • Legacy OS (NT4) and application re-hosting • Resource partitioning (limit resources per VM) Business continuity management • Workload deployment and provisioning • OS and application patching (swap VMs) • Isolation / sandboxing Dynamic data center • Workload mobility Development and test • Rapid provisioning of multiple virtual machines • Undo-disk and save state helpful
Feature changes Postponed • Live Migration (= downtime 0.5 seconds) • Use Quick Migration (= downtime ~8 seconds+) • Hot add resources (Memory / CPU / Network / Disk) • Max 16 processor cores per host See Windows Server blog entry on 10-May-2007 at http://blogs.technet.com/windowsserver
ArchitectureVirtual Machine Monitor (VMM) CPU needs to switch between host process and guest process • VMM switches context between those processes • Computer runs either host context or VMM context Only one operating system can "run" on CPU Ring compression
Windows VirtualizationVMM arrangements Type-2 VMM Hybrid VMM Type-1 VMM Hypervisor Guest 1 Guest 2 VMM Guest 1 Guest 2 Guest 1 Guest 2 Host OS Host OS VMM VMM (Hypervisor) Hardware Hardware Hardware Examples: - JVM - .NET CLR Examples: - Virtual PC - Virtual Server Example: - Windows Virtualization ("Viridian")
Architecture Virtual Server Provided by Windows Virtual Server Others Host Guest (VM) AdminWeb Site Virtual ServerService IIS Guest Applications Ring 3 Ring 3 Ring 1 Ring 1 VM Additions Windows in VM Virtual hardware Ring 0 Win2003 or WinXP Kernel VMM.sys Hardware
Hardware-assisted virtualizationIntel VT or AMD Virtualization Supported in: • Virtual PC 2007 • Virtual Server 2005 R2 SP1 • Windows Server Virtualization (is requirement) Enable in BIOS • Plus enable in Virtual PC 2007 Options Windows guests do not run faster • Up-to-date VM Additions already providedirect-mode execution • Windows installation is 2x-3x faster • Non-Windows guests (Linux, Netware) run faster
Architecture Virtual ServerHardware-assisted virtualization Provided by Windows Virtual Server Others Host Guest (VM) AdminWeb Site Virtual ServerService IIS Guest Applications Ring 3 Ring 3 Ring 1 Ring 0 VM Additions Win2003 or WinXP Windows in VM Kernel VMM.sys Ring "-1" Virtual hardware CPU Hardware
CPU virtualizationSolutions Binary translation • Translate guest instruction code to host instruction code • Always possible, but is very slow VM Additions • Patches dll-code in memory in VM (=similar to a rootkit) • Not possible for 64-bit Vista/Longhorn • Note that VM Additions also do: • Time-sync, heartbeat, shutdown supportoptimized SCSI disk, and better mouse/video driver Hardware-assisted virtualization • Use Intel VT or AMD Virtualization CPU • CPU solves the problem by maintaining settings per VM • Can be considered as ring "-1"
Windows Virtualization Virtualization for Windows Server • Code name "Viridian" (= color: rgb 64-130-109 ) • Windows Hypervisor • Thin layer of software, underneath "host OS" (~160 KB) • Parent partition - manages child partitions • Child partition - any number of OS, managed by parent • Virtualization Stack • Runs in root partition (= parent partition) • Provides virtualization of devices • WMI interface for management • Virtualization Service Providers (VSPs) • Hardware sharing architecture • Need "viridian" drivers in guest
Windows Virtualization Virtualization for Windows Server • Requires • x64 hardware • Windows Server 2008 (x64) • Intel VT / AMD-Virtualization processor • Hardware Data Execution Protection (DEP) - Intel XD bit / AMD NX bit • Provides • 32-bit and 64-bit guest • Max 4 CPU per VM • Hot "add": processor, memory, network, disk ( LATER ) • 32+ GB RAM per VM • Live virtual machine migration ( LATER ) • Multiple snapshots • No new driver model • Can use existing Windows drivers in guest • Same set of emulated hardware • S3 Trio video card, DEC 21440 network card, etc • Support for Server Core as parent OS
Devices supportDevice emulation versus Synthetic device Device emulation • Interface to virtualized hardware is indistinguishablefrom interface to a equivalent physical device • Intel 4440 BX motherboard • DEC/Intel 21440 network adapter • S3 Trio video adapter • Adaptec 7870 SCSI chipset • Benefit: 1000+ operating systems can run in VM Synthetic device • Virtualized device which has no physical hardware equivalent • Is called Virtualization Service Client (VSC) inside VM • VSCs installed when adding "Integration Components" • Uses VMBus to communicate with Parent partition • Connecting to Virtualization Service Provider (VSP) in Parent • VSPs installed when enabling WSV role on Win2008
Windows Virtualization Provided by Windows Win Virtualizaton Others Parent partition Child partitions Virtualization Stack WMI VM Service VM Worker Guest Applications Guest Applications 3 Windows (core) Windows Windows VSPs VSCs Kernel Kernel Kernel Emulation VMBus Enlightments Drivers 0 -1 Windows Hypervisor Hardware
Applications Windows VirtualizationVSC - VSP Communication User Mode StorPort iSCSIprt Disk Partition Volume Windows File System Disk StorPort Miniport Windows hypervisor Virtual Service Provider (VSP) Virtual Storage Miniport (VSC) VMBus VM Worker Process Fast Path Filter (VSC) Parent Partition Child Partitions Provided by: Windows Windows Virtualization ISV Kernel Mode Hardware
Integration Components (ICs) Similar to VM Additions in Virtual Server/Virtual PC Provide: • Virtualization Service Clients (VSCs) • Time Synchronization • Heartbeat functionality • Guest OS shutdown support • Backup VSS access Steps to migrate existing Virtual Server VMs 1 On Virtual Server, shut down VM (saved state is incompatible) 2 Copy vhd-file to WSV server 3 On WSV, start up VM 4 Install Integration Components • Will uninstall old VM Additions
Server Virtualization security Changed Hypervisor is undetectable from "above" • Future version will use TPM chip to verifyHypervisor code • Nice benefit of the thin (no drivers) Hypervisor design • For more information, search Internet for "Blue Pill" WSV can run on Win2008 Core installation • Reduces exposed attack surface • Also reduces resource usage, and patching requirements
"Thin" hypervisor Important distinction with VMware Same model used by Xen Advantages • No "servicable" parts • Can be "perfect" code • Can be verified by TPM chip (future) • Can be implemented in hardware (future) • Multiple parent partitions allow restart (future) • Multiple parent partitions allow "crash" (future)
Networking Max 8 network adapters per VM VSCs provided for Win2003 / Win2008 / Vista Real virtual switch • Only sends packets to appropriate VM • Virtual Server uses a virtual "hub" Network Load Balancing support • Load balance VMs on different hosts VLAN support
Disks Virtual IDE • Max capacity: 2048 GB / vhd (same as SCSI) • Same speed as Virtual SCSI Virtual SCSI • Max 256 vhds x 2 adapters / VM
DisksSnapshots Snapshot = "Place to come back to later" Combines: • Undo-disk, Diff-disk, Saved-state and Repeatable Restore To create: • Take snapshot, when VM is not running • Creates diff-disk • Take snapshot, when VM is running • Creates diff-disk, plus vsv-file (saved state) To use (two steps): 1Apply a snapshot, to make it the "default" snapshot 2 Start the VM, to use the "default" snapshot Note: • Applying and using a snapshot does not remove or destroy it
VHD EnhancementsWindows Virtualization While VM is running • Compact VHD-file • Create new diff-disk (snapshotting) • Create VHD-chain • Schedule snapshot every 10 minutes • Merge • Hot add VHD-file Add VHD-file notes • Think: 1000s of VHD-files on network Pass-through VHD - map to SAN
DisksVHD Format Free license from Microsoft • www.microsoft.com/windowsserversystem/virtualserver/techinfo/vhdspec.mspx • 45 vendors signed up (April 2006) • Examples: • Diskeeper • PlateSpin • WinImage • XenSource • From 17-Oct-2006: • Unregistered download available Virtual Hard Disk Format Specification • Introductions •Overview of Virtual Hard Disk Types •Virtual hard disk Footer Format •Dynamically expanding .VHD Header Format •Block Allocation Table and Data Blocks •Implementing a Dynamically expanding .VHD •Mapping a Disk Sector to a Sector in the Block •Splitting virtual hard disks •Implementing a Differencing virtual hard disk •CHS Calculation
VHD Test Drive Program New: announced 6-Nov-2006 Fully configured VHD-files Downloadable from Microsoft's Web site Evaluation versions • Expires after 30 days Partners can also provide their applications See www.microsoft.com/vhd for more information
Virtual Machine Clustering Two different options • Virtual Machine (Guest) Clustering - iSCSI • Cluster VMs on different hosts • Virtualization Host Clustering • Cluster different hosts
Clustering Guest to Guest Host to Host iSCSI connection SAN or iSCSI connection Cluster storage Cluster storage
ClusteringVirtual Machine (Guest) Clustering VM (Guest) is the cluster node • Application in guest is a resource group • Application is cluster-aware (or Generic) Protects against failure of Guest • If VM or application fails,then failover to other VMon same host or on another host
Clustering Win2008 clustering supports "VMs" • For host-clustering Win2008 clustering allows geo-clustering • Cluster far-apart VMs
Out-of-the-Box High AvailabilityHost Updating VM VM VM Administrator wants to update node 1 with Windows Server Update Services Microsoft Cluster Administration Console saves the state of virtual machines and restores them on another node Node 1 is ready for update installation WSUS server Shared Storage Node 1 Node 2 Node 3
Out-of-the-Box High AvailabilityUnplanned downtime VM VM VM VM VM Node 1 suffers a power outage or a network failure Cluster service notices the lack of heartbeat and starts the virtual machines associated with node 1 on other nodes Shared Storage Node 1 Node 2 Node 3 X
Live Migration vs Quick Migration Live Migration 1Copy memory contents from host-A to host-B (VM is still online) 2 Move storage connection from host-A to host-B (~ 0.5 sec) Quick Migration 1 On host-A, save memory to disk 2 Move storage connection from host-A to host-B (~ 0.5 sec) 3 On host-B, restore memory from disk
Virtual Machine Backup and Recovery Do you need to backup VMs? Because a VM is a single file (*.vhd), it is very easy to use backup methods that you cannot safely restore • Issues are: • Running state of vhd-file • Restore unusable "snapshot" of a database • Best example: Active Directory database
Backup of VM Three methods: 1 - Inside VM, run backup application • Treat VM as a normal physical machine • Supports DC in VM 2- Stop VM (save state)- On host, backup vhd/vsv files (may use VSS even)- Start up VM • Only short VM downtime x Not supported for DC in VM 3- On host, run backup application- Copy 'open' vhd files - uses VSS and VSS Writer • VSS Writer ensures vhd-file is in consistent state • Supports DC in VM x Need backup application that understands VSS Writer
Backup of VMsVSS explained SQL Server Writer Exchange Writer Roles • VSS Requestor = backup application • Initiates backup action • VSS Writer = Windows Server Virtualization • Ensures data consistency Freeze VSSService 4 Snap In guest (VM1) 3 "Backup files" 5 6 VSS Writer WSV SnapID "Unfreeze" 2 Snap 7 "Backup VM1" VSSService VSSService 1 Copy files based on SnapID On host BackupApplication BackupApplication