Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Dublin - 18-Jan-2007
Download ReportTranscript Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Dublin - 18-Jan-2007
Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Dublin - 18-Jan-2007 Agenda • Part 1 - Overview • • • • Virtualization overview Usage scenarios for virtualization Virtualization licensing and support Part 2 - Architecture and Future • Architecture of Virtual Server • • Virtual Server 2005 R2 SP1 • • • Virtual Server host and guest clustering Virtual Server backup and recovery Performance optimization of Virtual Server Scripting Virtual Server System Center Virtual Machine Manager (Carmine) For further information • 2 Windows Virtualization and Hypervisor (Viridian) Part 4 - Management • • • Hardware-assisted virtualization Part 3 - Operations • • • • The need for VM Additions Useful links / whitepapers / software download Seminar hours Schedule: • 09.30 – 11.00: Session • 11.00 – 11.15 – break • 11.15 – 12.30: Session • 12.30 – 13.30 – lunch (one hour) • 13.30 – 14.45: Session • 14.45 – 15.00 – break • 15.00 – 16.15: Session • 16.15 – 16.30: Q&A 3 About the Presenter • Consultant and trainer • Virtualization, Security, ISA Server and Forefront • Virtualization background: • • • • Microsoft MVP for Virtual Machine Technology • • Create and optimize many VMs Manage all Virtual PC / Virtual Server-based labs at TechEd / IT Forum and other international TechEds Create virtualization tools (Virsoft) • • Contact: • 4 Whitepaper at microsoft.com: "Virtual PC for Developers" Tools to analyse and optimize VMs Tools to handle VHD-files Beekelaar Consultancy [email protected] Virtualization Tools Virsoft • Virsoft Lab Menu • Manage, run, log VMs at events + Synchronize VM changes • Virsoft VM Trimmer • Optimize, compact and configure VHDs offline + Compact differencing disks + Compact folder with multiple VHDs • Virsoft VHD Info • Inspect VHD files + Detect parent-link problems • Virsoft VHD Mount • Provide interface to vhdmount.exe + Mount read-only 5 Microsoft strategy Vision of virtualization • IT organization benefit when workloads are decoupled from hardware • Increased availability, manageability • Long term, workloads will be increasingly dynamic • Virtualization is a key enabling technology to achieve this 6 Type of Virtualization • • Application Virtualisation • Microsoft SoftGrid Desktop/Session Virtualisation • Windows Terminal Services • Machine Virtualisation • Virtual Server & Virtual PC • Virtualization in Vista ? Application Application Application Application Desktop Operating System Hardware 7 Machine Virtualisation Application Application Application Application Application Application Application Application Application Application Application Application Desktop Desktop Desktop Operating System Operating System Operating System Hardware 8 Desktop Virtualisation Remote Desktop Application Application Application Application Application Application Application Application Application Application Application Application Desktop Desktop Operating System Hardware 9 Desktop Application Virtualisation Application Application Application Desktop Operating System Hardware 10 Application Application Application Virtualization SoftGrid Traditional Layered Install Model 11 Isolated Virtual Application Model Application Virtualization SoftGrid • Applications are virtualized per instance: • • • • • • • • • • • 12 Files (including System Files) Registry .ini files Fonts COM / DCOM objects Services Semafores, Mutexes Name spaces Applications do not get 'installed' Applications do not alter the host OS Note: Tasks process locally on the host computer Product versions Product Release Hosts Guests ** Virtual PC 2004 Oct 2003 • Win2000 Pro SP4 • Win XP Pro (Tablet, SP1) • MS-DOS 6.22 * / OS/2 • Win 95, 98, 98SE, ME * • Win NT4 SP6a (wrkstn) * • Win2000 Pro SP4 • Win XP (Tablet, SP1) Virtual Server 2005 Jul 2004 • Win XP Pro • Win2003 SBS • Win2003 (SE, EE, Data) • Win NT4 SP6a (server) * • Win2000 Server • Win2003 (SE, EE, Web) Virtual PC 2004 SP1 Oct 2004 Same as Virtual PC 2004 + Win2003 SE Same as Virtual PC 2004 + Win XP SP2 Virtual Server 2005 R2 Nov 2005 Same as Virtual Server 2005 + Win XP Pro SP2 (non prod) + Win2003 (SP1, R2) + Win XP / Win2003 x64 Same as Virtual Server 2005 + Win XP Pro SP2 + Win2003 (SP1, R2) + Linux (9x distro's) - Apr 2006 Virtual PC 2004 Express Mar 2006 Same as Virtual PC 2004 SP1 + But can only run a single VM + With Vista Enterprise / only for Software Assurance customers Virtual Server 2005 R2 SP1 ~Feb 2007 +Intel VT and AMD Virtualization processor support +Volume Shadow Copy Service support Virtual PC 2007 ~Mar 2007 +Intel VT and AMD Virtualization processor support +Vista support (Host and Guest) Windows Virtualization Longhorn + 180 days Implement Windows Hypervisor New virtualization model, requires VT/Virtualization hardware Code name "Viridian" * Currently at end of support lifecycle ** See http://vpc.visualwin.com for a list of 1150+ (!) OS that run in Virtual PC / Virtual Server See KB 867572 for a list of supported OS in Virtual Server 2005 R2 13 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 14 Usage Scenario Production server consolidation • Consolidate workloads • Infrastructure applications • Branch office and datacenter workloads • Low-utilization workloads • Efficient use of available hardware resources • Re-host legacy OS and applications • NT4 guest applications on Win2003 host • • • 15 Run on current hardware and current OS No application updates required Partition resources • Limit CPU resource per VM Usage Scenario Business continuity management • Workload deployment • Quickly switch pre-configured VM (vhd-files) • For disaster recovery • Eliminate unscheduled downtime • OS and application patching • Deploy and test patches off-production, and swap • Eliminate scheduled downtime • 16 Isolation / sandboxing • Isolate OS environments for untrusted applications • Prevent malicious code from affecting others Usage Scenario Dynamic datacenter • 17 Workload mobility • Package up entire OS environment and move to other location • Flexible deployment of workloads Usage Scenario Development and test 18 • Rapid provisioning of virtual machines • Provide multiple VMs for testing quickly • Use save state to start up quickly • Create arbitrary test scenarios • Recreate reported issues • Avoid use of production network • Use undo-disk to rollback to known state • Wider test range for niche scenarios • Provision multiple VMs with variations • Use difference-disks for easy provisioning Usage Scenario Other server consolidation Workload 19 Microsoft products Sample scenario Branch office and department applications Win2003 and Virtual Server 2005 Enterprise customer migrates Windows NT 4.0 applications from 1,000 stand-alone servers to 50 centralized, 4-way, rack-mount systems Enterprise applications Win2003 and WSRM Medium-sized customer moves enterprise resource planning suite onto 8-way systems running Windows Server 2003 and WSRM File and print Windows Storage Server Small business consolidates file and print servers by using network attached storage (NAS) Database Win2003 and SQL Server 2005 Enterprise customer consolidates databases on highly scalable IA-64 systems E-mail Win2003 and Exchange Server 2003 Medium-sized business consolidates e-mail servers using Exchange Server on scalability cluster Web Win2003 and IIS 6.0 Hosting service consolidates extranet applications on blades Virtualization Support and Licensing 20 • Support (two meanings) • Supported by Microsoft Product Support • Technical possible with the product • Needed licenses • On host - host OS and Virtual Server ? • In guests - guest OS and applications ? Support By Microsoft PSS • Vision in WSS Common Engineering Criteria: ... all server products will support Microsoft Virtual Server 2005. Each product must be capable of running from within a virtual instance. Exemptions will be granted if: • The product requires hardware that is not currently supported in the VM environment. • Core product scenarios fail because of virtualization performance or scaling issues. • See - www.microsoft.com/windowsserversystem/cer • Limitations Exchange Server 2003 - Only on Virtual Server 2005 R2 or later (KB 320220) Certificate Server - Only with Win2003 SP1 or later guest and host (KB 897614) ISA Server 2006 - Is supported, but not recommended (KB 897613) KB 897613 - Microsoft supports Windows Server System software running within a Microsoft Virtual Server environment subject to the Microsoft Support Lifecycle policy ... KB 897614 - The following Windows Server System software is not supported within a Microsoft Virtual Server environment: Speech Server, ISA Server 2000/2004, MIIS 2003, Sharepoint Portal Server. KB 897615 - For Microsoft customers who do not have a Premier-level support agreement, Microsoft will require the issue to be reproduced independently from the non-Microsoft hardware virtualization software. 21 KB 917437 - Microsoft support for Linux guest operating systems is currently limited to the following list of qualified and tested operating systems: [9 Linux distributions] Pricing Product Virtual PC 2004 After 12-Jul-2006: Free (was $ 129) Virtual Server 2005 Standard Edition $ 499 Virtual Server 2005 Enterprise Edition $ 999 Virtual Server 2005 R2 Standard Edition $ 99 Virtual Server 2005 R2 Enterprise Edition $ 199 Virtual Server 2005 R2 Enterprise Edition * After 1-Jan-2006: Free download Virtual PC 2007 Free download Windows Virtualization Free download * Virtual Server 2005 Standard Edition is no longer available 22 Price (US) Virtual Server 2005 R2 Free Why would Microsoft do that? • Reasons: • Customer satisfaction • Increase interest in Win2003 R2 EE • 1 license = 4 VMs + host • Accelerate proof-of-concept test efforts • Rapidly deploy workloads (AD / SQL / BizTalk, etc) • Ease migration to Longhorn virtualization 23 Licensing Windows server licenses • Licensing changes for server products • Virtualization friendly (after 1-Dec-2005) Only count licenses for running VMs For per-processor licenses, only count virtual CPUs in VM Single Win2003 R2 EE license: • 1 host + 4x Win2003 R2 EE in guest • Virtualization unlimited (after 1-Oct-2006) Single Win2003 R2 Datacenter license: 1 host + unlimited Win2003 R2 (any) guests • See - www.microsoft.com/licensing/resources/volbrief.mspx 24 Architecture Virtual 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 25 Provided by Architecture Windows Host Admin Web Site IIS Ring 3 Guest (VM) Virtual Server Service Guest Applications Ring 3 Ring 1 VM Additions Windows in VM Virtual hardware Ring 0 Win2003 or WinXP Kernel VMM.sys Hardware 26 Virtual Server Others CPU virtualization Execution modes • Two methods to virtualize CPU for guest OS: • Binary translation • • Translate guest instruction code to host instruction code Always possible, but slow • Direct-mode execution • • Guest OS runs in user-mode directly on CPU - fast ! When a priviliged operation is required, a trap occurs, and VMM handles operation in kernel mode • However, x86 is not fully virtualized in this way • Some kernel-mode read operations are allowed in ring 3 ! • Conclusion: • 27 Most guest OS code can run direct-mode execution (fast), but some parts require binary translation (slow) CPU virtualization The need for VM Additions • Issue: • VMM must decide what guest OS code can run: • • By using direct-mode execution (fast) - preferred By using binary translation (slow) • Rules: • Guest OS user-mode (ring 3) • Always use direct-mode execution • Guest OS kernel-mode (ring 0) • Use only binary translation • 28 Unless OS-specific VM Additions, running in guest, indicates what kernel-mode code is safe for direct-mode execution VM Additions Versions Build Release Notes 10.21 with Virtual PC 5.2 (was named Virtual PC Additions) 13.40 with Virtual PC 2004 13.187 (download) 13.206 with VS2005 13.306 with Virtual PC 2004 SP1 13.518 with VS2005 SP1 beta 13.531 (download) Supports Win2003 SP1 13.552 with VS2005 R2 Supports Win2003 R2 and Vista (-build 5270) 13.705 with VS2005 R2 SP1 beta1 13.706 (download - Connect) Supports Vista B2 (-build 5384) and Longhorn 13.709 (download - Connect) Supports Vista RC1 13.715 with VS2005 R2 SP1 beta2 Supports Vista RTM 13.724 with Virtual PC 2007 beta 13.802 with Virtual PC 2007 RC Supports Win XP SP2 Get at connect.microsoft.com/site/sitehome.aspx?SiteID=288 VM Additions Linux 30 • Adds: • time sync • Heartbeat • shutdown support • SCSI disk • mouse/display driver • But not direct-mode execution support • Distributions (9x) • Red Hat 7.3/9.0, Enterprise 2.1/3/4 • SuSE Linux 9.2/9.3/10.0, Enterprise Server 9 • More available at release VS 2005 R2 SP1 Virtual Server 2005 Specifications • Host • CPU VS2005 Standard Edition: max 4 CPUs (1 or 2 cores) • VS2005 Enterprise Edition: max 32 CPUs (1 or 2 cores) • Memory: max 64 GB • 31 Guest • CPU: max 1 • Memory: max 3.6 GB • Network adapters: max 4 - unlimited bandwidth ! • USB: no Virtual Server 2005 R2 What's new • Performance • Increased performance • Scalability • x64 hosts: Win2003 and WinXP • Availability • Virtual Machine clustering • • Failover VM on same host Uses Shared SCSI (or iSCSI) in guest • Virtual Server Host clustering 32 • • • Move VS2005 to other host Planned and unplanned downtime Requires script - http://go.microsoft.com/fwlink/?LinkId=55644 Virtual Server 2005 R2 What's new (cont'd) • Additional guest support + Win2003 SE SP1 + WinXP SP2 • PXE Booting • F6 disk (SCSI disk) • • 33 • Speeds up Windows installation Virtual Disk Precompactor.iso Also... • Supports hyperthreading on host • Reserve space for save state file (.vsv) • Open Windows Firewall ports at install Virtual Server 2005 R2 SP1 What's new • Features • Intel VT and AMD Virtualization support • Volume Shadow Copy (VSS) support • Active Directory integration using Service Connection Points • Vista as Guest support • Includes VHD mount tool • Also... • • • • 34 Host clustering whitepaper included Default vhd capacity is 127 GB (was 16 GB) Additional Linux VM Additions Virtual SCSI fix for Linux 2.6.x guests Virtual Server 2005 R2 SP1 Hardware-assisted virtualization 35 • Requires • Intel VT or AMD Virtualization (of course) • Enable in bios • Windows guests do not run faster • Installed VM Additions already provide direct-mode execution • Windows installation is 2x-3x faster • Non-Windows guests (Linux, Netware) run faster Differences VS2005 - VPC2007 • Virtual Server 2005: • Use multiple host CPUs • • • • NAT through host ICS Unlimited networks 36 SCSI disk (in VM) COM API Remote Management Run as service • Auto start VMs Use single host CPU • • • • Single thread for all VMs Single CD ROM drive NAT support Unlimited networks • Using vnc-files on host • Only in VS2005: • • • • • Multithreaded Multiple CD ROM drives • • Virtual PC 2007: Using host (loopback) adapters • Only in VPC2007: • • • • Sound card (VM) Folder Sharing Drag-and-drop Copy / Paste Windows Virtualization VMM arrangements Type-2 VMM Guest 1 Hybrid VMM Guest 2 VMM Host OS Hardware Examples: - JVM - .NET CLR 37 Type-1 VMM Hypervisor Guest 1 Host OS Guest 2 VMM Hardware Examples: - Virtual PC - Virtual Server Guest 1 Guest 2 VMM (Hypervisor) Hardware Example: - Windows Virtualization ("Viridian") 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) 38 • • ) Hardware sharing architecture Need "viridian" drivers in guest Windows Virtualization • Virtualization for Windows Server • Requires • • • Provides • • • • • • • 39 Can use existing Windows drivers in guest Same set of emulated hardware • • 32-bit and 64-bit guest Max 8 CPU per VM Hot "add": processor, memory, network, disk 32+ GB RAM per VM Live virtual machine migration Multiple snapshots No new driver model • • x64 hardware Intel VT / AMD-V processor S3 Trio video card, DEC 21440 network card, etc Support for Server Core as parent OS Provided by Architecture Windows Host Admin Web Site IIS Ring 3 Guest (VM) Virtual Server Service Guest Applications Ring 3 Ring 1 VM Additions Windows in VM Virtual hardware Ring 0 Win2003 or WinXP Kernel VMM.sys Hardware 40 Virtual Server Others Provided by Windows Virtualization Parent partition Windows Child partition Win Virtualizaton Others Virtualization Stack WMI VM Service VM Worker Windows (core) Guest Applications VSPs VSCs Kernel Windows Kernel VMBus Windows Hypervisor Hardware 41 Ring 3 Enlightments Ring 0 Ring "-1" Windows Virtualization VSC - VSP Communication Parent Partition Child Partitions Applications VM Worker Process User Mode Windows File System Provided by: Windows Windows Virtualization ISV Volume Partition Disk Virtual Storage Provider (VSP) Disk Fast Path Filter (VSC) StorPort Virtual Storage Miniport (VSC) StorPort Miniport VMBus Hardware 42 Windows hypervisor iSCSIprt Kernel Mode Virtual Server 2005 vs Windows Server Virtualization Virtual Server 2005 R2 Windows Server Virtualization 32-bit VMs? Yes Yes 64-bit VMs? No Yes Multi-processor VMs? No Yes, up to 8 processor VMs VM memory support? 3.6 GB per VM More than 32 GB per VM Hot add memory/processors? No Yes Hot add storage/networking? No Yes Can be managed by System Center Virtual Machine Manager? Yes Yes Microsoft Cluster support? Yes Yes Yes, COM Yes, WMI 64 More than 64. As many as hardware will allow. Web Interface MMC 3.0 Interface Scriptable / Extensible? Number of running VMs? User interface 43 Networking • • Create .vnc-files to define "virtual switches" Three settings per vnc-file: • - Network name • - Connected to which host network adapter or to None (guest-only) • 44 - DHCP settings for this switch • Pre-defined vnc-files: • Internal network.vnc • Separate vnc-file for each host network adapter • • Unique MAC-address assigned Unlimited network speed (not max 10/100 Mbps) Disks 45 • • Data store in virtual hard disk (.vhd) files • Max sizes • IDE (VPC2004): • IDE (VS2005): • SCSI (VS2005): File format is the same: • Virtual PC 2004 • Virtual Server 2005 • Windows Virtualization (future) 130,557 MB (= 127.5 GB) 130,048 MB (= 127.0 GB) 2,088,960 MB (= 2040.0 GB) Disks VHD Format • Free license from Microsoft • www.microsoft.com/windowsserversystem/virtualserver/ techinfo/vhdspec.mspx • 45 vendors signed up (April 2006) • Examples: • • • • • PlateSpin WinImage XenSource From 17-Oct-2006: • 46 Diskeeper 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 Types Base VHD types Dynamically expanding Default type: Grows as needed Host Guest Fixed size Highest performance type Host Guest 1GB 2TB 2TB 2TB 2TB State drive types Undo Non-persistent, per VM (*.vud) Differencing Persistent parent-child hierarchy Saved states Flush memory to disk (*.vsv) Base Base Session SP1 SP2 VM Host 47 VHD Test Drive Program 48 • • • • New: announced 6-Nov-2006 • • Partners can also provide their applications Fully configured VHD-files Downloadable from Microsoft's Web site Evaluation versions • Expires after 30 days See www.microsoft.com/vhd for more information VHD Mount Tool Access VHD content offline • • VHDMount tool is included with VS2005 R2 SP1 Can install separate: C:\> msiexec.exe /i "Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount • Use as command-line tool: C:\Program Files\Microsoft Virtual Server\Vhdmount> vhdmount.exe Usage: VHDMOUNT /p VHDFileName - mounts vhd-file VHDMOUNT /m VHDFileName [DriveLetter] - mounts vhd-file, assign drive letters VHDMOUNT /u VHDFileName | All - unmounts vhd-file or all VHDMOUNT /q VHDFileName | All - lists mounted vhd-file or all • • 49 Use for copying or injecting files, inspecting, virus-scanning Do not use for offline patching (yet) VHD Enhancements Windows 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 50 Differencing disks • VHD files use blocks of 2 MB Virtual Server service Read Write Create 3 1 2 3 4 Grow Link to parent File-c.doc 1 2 3 4 1 2 3 4 File-a.doc File-b.doc 51 Delete File-d.doc 1 2 3 4 File-d.doc Read only Disks Read/write zero-filled files • VHD file format optimizes read/write of zero-filled blocks • Best example: empty pagefile.sys Virtual Server service Write 1 2 3 4 1 2 3 4 File-a.doc 52 Write Read 000 000 000 000 000 000 000 000 000 000 000 000 1 2 3 4 5 1 000 000 000 000 000 000 000 000 1112 ... 4 Pagefile.sys Compact VHD Files • Steps • Note: Does not work on differencing disks • In VM - Cleanup • Startup VM without Undo disks 1 Defragment disk 2 Zero-fill all unallocated spaces • • Use Precompactor.iso Shutdown VM • On host - Compact 3 Use VPC Disk Wizard or VS Inspect Disk to compact 53 Virtual Server Clustering • Three different options • Virtual Machine (Guest) Clustering - Shared SCSI • Cluster VMs on same host • Virtual Machine (Guest) Clustering - iSCSI • Cluster VMs on different hosts • Virtual Server Host Clustering • 54 Cluster VS on different hosts Clustering Guest to Guest iSCSI connection Cluster storage 55 Host to Host SAN or iSCSI connection Cluster storage Clustering Virtual 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 VM on same host or on another host 56 Out-of-the-Box High Availability Host Updating WSUS server Shared Storage WSUS • 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 Shared Storage Node 1 Node 2 VM VM 57 Node 3 VM Out-of-the-Box High Availability Unplanned downtime Shared Storage Shared Storage Node 1 Node 2 • Node 1 suffers a power outage or a network failure • A simple script attached to the Microsoft Cluster Administration Console notices the lack of heartbeat and starts the virtual machines associated with node 1 on other nodes Node 3 X VM VM 58 VM Clustering Virtual Server Host Clustering • Host is the cluster node • Each VM (Guest) is a resource group • Generic Script havm.vbs makes VM "cluster-aware" Function Function Function Function Function Function • 59 Open() [..] Online() [..] LooksAlive() [..] IsAlive() [..] Offline() [..] Terminate() [..] 'starts Virtual Server service 'send start control to VM 'quick check if VM is alive 'thorough check if VM is alive 'send save state control to VM 'best attempt to take offline Protects against failure of Host • Application in guest is not monitored by cluster Clustering Virtual Server Host Clustering • Benefits • Move VMs before scheduled host maintenance • • • Hardware upgrades Software updates on host Steps: Saves state VM1 - failover - restore state in VM2 • Protect against unscheduled host failure • Steps: (Oops) - failover - startup VM2 • Run legacy operating systems in a "clustered" way 60 Clustering Virtual Server Host Clustering • Deploy • Hosts run Cluster service • • Uses iSCSI or SCSI/Fibre Channel to shared storage Note: Disable Cluster service when installing VS2005 • Each VM is in a Resource Group • • Or multiple VMs in same Resource Group Implemented as Physical Disk resource • Containing vmc-file, vhd-file and vsv-file • Add havm.vbs as Generic Script in Resource Group • Resource dependencies: • 61 Script havm.vbs OS disk Data disk Management Pain points now • Existing tools: • Do not map to virtual environments • • • • Provisioning Backup Health monitoring Performance monitoring / management • Do not consider physical - virtual relationship • • 62 Ownership Patching and servicing Virtual Server 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 • 63 Best example: Active Directory database Backup of VM • Three methods: - Inside VM, run backup application • Treat VM as a normal physical machine - Stop VM (save state) - On host, backup vhd/vsv files - Start up VM • Only short VM downtime Not supported for DCs in VM ! - Needs: Virtual Server 2005 R2 SP1 - On host, run backup application - Copy 'open' vhd files - uses VSS and VS Writer • VS Writer ensures vhd-file is in consistent state Do NOT use without Virtual Server 2005 R2 SP1 64 Scripting Virtual Server • Virtual Server • COM - Set virtualServer = CreateObject("VirtualServer.Application") • WMI - Set vsWMIObj = GetObject("winmgmts:\\.\root\vm\virtualserver") • Virtual Machine Manager • PowerShell (Monad) • Windows Virtualization • WMI - Set 65 WMIService = GetObject("winmgmts:\\.\root\virtualization") Virtual Machine Manager VM VM VM VM VM VM VM VM VM VM VM VMVMVM VMVM VM VM VM V VM VM VM M VM Management Tool • System Center Virtual Machine Manager • Code name: "Carmine" (= color: rgb 150-0-24 • ) Incorrect name: Virtual Server Manager • Shown at WinHEC 2006 (23-May-2006) • See mms://wm.microsoft.com/ms/windowsserversystem/ systemcenter/WinHEC_Content_For_TechEd_MBR.wmv • Available • • Beta: Sep 2006 RTM: ~Oct 2007 • For Virtual Server and for Windows Virtualization • Is MMC console 66 Virtual Machine Manager Features • Resource optimization • • • Identify consolidation candidates Fast P2V Optimum workload placement on host computers • Rapid provisioning • Central library of virtualization components • • Self-service provisioning • • • • Running VMs, offline VMs, vhd-files, vnc-files Templates: create standardize VMs Automatic placement on suitable host computer Distributed storage infrastructure - uses DFS Host provisioning • Uses PowerShell ("Monad") for scripting 67 Virtual Machine Manager Physical to Virtual (P2V) 68 • Identify consolidation candidates • Looks at peak and average performance • Configurable selection parameters • Physical to virtual migration • Uses fast VSS, not based on existing VSMT • Support Win2000 Server and Win2003 Server • Uses BITS for network transport speed • Wizard based, or scripted through PowerShell Virtual Machine Manager VM placement • • Capacity planning everywhere • Rating scheme • Hard requirement Used for • P2V, migration, template deployment, self-service • Minimum CPU, RAM needed, disk space needed, network usage • Soft requirements • • 69 Historic VM performance Current host performance Virtual Machine Manager Offline library • Contents • Templates • • • Standardizes deployments of VMs Virtual machines • • • • Sysprepped VHDs Store non-running VMs Disks ISO Scripts • Architecture • Distributed • • • Access through DFS Namespaces Replicated • 70 Multiple library servers Uses DFS-R and RDC Virtual Machine Manager Self-service portal • • 71 Web based interface Controls management deployment • End users interact with their own VMs • Deployment based on templates • Resource quotas set per user • VMs may retire after "lease" expires Centralized Management: Views ____ ___ ___ ____ By Resource Pool By VM State By Owner By Creation Date By Operating System 72 Centralized Management: Reports Full set of reports, integration with MOM database Actions one click away in context sensitive Actions Pane 73 Centralized Management: Library Templates contain both “Gold” image of software as well as hardware settings Offline Virtual Disks Offline Virtual Machines Scripts for post deployment configuration and customization 74 New Virtual Machines Choose whether to place new VM into library or place on physical host 75 Hardware Configuration Configuration of target virtual machine resouces with default values from physical source machine 76 Virtual Machine Placement _________ ________ Subset physical hosts to appropriate resource pool(s) Rank-ordered recommendations of physical hosts for placement of virtual machine. Capacity Planning models, historical performance data, hard requirements, … incorporated into algorithm. 77 Self-Service Portal Customized Per User ____ _________ __ ___ ___ Ability to control owned virtual machines 78 Thumbnails of all owned virtual machines Self-Service Portal Controlled by Administrator Quotas used to manage resource allocation across users 79 Self-Service Portal Provisioning User selects from list of templates Administrator has associated with that user 80 Self-Service Portal Provisioning New virtual machine ready for use, Terminal Services connection information automatically emailed to user. 81 Operations Best practices 82 • Disable VM time synchronization when VMs are in a domain • Does not use time zones ! • When copying VMs: • Run Sysprep, or Newsid (sysinternals.com) • Do not include save state (.vsv) file • Stop VS when shutting down host computer • Use script for UPS Performance Optimizations • Virtual Server is usually faster than Virtual PC • Except for video (screen) handling • Disk • Three possible disk drivers in guest (in order of speed): 3. Windows SCSI driver (slowest) 2. IDE driver (=only option for Virtual PC) 1. VM Additions SCSI driver (fastest) 83 Move disk from VPC to VS From IDE to SCSI • • Issue: How to boot IDE vhd as SCSI vhd Steps 1. In VS console: • • Add SCSI Adapter (ID 7) to VM Leave boot disk as IDE disk 2. Startup VM • • Found new hardware: Adaptec AIC-7870 PCI SCSI Adapter Needs Win2003 CD for aic78xx.sys (56 KB) • Now you can boot as SCSI, but this is a slow SCSI driver. 84 Move disk from VPC to VS From IDE to SCSI 3. In running VM: • Open Device Manager • • • • Right-click Adaptec / Update Driver Install from a specific location / Have Disk Browse to C:\Program Files\Virtual Machine Additions Installs SCSI driver: Microsoft Virtual Machine PCI SCSI • Now the fast SCSI driver is loaded 4. In VS console: • • 85 Swith boot disk from IDE to SCSI adapter Virtual PC can still boot from disk as IDE Performance Most important tips Install VM Additions in all VMs • Consider latest VM Additions Use enough memory per VM • To avoid paging inside VM Plan capacity of running VMs • Total disk usage • Total CPU usage • Total network bandwidth needed 86 Performance On host • • On host, for disks: • Use multiple physical disks • Use SCSI host disks • Defragment host disk • Use NTFS • Use NTFS compression - maybe On host, use multiple network adapters • Unbind Virtual Machine Network Service from dedicated host adapter • • 87 On host, exclude .vhd from virus-scanning On host, do not use /3GB in boot.ini • VMs use non-paged kernel memory Performance In guest • VM configuration • Use SCSI disk for vhd-file • Ensure VM Additions SCSI driver is used • Use fixed disk instead of dynamic disks • Guest configuration • Disable unnecessary services: • Indexing, tracing, auto-search for network resources, etc • Defragment guest disk • 88 Not when using differencing disk Summary/Call to Action 89 For more information Useful links • Weblogs • Virtual PC Guy (Ben Armstrong - MS) • http://blogs.msdn.com/Virtual_PC_Guy/ • Virtual Vista (Mike Kolitz - MS) • http://blogs.msdn.com/mikekol/ • Windows Virtualization (John Howard - MS) • • Scripts • TechNet • 90 http://blogs.technet.com/jhoward/ www.microsoft.com/technet/scriptcenter/scripts/vs/default.mspx For more information Whitepapers • Virtualization Licensing Brief • www.microsoft.com/licensing/resources/volbrief.mspx • Using iSCSI with Virtual Server 2005 R2 • http://go.microsoft.com/fwlink/?LinkId=55646 • Virtual Server Host Clustering whitepaper and script • http://go.microsoft.com/fwlink/?LinkId=55644 • Virtual Server Guest Clustering • www.microsoft.com/technet/prodtechnol/virtualserver/deploy/ cvs2005.mspx • 91 Virtual PC for Development and Debugging • www.microsoft.com/windows/virtualpc/techinfo/debug.mspx For more information Download software • Virtual Server 2005 R2 EE • www.microsoft.com/windowsserversystem/virtualserver/software/ default.mspx • Virtual Server 2005 R2 SP1 Beta2 • connect.microsoft.com - sign-up for beta • Virtual PC 2004 SP1 • www.microsoft.com/windows/virtualpc/downloads/sp1.mspx • Virtual PC 2007 RC (including VM Additions 13.802) • connect.microsoft.com - sign up for beta • Linux VM Additions • www.microsoft.com/windowsserversystem/virtualserver/ evaluation/linuxguestsupport/default.mspx • VSMT • 92 http://go.microsoft.com/fwlink/?LinkId=37030 © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.