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.