using microsoft virtualization technologies today and planning for tomorrow
Download
Skip this Video
Download Presentation
Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow

Loading in 2 Seconds...

play fullscreen
1 / 96

Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow - PowerPoint PPT Presentation


  • 195 Views
  • Uploaded on

Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow. Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Warsaw - 20-Feb-2007. Agenda. Part 1 - Overview Virtualization overview Usage scenarios for virtualization

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow' - kathie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
using microsoft virtualization technologies today and planning for tomorrow

Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow

Ronald BeekelaarBeekelaar [email protected]

Virtualization Seminar - Warsaw - 20-Feb-2007

agenda
Agenda
  • Part 1 - Overview
    • Virtualization overview
    • Usage scenarios for virtualization
    • Virtualization licensing and support
  • Part 2 - Architecture and Future
    • Architecture of Virtual Server
      • The need for VM Additions
    • Virtual Server 2005 R2 SP1
      • Hardware-assisted virtualization
    • Windows Virtualization and Hypervisor (Viridian)
  • Part 3 - Operations
    • Virtual Server host and guest clustering
    • Virtual Server backup and recovery
    • Performance optimization of Virtual Server
  • Part 4 - Management
    • Scripting Virtual Server
    • System Center Virtual Machine Manager (Carmine)
  • For further information
    • Useful links / whitepapers / software download
seminar hours
Seminar hours

Schedule:

  • 10.00 – 11.15: Session
    • 11.15 – 11.30 – Przerwa
  • 11.30 – 12.45: Session
    • 12.45 – 13.45 – Obiad (one hour)
  • 13.45 – 15.00: Session
    • 15.00 – 15.15 – Przerwa
  • 15.15 – 16.30: Session
  • 16.30 – 16.45: Q&A
about the presenter
About the Presenter
  • Consultant and trainer
    • Virtualization
    • Security, ISA Server and Forefront
  • Virtualization background:
    • Microsoft MVP for Virtual Machine Technology
    • Whitepaper at microsoft.com: "Virtual PC for Developers"
    • Manage all Virtual PC / Virtual Server-based labsat TechEd / IT Forum and other international TechEds
    • Create and optimize many VMs
    • Create virtualization tools (Virsoft)
      • Tools to analyse and optimize VMs
      • Tools to handle VHD-files
  • Contact:
virtualization tools virsoft
Virtualization ToolsVirsoft
  • 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

microsoft strategy vision of virtualization
Microsoft strategyVision 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
type of virtualization

Application

Application

Application

Application

Operating

System

Hardware

Type of Virtualization
  • Application Virtualisation
    • Microsoft SoftGrid
  • Desktop/Presentation Virtualisation
    • Windows Terminal Services
  • Machine Virtualisation
    • Virtual Server & Virtual PC
  • File Virtualization in Vista ?

Desktop

machine virtualisation
Machine Virtualisation

Desktop

Desktop

Desktop

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Operating

System

Operating

System

Operating

System

Hardware

desktop presentation virtualisation remote desktop
Desktop/Presentation VirtualisationRemote Desktop

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Operating

System

Hardware

Desktop

Desktop

Desktop

application virtualisation
Application Virtualisation

Application

Application

Application

Application

Application

Operating

System

Hardware

Desktop

application virtualization softgrid
Application VirtualizationSoftGrid

Isolated Virtual Application Model

TraditionalLayered Install Model

application virtualization softgrid12
Application VirtualizationSoftGrid
  • Applications are virtualized per instance:
    • 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 versions

* Currently at end of support lifecycle

** See http://vpc.visualwin.com for a list of 1200+ (!) OS that run in Virtual PC / Virtual Server

See KB 867572 for a list of supported OS in Virtual Server 2005 R2

usage scenarios for virtualization
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
usage scenario production server consolidation
Usage ScenarioProduction 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
      • Run on current hardware and current OS
      • No application updates required
  • Partition resources
    • Limit CPU resource per VM
usage scenario business continuity management
Usage ScenarioBusiness 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
  • Isolation / sandboxing
    • Isolate OS environments for untrusted applications
    • Prevent malicious code from affecting others
usage scenario dynamic datacenter
Usage ScenarioDynamic datacenter
  • Workload mobility
    • Package up entire OS environment and move to other location
    • Flexible deployment of workloads
usage scenario development and test
Usage ScenarioDevelopment and test
  • 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
virtualization support and licensing
Virtualization Support and Licensing
  • 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
