Using Microsoft Virtualization Technologies: Today and ...


Published on

  • Be the first to comment

  • Be the first to like this

Using Microsoft Virtualization Technologies: Today and ...

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