Vijay Tewari
Principal Program Manager
Windows Server, Hyper-V
SVR308
Session Objectives And Takeaways
Recap Hyper-V Architecture
Hyper-V storage (host and VM’s)
Storage Enhancements with Windows
Server 2008 R2 Hyper-V
Tips/tricks, Best Practices and guidelines
Provided by:
Hyper-V Architecture
Management
Partition
OS
ISV / IHV / OEM
Microsoft Hyper-V
Microsoft
Child Partitions
VM Worker
Processes
Applications
Applications
Applications
Applications
Windows Server 2003,
2008/R2
Windows Client OS (eg.
7)
NonHypervisor
Aware OS
Linux Kernel
WMI Provider
VM Service
Windows Server
2008
Windows
Kernel
VSP
Windows
Kernel
VSC
IHV
Drivers
VMBus
Linux
VSC
VMBus
VMBus
Emulation
Windows hypervisor
“Designed for Windows” Server Hardware
User
Mode
Kernel
Mode
Ring -1
Hyper-V Storage
Hyper-V provides flexible storage options
DAS: SCSI, SATA, eSATA, USB, Firewire
SAN: iSCSI, Fibre Channel, SAS
NAS is not supported
High Availability/Live Migration
Requires block based, shared storage
Guest Clustering storage
Via iSCSI only
Hyper-V Storage Options for VM’s
SAN
Hyper-V enabled host
LUN
LUN
Parent partition
Child partition
DAS
C:\
VHD
Pass through
DAS
Offline in parent
LUN
Fiber channel/iSCSI
Pass through
E:\
M:\
VHD
• Virtual hard Disks
• Pass through disks
D:\
F:\
Hyper-V Storage Options for VM's
Pass Through Disks
VM writes directly to the LUN
No snapshots
LUN has to be dedicated to a VM
No host side VSS support
Virtual Hard Disks
Fixed VHD’s
Size on disk = Size of VHD
Dynamically expanding VHD’s
Size of disk is smaller than size of VHD
VHD is expanded on demand as required
Differencing disks
Parent child relationship. Parent MUST NOT be modified
Using pass through disk with Hyper-V
Fixed and dynamic VHD’s
Hyper-V Storage Parameters
VHD max size 2040GB
Physical disk size (for pass through disks) not limited by
Hyper-V
Virtual machines can have
Up to 2 IDE controllers with 2 devices per controller (total 4
IDE devices)
Up to 4 SCSI controllers with 64 devices per controller (total
256 devices)
Optical devices only on IDE
Boot disk has to be IDE
ISO’s from a network share (Constrained delegation
required)
ISOs on network Shares
Machine account access to share
Constrained delegation
Configuring constrained delegation for
ISO’s on a file share
Overview of Storage Improvements in
Windows Server 2008 R2 Hyper-V
Windows Server
2008
Windows Server
2008 R2 Hyper-V
1x
4x – 5x
IO Sizes (Virtual SCSI)
64KB
8MBytes
VHD Block Size
512KB
2MB
Fixed VHD Creation Speed
1x
3x – 4x
Hot add of storage
No
Yes
(on SCSI controller)
SCSI Command Pass-through
No
Yes
Virtualization Feature
Diff Disk Scaling Performance
Disk type comparison (Read)
Througput(MBps)
Native Physical
Fixed VHD in Win7
Fixed VHD in Win2K8
Dynamic VHD in Win7
Dynamic VHD in Win2K8
Passthru in Win7
Passthru in Win2K8
64K Sequential Read
4K Random Read
(Log Scaled by 10)
Disk type comparison (Write)
Dynamic VHD Improvements in Windows Server 2008 R2
Througput(MBps)
Native Physical
Fixed VHD in Win7
Fixed VHD in Win2K8
Dynamic VHD in Win7
Dynamic VHD in Win2K8
Passthru in Win7
64K Sequential Write
4K Random Write
Passthru in Win2K8
(Log Scaled by 10)
Significant performance improvements in Windows Server 2008 R2
with Dynamic VHD’s
Disk type comparison (Write)
Fixed VHD vs. Pass Through disk in Windows Server 2008 R2
Througput(MBps)
Native Physical
Fixed VHD in Win7
Fixed VHD in Win2K8
Dynamic VHD in Win7
Dynamic VHD in Win2K8
Passthru in Win7
64K Sequential Write
4K Random Write
Passthru in Win2K8
(Log Scaled by 10)
Fixed VHD performance is almost identical to Pass Through disk
Disk type comparison (Write)
Fixed VHD vs. Dynamic disks in Windows Server 2008 R2
Througput(MBps)
Native Physical
Fixed VHD in Win7
Fixed VHD in Win2K8
Dynamic VHD in Win7
Dynamic VHD in Win2K8
Passthru in Win7
64K Sequential Write
4K Random Write
Passthru in Win2K8
(Log Scaled by 10)
Dynamic VHD performance in Windows Server 2008 R2 is comparable
to fixed VHD performance
Disk type comparison (Write)
Fixed VHD comparison WS08 R2 vs. WS08
Througput(MBps)
Native Physical
Fixed VHD in Win7
Fixed VHD in Win2K8
Dynamic VHD in Win7
Dynamic VHD in Win2K8
Passthru in Win7
64K Sequential Write
4K Random Write
Passthru in Win2K8
(Log Scaled by 10)
Fixed VHD performance improved in Windows Server 2008 R2
Disk layout - results
Do I Use
IDE or SCSI?
One IDE channel or two?
One VHD per SCSI controller?
Multiple VHDs on a single SCSI
controller?
Throughput(MBps)
Assuming Integration Services are
installed:
2 Physical disks in parent
2 Fixed VHDs, 2 SCSI
controllers
2 Fixed VHDs, 1 SCSI
controller
2 Fixed VHDs, 2 IDE
controllers
2 Fixed VHDs, 1 IDE
controller
(Log Scaled by 10)
Chose as per your requirements, performance is identical
Differencing VHD’s
Parent child relation
Parent MUST NOT be modified
If done, it will render the child VHD unsable
Parent VHD does not change
All changes are written to a differencing VHD
Differencing VHDs
Throughput(MBps)
Performance vs. chain length
64K Sequential Reads (R2)
64K Sequential Reads (v1)
4K Random Reads (R2)
4K Random Reads (v1)
(Log Scaled by 10)
1
2
4
8
16
32
64
Diff VHD Chain Length
Differencing disk performance in Windows Server 2008 R2
improved as compared with Windows Server 2008
CDB Filtering
SCSI Command Descriptor Block (CDB)
By default CDB’s are filtered
Some are partially filtered
Some pass through unchanged
Custom CDBs are always filtered
This means by default
SAN Management may not work from VM
Hardware features may not work from VM
Not recommended, check with SAN vendor if this is
required
Note that this is only for pass through disks
CDB filtering may be required to be turned off for some SAN
management applications when running inside the VM
How to disable CDB filtering?
$HyperVGuest = "Server 2008 - SAN Manager"
$VMManagementService = Get-WmiObject `
-class "Msvm_VirtualSystemManagementService" `
-namespace "root\virtualization"
$Vm = Get-WmiObject -Namespace "root\virtualization" `
-Query "Select * From Msvm_ComputerSystem Where `
ElementName='$HyperVGuest'"
$SettingData = Get-WmiObject -Namespace
root\virtualization `
-Query "Associators of {$Vm} Where `
ResultClass=Msvm_VirtualSystemGlobalSettingData `
AssocClass=Msvm_ElementSettingData"
$SettingData.AllowFullSCSICommandSet = $true
$VMManagementService.ModifyVirtualSystem($Vm, `
$SettingData.PSBase.GetText(1))
Hot Add/Remove of Storage
Storage Model with Failover Clustering in
Windows Server 2008
Failover Clustering implemented a “shared nothing” storage model for the
last decade
Each Disk is owned by a single node at any one time, and
only that node can perform I/O to it
Only one node accesses
a LUN at a time
SAN
Shared Storage
Migration & Storage with Windows
Server 2008 R2
NEW Cluster Shared Volume (CSV)
CSV provides a single consistent file name space;
All Windows Server 2008 R2 servers see
the same storage
Guest VMs can be moved without requiring any drive
ownership changes
No dismounting and remounting of volumes is required
Enabling multiple nodes to concurrently access
a single ‘truly’ shared volume
From hundreds of LUN’s to a handful…
Validate times from all night long, to minutes…
Real browse-able paths, no more GUID’s…
Cluster Shared Volume Overview
Concurrent
access to a
single file
system
SAN
Single Volume
Disk5
VHD
VHD
VHD
Storage Performance/Sizing
Important to scale performance to the total
workload requirements of each VM
Spindles are still key
Don’t migrate 20 physical servers with 40
spindles each to a Hyper-V host with 10 spindles
Don’t use left over servers as a production SAN
Antivirus and Hyper-V
Exclude
VHDs & AVHDs (or directories)
VM configuration directory
VMMS.exe and VMWP.exe
CSV directory
(%systemdrive%\clusterstorage)
Run Antivirus in virtual machines as you
would normally for a physical machine
Encryption and Compression
Bitlocker on parent partition supported
Bitlocker when operating in a cluster is not
supported
Encrypted File System (EFS)
Not supported on parent partition
Supported in Virtual Machines
NTFS Compression (Parent partition)
Allowed in Windows Server 2008
Blocked in Windows Server 2008 R2
Storage Hardware & Hyper-V
Storage Hardware that is qualified with
Windows Server is qualified for Hyper-V
Applies to running devices from Hyper-V parent
Storage devices qualified for Server 2008 R2 are
qualified with Server 2008 R2 Hyper-V
No additional storage device qualification for
Hyper-V
R2
SAN Boot and Hyper-V
Booting Hyper-V Host from SAN is supported
Fibre Channel or iSCSI from parent
Booting child VM from SAN supported using iSCSI boot
with PXE solution (ex: emBoot/Doubletake)
Must use legacy NIC
Native VHD boot (independent of Hyper-V)
Boot physical system from local VHD is new feature in
Server 2008 R2
Booting a VHD located on SAN (iSCSI or FC) not currently
supported (considering for future)
iSCSI Direct
Microsoft iSCSI Software initiator runs transparently from
within the VM
VM operates with full control of LUN
LUN not visible to parent
iSCSI initiator communicates to storage array over TCP stack
Best for application transparency
LUNs can be hot added & hot removed without requiring
reboot of VM (2003, 2008 and 2008 R2)
VSS hardware providers run transparently within the VM
Backup/Recovery runs in the context of VM
Enables guest clustering scenario
iSCSI Perf Best Practices with Hyper-V
Standard Networking & iSCSI best practices apply
Use Jumbo Frames (Jumbo frames supported with Hyper-V
Switch and virtual NIC in Windows Server 2008 R2)
Use Dedicated NIC ports for
iSCSI traffic (Server to SAN)
Multiple to scale
Client  Server (LAN)
Multiple to scale
Cluster heartbeat (if using cluster)
Hyper-V Management
Unbind unneeded services from NIC’s carrying iSCSI traffic
File Sharing, DNS
Hyper-V Network Configurations
with iSCSI
Example:
Server has 4 physical network adapters
NIC 1: Assigned to parent partition for
management
NIC 2: Assigned to parent partition for iSCSI
NICs 3/4: Assigned to virtual switches for virtual
machine networking
Live Migration/HA Best Practices
Best Practices:
Cluster Nodes:
Hardware with Windows Logo + Failover Cluster Configuration Program (FCCP)
Storage:
Cluster Shared Volumes
Storage with Windows Logo + FCCP
Multi-Path IO (MPIO) is your friend…
Networking:
Standardize the names of your virtual switches
Multiple Interfaces
CSV uses separate network
Use ISOs not physical CD/DVDs
You can’t Live Migrate a VM that has a physical DVD attached!
Sizing Storage For Hyper-V
Deployments
•
•
•
•
Check Windows performance best practice guidance for
storage
Windows Server 2008 Performance Tuning Guide
http://www.microsoft.com/whdc/system/sysperf/Perf_tun_sr
v.mspx
Many of the enterprise array vendors include sizing tools for
storage on their websites
Some Hyper-V SAN ecosystem partners:
• EMC HP Compellent NetApp Dell/Equallogic Hitachi
• See complete list:
http://www.microsoft.com/virtualization/partners.mspx
High Availability with Hyper-V using
MPIO & Fibre Channel SAN
MCS & MPIO with Hyper-V
Provides High Availability to storage arrays
Especially important in virtualized environments to reduce single
points of failure
Load balancing & fail over using redundant HBAs, NICs, switches
and fabric infrastructure
Aggregates bandwidth to maximum performance
MPIO supported with Fibre Channel , iSCSI, Shared SAS
2 Options for multi-pathing with iSCSI
Multiple Connections per Session
Microsoft MPIO (Multipathing Input/Output)
Protects against loss of data path during firmware upgrades on
storage controller
Configuring MPIO with Hyper-V
MPIO
Connect from parent
Applies to:
Creating vhds for each VM
Passthrough disks
Additional connections can be added through MCS
with iSCSI using iSCSI direct
Conclusions
Significant performance gains between Server
2008 and Server 2008 R2 for enterprise storage
workloads
Performance improvements in Hyper-V, MPIO,
iSCSI, Core storage stack & Networking stack
For general workloads with multiple VMs,
performance delta is minimal between Pass
Through & VHD
iSCSI Performance especially with iSCSI direct
scenarios is vastly improved
Related Content
MGT220 Virtualisation 360: Microsoft Virtualisation Strategy, Products, and Solutions for the
New Economy
SVR205 Introduction to Hyper-V and Windows Server 2008 R2 with Microsoft System Center
Virtual Machine Manager
SVR208 Gaining Higher Availability with Windows Server 2008 R2 Failover Clustering
SVR303 Planning for Windows Server 2008 R2, Virtualization and Server Consolidation with
Windows Server Solution Accelerators
SVR307 Security Best Practices for Hyper-V and Server Virtualisation
SVR308 Storage and Hyper-V: The Choices You Can Make and the Things You Need to Know
SVR318 How to Protect Your Virtualised Environment
SVR319 Multi-Site Clustering with Windows Server 2008 R2
SVR09-IS Windows Server 2008 R2 Hyper-V Deployment Considerations
Additional Resources
Microsoft MPIO: http://www.microsoft.com/mpio
MPIO DDK
MPIO DSM sample, interfaces and libraries
will be included in Windows 7 DDK/SDK
Microsoft iSCSI: http://www.microsoft.com/iSCSI
SCSI@microsoft.com
iSCSI WMI Interfaces: http://msdn.microsoft.com/en-us/library/ms807120.aspx
Storport Website: http://www.microsoft.com/Storport
Storport Documentation
Windows Driver Kit
MSDN: http://msdn.microsoft.com/en-us/library/bb870491.aspx
Microsoft Virtualization: http://www.microsoft.com/virtualization/default.mspx
Hyper-V Planning & Deployment Guide
http://technet.microsoft.com/en-us/library/cc794762.aspx
Microsoft Virtualization Website
www.microsoft.com/virtualization
http://www.microsoft.com/virtualization/partners.mspx
http://blogs.technet.com/virtualization
http://blogs.technet.com/jhoward/default.aspx
http://blogs.msdn.com/taylorb/
Partner References
Intel: http://www.intel.com
Emulex: http://www.emulex.com
Alacritech: http://www.alacritech.com
NetApp: http://www.netapp.com
3Par: http://3par.com
iStor: http://istor.com
Lefthand Networks http://www.lefthandnetworks.com
Doubletake: http://www.doubletake.com
Compellent: http://www.compellent.com
Dell/Equallogic: http://www.dell.com
Falconstor: http://www.falconstor.com
Resources
www.microsoft.com/teched
www.microsoft.com/learning
Sessions On-Demand & Community
Microsoft Certification & Training Resources
http://microsoft.com/technet
http://microsoft.com/msdn
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training Resources
Complete an evaluation
on CommNet and enter to
win an Xbox 360 Elite!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.