SupportBy Microsoft PSS
  • Vision in WSS Common Engineering Criteria:
    • See - www.microsoft.com/windowsserversystem/cer
  • Limitations

... 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]

pricing
Pricing

* Virtual Server 2005 Standard Edition is no longer available

virtual server 2005 r2 free why would microsoft do that
Virtual Server 2005 R2 FreeWhy 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
licensing windows server licenses
LicensingWindows 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
architecture virtual machine monitor vmm
ArchitectureVirtual Machine Monitor (VMM)
  • CPU needs to switch between host process and guest process
    • VMM switches context between those processes
    • Computer runs either host context or VMM context
  • Only one operating system can "run" on CPU
  • Ring compression
architecture

Provided by

Windows

Virtual Server

Others

Architecture

Host

Guest (VM)

AdminWeb Site

Virtual ServerService

IIS

Guest Applications

Ring 3

Ring 3

Ring 1

Ring 1

VM Additions

Windows in VM

Virtual hardware

Ring 0

Win2003 or WinXP

Kernel

VMM.sys

Hardware

cpu virtualization still one problem left to solve
CPU virtualizationStill 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"
cpu virtualization solutions
CPU virtualizationSolutions
  • Binary translation
    • Translate guest instruction code to host instruction code
      • Always possible, but is very slow
  • VM Additions
    • Patches dll-code in memory in VM (=similar to a rootkit)
      • Not possible for 64-bit Vista/Longhorn
    • Note that VM Additions also do:
      • Time-sync, heartbeat, shutdown supportoptimized SCSI disk, and better mouse/video driver
  • Hardware-assisted virtualization
    • Use Intel VT or AMD Virtualization CPU
    • CPU solves the problem by maintaining settings per VM
      • Can be considered as ring "-1"
vm additions linux
VM AdditionsLinux
  • Adds:
    • time sync
    • Heartbeat
    • shutdown support
    • SCSI disk
    • mouse/display driver
    • But notdirect-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
architecture hardware assisted virtualization

Provided by

Windows

Virtual Server

Others

ArchitectureHardware-assisted virtualization

Host

Guest (VM)

AdminWeb Site

Virtual ServerService

IIS

Guest Applications

Ring 3

Ring 3

Ring 1

Ring 0

VM Additions

Win2003 or WinXP

Windows in VM

Kernel

VMM.sys

Ring "-1"

Virtual hardware

CPU

Hardware

hardware assisted virtualization intel vt or amd virtualization
Hardware-assisted virtualizationIntel 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
virtual server 2005 r2 specifications
Virtual Server 2005 R2Specifications
  • 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 !
virtual server 2005 r2 what s new
Virtual Server 2005 R2What\'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
virtual server 2005 r2 what s new cont d
Virtual Server 2005 R2What\'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
virtual server 2005 r2 sp1 what s new
Virtual Server 2005 R2SP1What\'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
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

Differences VS2005 - VPC2007
windows virtualization vmm arrangements
Windows VirtualizationVMM arrangements

Type-2 VMM

Hybrid VMM

Type-1 VMM

Hypervisor

Guest 1

Guest 2

VMM

Guest 1

Guest 2

Guest 1

Guest 2

Host OS

Host OS

VMM

VMM (Hypervisor)

Hardware

Hardware

Hardware

Examples:

- JVM

- .NET CLR

Examples:

- Virtual PC

- Virtual Server

Example:

- Windows Virtualization

("Viridian")

windows virtualization
Windows Virtualization
  • Virtualization for Windows Server
    • Code name "Viridian" (= color: rgb 64-130-109 )
    • Windows Hypervisor
      • Thin layer of software, underneath "host OS" (~160 KB)
      • Parent partition - manages child partitions
      • Child partition - any number of OS, managed by parent
    • Virtualization Stack
      • Runs in root partition (= parent partition)
      • Provides virtualization of devices
      • WMI interface for management
    • Virtualization Service Providers (VSPs)
      • Hardware sharing architecture
      • Need "viridian" drivers in guest
windows virtualization40
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
architecture virtual pc virtual server 2005 r2

Provided by

Windows

Virtual Server

Others

ArchitectureVirtual PC / Virtual Server 2005 R2

Host

Guest (VM)

AdminWeb Site

Virtual ServerService

IIS

Guest Applications

Ring 3

Ring 3

Ring 1

VM Additions

Windows in VM

Virtual hardware

Ring 0

Win2003 or WinXP

Kernel

VMM.sys

Hardware

