2. Michael Noel Author of SAMS Publishing titles “SharePoint 2010 Unleashed,” “SharePoint 2007 Unleashed,” “SharePoint 2003 Unleashed”, “Teach Yourself SharePoint 2003 in 10 Minutes,” “Windows Server 2008 R2 Unleashed,” “Exchange Server 2010 Unleashed”, “ISA Server 2006 Unleashed”, and many other titles . Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security
3. What we will cover Why Virtualize? SharePoint 2010 Virtualization Guidelines and Models Virtualization of SharePoint Roles Virtualization of SQL Server Memory Limitations and Guidelines for Guests Microsoft Virtualization Software Options Windows Server 2008 Hyper-V System Center Virtual Machine Manager 2008 Third Party Virtualization Product Support Microsoft Licensing for Virtual Servers Demo: Quick Farm Provisioning with VMM 2008 R2
22. NUMA Memory Limitations and Guidelines Non-Uniform Memory Access (NUMA) Boundaries exist at the hardware level. Virtual guests that are allocated more memory than exist within a single NUMA memory boundary have significantly impacted performance NUMA boundaries vary by processor and motherboard vendor, but good rule of thumb to calculate boundaries is to divide the amount of memory in the system by the total number of cores. i.e. Dual Quad-core host (2x4 cores = 8 cores) with 64GB of RAM on the host would mean NUMA boundary is 64/8 or 8GB. In this example, allocating more than 8GB for a single guest session would result in performance drops.
23. NUMA Memory Limitations and Guidelines Keeping NUMA boundaries in mind, this means that you will get significantly better performance provisioning two SharePoint front-ends with half the amount of RAM as a single front-end with twice as much RAM. This applies to any virtualization platform, as the limitation is hardware specific. NUMA allocation specifics will vary by vendor, however. Refer to MS Whitepaper on Virtualization of SharePoint (http://tinyurl.com/virtualsp) for more specifics.
27. Virtualization Performance MonitoringCollect Performance Data Manually with Perfmon counters Collect data over a week minimum to look for trends throughout the week Use to help prove performance problems are not because of virtualization Consider using System Center Operations Manager 2007 R2 for long-term performance analysis and threshold alerting
28. Virtualization Performance MonitoringPerformance Counters and Thresholds on Hosts Network Bandwidth – Bytes Total/sec <40% Utilization = Good 41%-64% = Caution >65% = Trouble Network Latency - Output Queue Length 0 = Good 1-2= OK >2 = Trouble Processor <60% Utilization = Good 60%-90% = Caution >90% = Trouble Available Memory 50% and above = Good 10%-50% = OK <10% = Trouble Disk – Avg. Disk sec/Read or Avg. Disk sec/Write Up to 15ms = fine 15ms-25ms = Caution >25ms = Trouble
29. Virtualization Performance MonitoringPerformance Counters and Thresholds on Guests Network Bandwidth – Virtual NIC Bytes Total/sec <40% Utilization = Good 41%-64% = Caution >65% = Trouble Network Latency - Output Queue Length 0 = Good 1-2= OK >2 = Trouble Processor (N/A) Available Memory 50% and above = Good 10%-50% = OK <10% = Trouble Disk – Avg. Disk sec/Read or Avg. Disk sec/Write Up to 15ms = fine 15ms-25ms = Caution >25ms = Trouble
31. Microsoft Support of SharePoint Virtualization Microsoft’s official SharePoint support stance is that any SharePoint role or service is supported for hardware virtualization, including SQL Server 2005, SQL Server 2008, or SQL Server 2008 R2. There are only three requirements for virtualization that must be satisfied, these are as follows: Hardware-assisted virtualization, which is available in processors that include a virtualization option—specifically processors with Intel Virtualization Technology (Intel VT) or AMD Virtualization (AMD-V) technology. Hardware-enforced Data Execution Prevention (DEP) is available and enabled. Either deployed on Microsoft Hyper-V (RTM or R2 version) or a validated third-party hypervisor that is part of the Server Virtualization Validation Program (SVVP) – KB 897615
32. What does this mean for SharePoint on Third party? SharePoint supported on VMware ESX/ESXi, Citrix XenServer, or others in the SVVP This only covers Hypervisor products, so excludes products such as VMware Workstation or VMWare Server
36. System Center Virtual Machine Manager (VMM) Virtualization Host and Guest Management Platform Part of the System Center Management Suite, which includes the following: System Center Operations Manager 2007 System Center Data Protection Manager 2007 System Center Configuration Manager 2007 R2 System Center Mobile Device Manager 2007 System Center Essentials 2007 System Center Capacity Planner 2007 System Center Service Manager 2010
37. System Center Virtual Machine Manager (VMM) 2008 New version out (VMM 2008 R2) VMM 2008 R2 has P2V (Physical to virtual migration) and V2V (VMware Guest migration to Hyper-V) tools For SharePoint, allows for creation of SharePoint template servers that can be quickly provisioned for test farms or for new farm members in production Can manage both Hyper-V and VMware guests (though must ‘go through’ a Virtual Center server to manage VMware guests.) Self-Service Portal allows end users and remote admins to be able to provision their own virtual machines based on templates
38. Quick SP2010 Farm Provisioning with VMM 2008 R2 Create new Virtual Guest (Windows Server 2008 R2) Install SP2010 Binaries. Stop before running Config Wizard Turn Virtual Guest into Template, modify template to allow it to be added into domain Add PowerShell script to run on first login, allowing SP to be added into farm or to create new farm Voila! 15 minute entire farm provisioning…
40. Farm Provisioning Script(Thanks to Muhanad Omar, MVP) $configType = read-host "Do you wish to join an existing Farm? (Y/N)" if ($ConfigType -eq "Y") { $DatabaseServer = read-host "Sounds good. Please specify the name of your SQL Server"; $ConfigDB = read-host "Next, specify the name of your Farm Configuration Database"; $Passphrase = read-host "Finally, please enter your Farm passphrase" -assecurestring } else { $DatabaseServer = read-host "In that case, let's create a new Farm. Please specify the name of your SQL Server"; $FarmName = read-host "Please specify a name for your Farm (ex. SP2010Dev)"; $ConfigDB = $FarmName+"_ConfigDB"; $AdminContentDB = $FarmName+"_Admin_ContentDB"; Write-Host "Please enter the credentials for your Farm Account (ex. CONTOSOP_Farm)"; $FarmAcct = Get-Credential; $Passphrase = read-host "Enter a secure Farm passphrase" -assecurestring; $Port = read-host "Enter a port number for the Central Administration Web App"; $Authentication = read-host "Finally, specify your authentication provider (NTLM/Kerberos)"; } if ($ConfigType -eq "Y") { Add-PSSnapinMicrosoft.SharePoint.PowerShell; Connect-SPConfigurationDatabase -DatabaseName $ConfigDB -DatabaseServer $DatabaseServer -Passphrase $Passphrase } else { Add-PSSnapinMicrosoft.SharePoint.PowerShell; Write-Host "Your SharePoint Farm is being configured..." New-SPConfigurationDatabase -DatabaseName $ConfigDB -DatabaseServer $DatabaseServer -AdministrationContentDatabaseName $AdminContentDB -Passphrase $Passphrase -FarmCredentials $FarmAcct } Initialize-SPResourceSecurity Install-SPService Install-SPFeature -AllExistingFeatures New-SPCentralAdministration -Port $Port -WindowsAuthProvider $Authentication Install-SPHelpCollection -All Install-SPApplicationContent Write-Host "Your SharePoint 2010 Farm has been created!" if ($ConfigType -eq "N") { $WebAppCreation = read-host "Would you like to provision a Web Application using the default Team Site Template? (Y/N)"; if ($WebAppCreation -eq "Y") { $HostHeaderQ = read-host "Would you like to specify a host header? (Y/N)"; if ($HostHeaderQ -eq "Y") { $HostHeader = read-host "Please specify a host header for your Web Application (ex. intranet.contoso.com)"; $URL = "http://"+$HostHeader; Write-Host "Creating your Web Application..."; New-SPWebApplication -Name "SharePoint 2010 Team Site" -Port 80 -HostHeader $FQDN -Url $URL -ApplicationPool "Content_AppPool" -ApplicationPoolAccount (Get-SPManagedAccount $FarmAcct.UserName) -DatabaseServer $DatabaseServer -DatabaseName $FarmName + "_TeamSite_ContentDB_01"; New-SPSite $URL -OwnerAlias $FarmAcct.UserName -Language 1033 -Template "STS#0" -Name "Team Site"; Write-Host "Configuration completed."; } else { Write-Host "Creating a Web Application using the default Team Site Template..." } } else { Write-Host "Configuration completed."; } } Write-Host "Press any key to continue..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
42. Virtualized Farm ArchitectureMicrosoft Virtualization Licensing Primer Windows Server Virtualization Licensing Standard Edition: One virtual guest (if host is dedicated to virtualization role) Enterprise Edition: Four virtual guests (if host is dedicated to virtualization role) / Guests can be Std/Ent DataCenter Edition: Unlimited Number of Virtual Guests / Per processor socket license Virtualization OS licensing applies to Hyper-V or any virtual host software listed in SVVP (KB 897615) System Center Virtualization Licensing System Center Management Suite Standard Edition License: Gives DPM, OpsMgr, ConfigMgr, and VMM Agents for 1 server. System Center Management Suite Enterprise Edition License: Gives unlimited DPM, OpsMgr, ConfigMgr, and VMM Agents for all virtual guests on the host. Check with Microsoft for Specifics…
43. Microsoft Virtualization Guest Licensing Model Guests can run any combination of downlevel licenses (i.e. Datacenter host, Ent or Std edition guests) Applies not only to OSes running virtualized with Windows Virtualization, but it also applies to 3rd party virtualization as well!
44. Session Takeaways Understand the architecture options for SharePoint 2010 Consider Virtualization for SharePoint, but architect host and guest environments very carefully. Best performance comes from dedicated virtual hosts, dedicated passthrough NICs, and dedicated passthrough disks and by not overcommitting resources. KB897615 outlines MS Support for 3rd Party Virtualization such as VMware and XenServer… Windows Server 2008 R2 Hyper-V technology gives high performance and is a very cost competitive option MS Licensing has new virtualization support, and Datacenter edition will provide for unlimited guests under a single host.
45. For More Information SharePoint 2007 Unleashed and SharePoint 2010 Unleashed (SAMS Publishing) (http://www.samspublishing.com) Windows Server 2008 R2 Unleashed and/or Hyper-V Unleashed (http://www.samspublishing.com) Microsoft ‘Virtualizing SharePoint Infrastructure’ Whitepaper (http://tinyurl.com/virtualsp) Microsoft ‘Virtualizing SQL Server’ Whitepaper (http://tinyyurl.com/virtualsql) Microsoft SQL Mirroring Case Study http://tinyurl.com/mirrorsp Failover Mirror PowerShell Script http://tinyurl.com/failovermirrorsp Microsoft Edge Videos on Virtualization of SharePoint: http://tinyurl.com/edgenoel2 http://tinyurl.com/edgenoel3 Contact us at CCO.com