Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Architecture Virtual Machine Monitor ( VMM ) CPU needs to switch between host process and guest process VMM switches context between those processes.

Similar presentations


Presentation on theme: "1 Architecture Virtual Machine Monitor ( VMM ) CPU needs to switch between host process and guest process VMM switches context between those processes."— Presentation transcript:

1 1 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

2 2 Architecture Win2003 or WinXP Kernel VMM.sys Ring 0 Hardware Ring 1 Ring 3 Windows in VM VM Additions Guest Applications Ring 3 Virtual Server Service IIS Admin Web Site Provided by Windows Virtual Server Others Virtual hardware HostGuest ( VM ) Ring 1

3 3 CPU virtualization Still one problem left to solve We want CPU direct-mode execution Guest OS runs directly on CPU - fast! (99% speed) When a priviliged operation is required, a trap occurs, and VMM handles operation in kernel mode Problem: x86 is not fully virtualized in this way 20 kernel-mode read CPU instructions are allowed from outside ring 0 ! Four possible solutions: a)Recompile OS and applications without those 20 instructions = avoid those 20 instructions b)Use Binary Translation execution = patch code while running on host c)Install VM Additions in guest = patch code in memory in VM d)Use hardware-assisted virtualization = catch instructions in special ring "-1"

4 4 CPU virtualization Solutions 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 support optimized 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"

5 VM Additions Versions BuildReleaseNotes 10.21 with Virtual PC 5.2 (was named Virtual PC Additions) 13.40 with Virtual PC 2004 13.187 (download) Supports Win XP SP2 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 RCGet at connect.microsoft.com/site/sitehome.aspx?SiteID=288

6 6 VM Additions Linux 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

7 7 Architecture Hardware-assisted virtualization Win2003 or WinXP Kernel VMM.sys Ring 0 Hardware HostGuest ( VM ) Ring 1 Ring 3 Windows in VM VM Additions Guest Applications Ring 3 Virtual Server Service IIS Admin Web Site Provided by Windows Virtual Server Others Virtual hardware CPU Ring "-1"

8 8 Hardware-assisted virtualization Intel VT or AMD Virtualization Supported in: Virtual PC 2007 Virtual Server 2005 R2 SP1 Windows 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 provide direct-mode execution Windows installation is 2x-3x faster Non-Windows guests (Linux, Netware) run faster

9 9 Virtual Server 2005 R2 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 Guest CPU: max 1 Memory: max 3.6 GB Network adapters: max 4 Unlimited bandwidth ! USB: no USB keyboard/mouse is supported Workaround for USB smartcard-readers exists !

10 10 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 Move VS2005 to other host Planned and unplanned downtime Requires script - http://go.microsoft.com/fwlink/?LinkId=55644

11 11 Virtual Server 2005 R2 What's new (cont'd) Additional guest support + Win2003 SE SP1 + WinXP SP2 PXE Booting F6 disk (SCSI disk) 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

12 12 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... Host clustering whitepaper included Default vhd capacity is 127 GB (was 16 GB) Virtual SCSI fix for Linux 2.6.x guests

13 13 Differences VS2005 - VPC2007 Virtual Server 2005: Use multiple host CPUs Multithreaded Multiple CD ROM drives NAT through host ICS Unlimited networks Using vnc-files on host Only in VS2005: SCSI disk (in VM) COM API Remote Management Run as service Auto start VMs Virtual PC 2007: Use single host CPU Single thread for all VMs Single CD ROM drive NAT support Unlimited networks Using host (loopback) adapters Only in VPC2007: Sound card (VM) Folder Sharing Drag-and-drop Copy / Paste

14 14 Windows Virtualization VMM arrangements Hardware Host OSVMM Guest 1Guest 2 Hardware VMM (Hypervisor) Guest 1Guest 2 Hardware VMM Guest 1Guest 2 Host OS Type-2 VMM Examples: - JVM -.NET CLR Examples: - Virtual PC - Virtual Server Example: - Windows Virtualization ("Viridian") Type-1 VMM Hypervisor Hybrid VMM

15 15 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

16 16 Windows Virtualization Virtualization for Windows Server Requires x64 hardware Intel VT / AMD-V processor Provides 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 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

17 17 Architecture Virtual PC / Virtual Server 2005 R2 Win2003 or WinXP Kernel VMM.sys Ring 0 Hardware HostGuest ( VM ) Ring 1 Ring 3 Windows in VM VM Additions Guest Applications Ring 3 Virtual Server Service IIS Admin Web Site Provided by Windows Virtual Server Others Virtual hardware