windows virtualization42

Provided by

Windows

Win Virtualizaton

Others

Windows Virtualization

Parent partition

Child partition

Virtualization Stack

WMI

VM Service

VM Worker

Guest Applications

Ring 3

Windows (core)

Windows

VSPs

VSCs

Kernel

Kernel

VMBus

Enlightments

Drivers

Ring 0

Ring "-1"

Windows Hypervisor

Hardware

windows virtualization vsc vsp communication

Applications

User Mode

Windows File System

StorPort

iSCSIprt

Disk

Partition

Volume

Disk

StorPort

Miniport

Windows hypervisor

Virtual Service

Provider (VSP)

Virtual Storage

Miniport (VSC)

VM Worker Process

VMBus

Fast Path Filter (VSC)

Windows VirtualizationVSC - VSP Communication

Parent Partition

Child Partitions

Provided by:

Windows

Windows

Virtualization

ISV

Kernel Mode

Hardware

networking
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)
disks
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)
disks vhd format
DisksVHD Format
  • Free license from Microsoft
    • www.microsoft.com/windowsserversystem/virtualserver/techinfo/vhdspec.mspx
    • 45 vendors signed up (April 2006)
      • Examples:
        • Diskeeper
        • PlateSpin
        • WinImage
        • XenSource
    • From 17-Oct-2006:
      • Unregistered download available

Virtual Hard Disk Format Specification

• Introductions

•Overview of Virtual Hard Disk Types

•Virtual hard disk Footer Format

•Dynamically expanding .VHD Header Format

•Block Allocation Table and Data Blocks

•Implementing a Dynamically expanding .VHD

•Mapping a Disk Sector to a Sector in the Block

•Splitting virtual hard disks

•Implementing a Differencing virtual hard disk

•CHS Calculation

vhd types

VM

Base

Base

VHD Types

1GB

2TB

Host

2TB

Guest

2TB

Host

2TB

Guest

Session

SP1

SP2

Host

vhd test drive program
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
vhd mount tool access vhd content offline
VHD Mount ToolAccess 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

vhd enhancements windows virtualization
VHD EnhancementsWindows Virtualization
  • While VM is running
    • Compact VHD-file
    • Create new diff-disk (snapshotting)
      • Create VHD-chain
      • Schedule snapshot every 10 minutes
    • Merge
    • Hot add VHD-file
  • Add VHD-file notes
    • Think: 1000s of VHD-files on network
  • Pass-through VHD - map to SAN
differencing disks

Read

Write

Create

Delete

1

2

3

4

Grow

File-c.doc

File-d.doc

1

1

2

2

3

3

4

4

3

3

1

2

3

4

Differencing disks
  • VHD files use blocks of 2 MB

Virtual Server service

Link toparent

1

2

3

4

Read only

File-a.doc

File-b.doc

File-d.doc

disks read write zero filled files

Write

Write

Read

000000000000

000000000000

000000000000

000000000000

000000000000

1

2

3

4

1

11

12

3

2

5

4

...

1

2

3

4

1

4

File-a.doc

Pagefile.sys

DisksRead/write zero-filled files
  • VHD file format optimizes read/write ofzero-filled blocks
    • Best example: empty pagefile.sys

Virtual Server service

compact vhd files
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

virtual server clustering
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
clustering

Guest to Guest

Host to Host

iSCSI connection

SAN or iSCSI connection

Cluster storage

Cluster storage

Clustering
clustering virtual machine guest clustering
ClusteringVirtual Machine (Guest) Clustering
  • VM (Guest) is the cluster node
    • Application in guest is a resource group
    • Application is cluster-aware (or Generic)
  • Protects against failure of Guest
    • If VM or application fails,then failover to other VMon same host or on another host
out of the box high availability host updating

VM

VM

VM

Out-of-the-Box High AvailabilityHost 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

WSUS server

Shared Storage

Node 1

Node 2

Node 3

out of the box high availability unplanned downtime

VM

VM

VM

Out-of-the-Box High AvailabilityUnplanned 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

Shared Storage

Node 1

Node 2

Node 3

X

clustering virtual server host clustering
ClusteringVirtual 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

clustering virtual server host clustering61
ClusteringVirtual 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
clustering virtual server host clustering62
ClusteringVirtual 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
management pain points now
ManagementPain points now
  • Existing tools:
    • Do not map to virtual environments
      • Provisioning
      • Backup
      • Health monitoring
      • Performance monitoring / management
    • Do not consider physical - virtual relationship
      • Ownership
      • Patching and servicing
