Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Dublin - 18-Jan-2007

Download Report

Transcript Using Microsoft Virtualization Technologies: Today and Planning for Tomorrow Ronald Beekelaar Beekelaar Consultancy [email protected] Virtualization Seminar - Dublin - 18-Jan-2007

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