18 18 Windows Virtualization Windows (core) Kernel Windows Hypervisor Ring 0 Hardware Parent partitionChild partition Ring 3 Guest Applications Ring "-1" Windows VMBus Enlightments Kernel VSPsVSCs Virtualization Stack VM Service WMI VM Worker Provided by Windows Win Virtualizaton Others Drivers

19 19 Windows Virtualization VSC - VSP Communication Parent Partition Child Partitions Kernel Mode User Mode Windows hypervisor Applications Provided by: Windows ISV WindowsVirtualization VMBus Windows File System Volume Partition Disk Fast Path Filter (VSC) iSCSIprt Virtual Storage Miniport (VSC) Virtual Service Provider (VSP) StorPort HardwareStorPortMiniport VM Worker Process Disk

20 20 Virtual Server 2005 vs Windows Server Virtualization Virtual Server 2005 R2Windows Server Virtualization 32-bit VMs? Yes 64-bit VMs? NoYes Multi-processor VMs? NoYes, up to 8 processor VMs VM memory support? 3.6 GB per VMMore than 32 GB per VM Hot add memory/processors? NoYes Hot add storage/networking? NoYes Can be managed by System Center Virtual Machine Manager? Yes Microsoft Cluster support? Yes Scriptable / Extensible? Yes, COMYes, WMI Number of running VMs? 64 More than 64. As many as hardware will allow. User interface Web InterfaceMMC 3.0 Interface

21 21 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) - 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)

22 22 Disks Data store in virtual hard disk (.vhd) files File format is the same: Virtual PC 2004 Virtual Server 2005 Windows Virtualization (future) Max sizes IDE (VPC2004):130,557 MB (= 127.5 GB) IDE (VS2005):130,048 MB (= 127.0 GB) SCSI (VS2005):2,088,960 MB (= 2040.0 GB)

23 23 Disks VHD 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

24 24 VHD Types Base VHD types Dynamically expanding Default type: Grows as needed Fixed sizeHighest performance type State drive types UndoNon-persistent, per VM (*.vud) DifferencingPersistent parent-child hierarchy Saved statesFlush memory to disk (*.vsv) Guest Host Guest 2TB 2TB 2TB VM Host SP1SP2 Host 2TB1GB Base Base Session

25 25 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

26 26 VHD Mount Tool Access VHD content offline VHDMount tool is included with VS2005 R2 SP1 Can install separate: Use as command-line tool: Use for copying or injecting files, inspecting, virus-scanning Do not use for offline patching (yet) C:\> msiexec.exe /i "Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount 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

27 27 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

28 28 Differencing disks VHD files use blocks of 2 MB Read File-a.doc 1234 File-b.doc 124 Create File-c.doc 1234 Grow File-d.doc Read only Virtual Server service 3 Write 3 3 1234 Delete File-d.doc 1234 Link to parent

29 29 Disks Read/write zero-filled files VHD file format optimizes read/write of zero-filled blocks Best example: empty pagefile.sys Write File-a.doc 1234 1234 Pagefile.sys Write 1 000 000 24 3 5... 14 Read 000 000 11 000 000 12 Virtual Server service

30 30 Compact VHD Files Steps Note: Does not work on differencing disks In VM - Cleanup Startup VM without Undo disks 1Defragment disk 2Zero-fill all unallocated spaces Use Precompactor.iso Shutdown VM On host - Compact 3Use VPC Disk Wizard or VS Inspect Disk to compact

31 31 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 Cluster VS on different hosts

32 32 Clustering Host to Host Cluster storage SAN or iSCSI connection Guest to Guest Cluster storage iSCSI connection

33 33 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

34 34 Out-of-the-Box High Availability Host Updating 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 VM Node 1Node 2 Node 3 Shared Storage WSUS server

35 35 Out-of-the-Box High Availability Unplanned downtime 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 VM Node 1Node 2 Node 3 Shared Storage X

36 36 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" Protects against failure of Host Application in guest is not monitored by cluster 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

37 37 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

38 38 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: Script havm.vbs  OS disk  Data disk


Download ppt "1 Architecture Virtual Machine Monitor ( VMM ) CPU needs to switch between host process and guest process VMM switches context between those processes."

Similar presentations


Ads by Google