virtual server backup and recovery
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
        • Best example: Active Directory database
backup of vm
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

backup of vms vss explained

SQL Server

Writer

Exchange

Writer

Backup of VMsVSS explained
  • Roles
    • VSS Requestor = backup application
      • Initiates backup action
    • VSS Writer = Virtual Server 2005 R2 SP1
      • Ensures data consistency

Freeze

VSSService

4

Snap

In guest (VM1)

3

"Backup files"

5

6

VS Writer

Virtual Server

SnapID

"Unfreeze"

2

Snap

7

"Backup VM1"

VSSService

VSSService

1

Copy files

based on SnapID

On host

BackupApplication

BackupApplication

scripting virtual server
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 WMIService = GetObject("winmgmts:\\.\root\virtualization")
virtual machine manager management tool

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

VM

Virtual Machine ManagerManagement 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
virtual machine manager features
Virtual Machine ManagerFeatures
  • Resource optimization
    • Identify consolidation candidates
    • Fast P2V
    • Optimum workload placement on host computers
  • Rapid provisioning
    • Central library of virtualization components
      • Running VMs, offline VMs, vhd-files, vnc-files
    • Self-service provisioning
      • Templates: create standardize VMs
      • Automatic placement on suitable host computer
    • Distributed storage infrastructure - uses DFS
    • Host provisioning
  • Uses PowerShell ("Monad") for scripting
virtual machine manager physical to virtual p2v
Virtual Machine ManagerPhysical to Virtual (P2V)
  • 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
Virtual Machine ManagerVM placement
  • Capacity planning everywhere
  • Used for
    • P2V, migration, template deployment, self-service
  • Rating scheme
    • Hard requirement
      • Minimum CPU, RAM needed, disk space needed, network usage
    • Soft requirements
      • Historic VM performance
      • Current host performance
virtual machine manager offline library
Virtual Machine ManagerOffline library
  • Contents
    • Templates
      • Sysprepped VHDs
      • Standardizes deployments of VMs
    • Virtual machines
      • Store non-running VMs
    • Disks
    • ISO
    • Scripts
  • Architecture
    • Distributed
      • Multiple library servers
      • Access through DFS Namespaces
    • Replicated
      • Uses DFS-R and RDC
virtual machine manager self service portal
Virtual Machine ManagerSelf-service portal
  • 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
Centralized Management: Views

By Resource Pool

By VM State

By Owner

By Creation Date

By Operating System

centralized management reports
Centralized Management: Reports

Full set of reports, integration with MOM database

Actions one click away in context sensitive Actions Pane

centralized management library
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

new virtual machines
New Virtual Machines

Choose whether to place new VM into library or place on physical host

hardware configuration
Hardware Configuration

Configuration of target virtual machine resouces with default values from physical source machine

virtual machine placement
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.

self service portal customized per user
Self-Service PortalCustomized Per User

Ability to control owned virtual machines

Thumbnails of all owned virtual machines

self service portal controlled by administrator
Self-Service PortalControlled by Administrator

Quotas used to manage resource allocation across users

self service portal provisioning
Self-Service PortalProvisioning

User selects from list of templates Administrator has associated with that user

self service portal provisioning83
Self-Service PortalProvisioning

New virtual machine ready for use, Terminal Services connection information automatically emailed to user.

operations best practices
OperationsBest practices
  • Disable VM time synchronizationwhen 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
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)

move disk from vpc to vs from ide to scsi
Move disk from VPC to VSFrom 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.
move disk from vpc to vs from ide to scsi87
Move disk from VPC to VSFrom 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:

    • Swith boot disk from IDE to SCSI adapter
    • Virtual PC can still boot from disk as IDE
performance most important tips
PerformanceMost 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
performance on host
PerformanceOn 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 Servicefrom dedicated host adapter
  • 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
PerformanceIn 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
      • Not when using differencing disk
for more information useful links
For more informationUseful 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)
      • http://blogs.technet.com/jhoward/
  • Scripts
    • TechNet
      • www.microsoft.com/technet/scriptcenter/scripts/vs/default.mspx
for more information whitepapers
For more informationWhitepapers
  • 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
  • Virtual PC for Development and Debugging
    • www.microsoft.com/windows/virtualpc/techinfo/debug.mspx
for more information download software
For more informationDownload 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
    • http://go.microsoft.com/fwlink/?LinkId=37030
slide96

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

ad