Server Virtualization in Microsoft Lync Server 2010

Last updated 2/18/2011
This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. Copyright© 2011 Microsoft. All rights reserved. Microsoft, Windows, Windows Media, Windows PowerShell, Windows Server, Active Directory, Forefront, Hyper-V, Lync, and SQL Server are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

Table of Contents
Summary....................................................................................................................1 Glossary......................................................................................................................2 Introduction................................................................................................................5 1.1 What is Virtualization?......................................................................................5 1.2 Why Virtualize?.................................................................................................5 Virtualization in Lync Server 2010..............................................................................7 1.3 Terminology..................................................................................................... 7 1.4 Supported Functionality ..................................................................................8 1.5 Hypervisors......................................................................................................9 1.5.1 Validated Hypervisors.................................................................................9 1.5.2 Other Hypervisors.......................................................................................9 1.5.3 Unsupported Hypervisors............................................................................9 1.6 Guest Operating System Requirement.............................................................9 1.7 Virtualized Lync Server Deployment General Considerations...........................9 1.7.1 Mixing Physical and Virtual Servers Running Lync Server 2010..................9 1.7.2 Spreading Lync Server Workloads on Different VM Hosts.........................10 1.7.3 High Availability through Virtualization.....................................................10 1.7.4 Quick Migration and Live Migration Support..............................................10 1.7.5 Dynamic Memory Support.........................................................................11 Typical VM Host Configurations................................................................................11 1.8 VM Host Server Configuration........................................................................12 1.9 VM Guest Operating System and Application Storage Configuration.............12 1.10 Small VM Host Configuration .......................................................................13 1.11 Medium VM Host Configuration ...................................................................14 1.12 Large VM Host Configuration .......................................................................15 1.13 VM Host Networking Considerations.............................................................16 Virtualization Configuration Guidance......................................................................17 1.14 Applications Running in Host Root Partition.................................................17 1.15 Guest Virtualized Storage.............................................................................17 1.15.1 Disk Types...............................................................................................17 1.15.2 Mapping of Storage to VM Guests...........................................................18 1.15.3 VM Guest Storage Recommendations by Workload................................18 1.16 Other VM Guest Configuration Settings........................................................20

1.16.1 Guest Operating System.........................................................................20 1.16.2 Network adapter......................................................................................20 1.16.3 Ratio of Physical to Virtual CPUs.............................................................20 1.16.4 Support of VM Image Templates.............................................................20 1.16.5 Disable Virtual DVD/CD Drives in Guest Operating System.....................21 Scale Comparison of Virtualized and Physical Lync Server Roles.............................21 1.17 CPU...............................................................................................................21 1.18 Memory........................................................................................................21 1.19 Scale Comparison Table Physical-Virtual......................................................22 1.19.1 Maximum Conference Size Physical-Virtual.............................................23 1.19.2 Stand-alone A/V Conferencing Server Recommendation Physical-Virtual ........................................................................................................................... 23 Sample Lync Server Virtualized Topologies..............................................................23 1.20 Virtual Enterprise Edition Deployment A......................................................24 1.21 Virtual Enterprise Edition Deployment B......................................................24 1.22 Mix Virtual/Physical Enterprise Edition Deployment.....................................26 1.23 Virtual Standard Edition Deployment..........................................................27 Test Results..............................................................................................................28 Measuring Performance on Virtual Lync Server 2010...............................................29 1.24 Performance Indicators................................................................................29 1.24.1 Processor and Percentage of Processor Time..........................................29 1.24.2 Network Interface....................................................................................29 1.24.3 Memory...................................................................................................29 1.24.4 Databases...............................................................................................29 1.24.5 SIP...........................................................................................................30 Appendix A: How to Enable VMQ on Intel Network Adapter......................................31 Appendix B: How to Increase Send/Receive Buffers on Intel Network Adapter.........33 Appendix C: Changing the Bandwidth Limit for Application Sharing.........................34 Appendix D: Performance Counters..........................................................................35 1Lync Server 2010 Performance Counter Reference................................................35 1.25 All Servers....................................................................................................35 1.26 Front End Servers.........................................................................................36 1.27 Edge Server..................................................................................................39 1.28 Back End Server...........................................................................................42 1.29 Mediation Server..........................................................................................43 1.30 Audio/Video Conferencing Server.................................................................44

1.31 Establishing Performance Baselines.............................................................44 1.31.1 Resource Utilization Baseline Tests.........................................................44 1.31.2 User Load Baseline Tests........................................................................45 1.31.3 Multipoint Conferencing Unit (MCU) Resource Utilization Baseline Tests: (Monitor on All MCUs).........................................................................................45

Summary
Virtualization is a powerful technology that enables IT departments to reduce costs and improve operational efficiency. Virtualization is increasingly being seen as a way to allocate resources smartly, and consolidate environments. Building on the efforts taken in Microsoft® Office Communications Server 2007 R2, Microsoft® Lync™ Server 2010 communications software provides a wide range of server virtualization capabilities to reduce total cost of ownership (TCO). This document outlines a series of best practice recommendations for running Lync Server 2010 in a virtualized environment.

1

Server Virtualization in Microsoft Lync Server 2010

Figures Figure 1 Small VM host configuration diagram.......................................................13 Figure 2 Medium VM host configuration diagram...................................................14 Figure 3 Large VM host configuration diagram.......................................................15 Figure 4 Virtual Enterprise Edition deployment A...................................................24 Figure 5 Virtual Enterprise Edition deployment B...................................................25 Figure 6 Mixed virtual-physical Enterprise Edition deployment..............................27 Figure 7 Virtual Standard Edition deployment........................................................27 Figure 8 Advanced tab of Network Adaptor Properties, showing Virtual Machine Queue setting...........................................................................................................32 Figure 9 Advanced tab of Network Adapter properties, showing Receive Buffers property....................................................................................................................33 Tables Table 1 Supported virtualized Lync Server roles and workloads ..............................8 Table 2 VM host configuration categories ..............................................................12 Table 3 VM host hardware base configuration........................................................12 Table 4 VM guest storage configuration ................................................................13 Table 5 VM guest virtual storage options ..............................................................18 Table 6 VM guest storage sizing recommendations...............................................18 Table 7 Virtual-physical scale comparison table.....................................................23

Glossary
The following are phrases and acronyms used throughout this document. Phrase/Acronym Meaning Standard Edition Lync Server 2010, Standard Edition is designed for small organizations, for pilot projects, or for branch sites within server larger organizations. It enables all of the features of Lync Server 2010, in addition to the necessary databases, to run on a single server. Lync Server 2010 Standard Edition does not provide a true high availability solution. Front End Server Lync Server 2010, Front End Server is the core server role of an Enterprise Edition pool, and performs the basic Lync Server 2010 functions. It is one of two server roles required to be in any Lync Server 2010, Enterprise Edition deployment. Lync Server 2010 Enterprise Edition is a collection of Front End Servers. Enterprise pools with two or more 2

Enterprise Edition pool

Server Virtualization in Microsoft Lync Server 2010

Back End Server

Front End Servers provide high availability, and allow scale out to a total of 10 Front End Servers within a pool. Enterprise pools allow separation of A/V Conferencing Server components. Lync Server 2010, Back End Server is a core server role, and hosts the Microsoft® SQL Server™ databases used by the Lync Server Front End Server. The Back End Server is the second of two server roles required to be in any Lync Server 2010 Enterprise Edition deployment. Back End Servers can be deployed on a single server running SQL Server, or on a SQL Server cluster. A pool is a set of identically configured servers running Lync Server that work together to provide services for a common group of users. A pool provides scalability and resiliency for the hosted workloads and functions. Lync Server 2010, A/V Conferencing Server provides audio/video (A/V) conferencing functionality to a deployment. It can be collocated with the Lync Server 2010 Front End Server, or deployed separately as a single server or Lync Server 2010 A/V Conferencing Server pool. For best performance, A/V Conferencing Server should be deployed separately to the Front End Server. Standard Edition server cannot utilize a stand-alone A/V Conferencing Server. AV Conferencing Servers are deployed as a single server or a pool of servers. No more than one A/V Conferencing pool is supported per site. Lync Server 2010, Edge Server enables users to communicate and collaborate with users outside an organization’s firewalls. Edge Servers are deployed as a single server or a pool of servers. Lync Server 2010, Monitoring Server collects data about the quality of network media in both Enterprise Voice calls and A/V conferences, as well as call detail records (CDRs). Monitoring Server is typically collocated with the Microsoft Lync Server 2010, Archiving Server. A SQL Server Back End Server is required to implement a Monitoring Server. Monitoring Server can be deployed only as a single server. Lync Server 2010, Archiving Server enables the archiving of instant messaging (IM) communications and meeting content for compliance reasons. A SQL Server Back End Server is required to implement Archiving. Archiving Server can be deployed only as a single server. The Microsoft Lync Server 2010, Director can authenticate Lync Server requests and redirects users to the their respective home pool. The Director role is most useful in 3

Pool

A/V Conferencing Server

Edge Server

Monitoring Server

Archiving Server

Director

Server Virtualization in Microsoft Lync Server 2010

deployments that enable external user access where the Director can authenticate requests before sending them on to an internal server. Directors can also improve performance in organizations with multiple Front End pools. Directors are deployed as a single server or a pool of servers. Application Sharing service Mediation Server The Application Sharing service, hosted on a Front End Server. The Microsoft Lync Server 2010, Mediation Server is a necessary component for implementing Enterprise Voice and dial-in conferencing. Mediation Server translates signaling and, in some configurations, media between your internal Lync Server infrastructure and an public switched telephone network (PSTN) gateway or a SIP trunk. Mediation Server can be collocated with the Front End Server, or can be installed as a stand-alone server for better performance. A stand-alone Mediation Server is recommended if Media Bypass is not available. Standalone Mediation Servers are deployed as a single server or a pool of servers. A conference using all modalities of Lync Server, including: application sharing, Voice over Internet Protocol (VoIP), video, instant messaging, dial-in conferencing, and web conferencing. A virtual machine is an instance of a guest operating system (running Windows Server® 2008 R2) running on a server running a hypervisor, such as Microsoft® HyperV™ or VMware ESX. Lync Server 2010 sites are defined as a location-based or logical grouping of collection of Lync Server 2010 components. A site is a set of computers that are well connected by a high-speed, low-latency network, such as a single local area network (LAN) or two networks connected by a high-speed fiber optic network. Note that Lync Server sites are a separate concept from Active Directory® Domain Services (AD DS) sites and Microsoft® Exchange Server sites. Your Lync Server sites do not have to correspond to your Active Directory sites. A native hypervisor runs directly on the host hardware on the lowest level (Ring -1, below kernel mode), and provides abstraction to allow multiple operating systems to run concurrently on a host computer, a feature called hardware virtualization. The hypervisor provides the guest operating systems with a virtual operating platform and monitors the execution of the guest operating systems.

Multi-modal Conference

VM

Site

Hypervisor

4

Server Virtualization in Microsoft Lync Server 2010

Introduction
1.1 What is Virtualization?
Virtualization, in its simplest form, provides a layer of abstraction between the hardware and operating system, and allows multiple operating system instances to share the same hardware. Server virtualization allows multiple operating systems (or “virtual machines”) and applicable workloads to share the resources of a single server. The main benefits of virtualization are improved resource utilization, and the ability to relocate virtual machines to different hosts, typically reducing the number of physical servers needed.

1.2 Why Virtualize?
In today’s competitive environment, organizations are increasingly dealing with concerns around reducing infrastructure costs while accurately forecasting operational expenditure, creating more value by providing faster but lower-cost services, and increasing operational efficiency at the same time. A well-managed IT environment that is efficient, reliable, and easily managed is essential to successfully meeting the above goals of the organization. Lync Server, with its server virtualization capabilities, helps companies achieve this goal by providing the following benefits: • Reduced Total Cost of Ownership o o o o o Leverage existing resources with server consolidation Increase space utilization with reduced number of physical servers Reduce power consumption and cooling requirements Decrease hardware maintenance and training costs Provide an abstraction of operating system and workloads from actual physical hardware Reduced Time to deploy Minimize service disruption and increase service levels Provide capacity on demand in response to changing business needs Speed up server deployment by duplicating a standard virtual server

o o o o •

Increased operational efficiency

5

Server Virtualization in Microsoft Lync Server 2010

o

Improve business continuity with high availability of hardware and applications Increase operational flexibility with dynamic resource management and server provisioning Improve server to admin ratio

o

o

6

Server Virtualization in Microsoft Lync Server 2010

Virtualization in Lync Server 2010
Microsoft has made significant investments in providing extensive virtualization support for Lync Server across a fully distributed topology. Lync Server can be virtualized by using Windows Server 2008 R2 Hyper-V, or other virtualization solutions that have been tested by Microsoft. For more details, see “Windows Server Virtualization Validation Program” at http://go.microsoft.com/fwlink/?linkid=200511. Due to limitations such as packet loss, delay, jitter, and clock skew, Office Communications Server 2007 R2 could only virtualize a few workloads such as Presence and IM. Lync Server 2010 now also supports server-side virtualization of real time media, thus enabling conferencing and voice workloads to be virtualized. Lync Server enables the following workloads to be virtualized: • • • • • • • • • • Instant Messaging (IM) IM conferencing Presence Enterprise Voice (PSTN) Audio Conferencing Video Conferencing Web Conferencing Application Sharing Remote Access, Federation (Edge Server) Response Group service

Virtualized Lync Server deployment can be considered for all sizes of deployment: From small single-site deployments, to large multi-site enterprise implementations. This document provides details on: • • • • • Best practice guidelines for deploying a virtualized Lync Server topology Typical VM host configurations VM guest configuration best practices based on the workload Scale comparison of virtualized and physical Lync Server roles Measuring Performance

Note: This document does not cover client virtualization scenarios such as application virtualization or remote desktop scenarios for the Lync client.

1.3 Terminology
Throughout this document, the following statements will be used: • Recommended: A recommended configuration or setting that has been explicitly validated, or follows the industry best practice standards. 7

Server Virtualization in Microsoft Lync Server 2010

Not recommended: A configuration or setting that is not recommended in a production deployment, based on the industry best practice standards, or that has been specifically identified as a potential problem in a virtualized Lync deployment. Not supported: A configuration, feature, or setting that must not be implemented in a virtualized Lync Server deployment. Running unsupported deployment may negatively impact functionality or performance of a Lync Server deployment.

1.4 Supported Functionality
Table 1 lists the server roles and corresponding features that are tested and supported in a virtualized site. Role Support Supported Features ed Enterprise Front End Standard Edition Server SQL Server Back End Server File Store Edge Server A/V Conferencing Server Mediation Server Director Monitoring Server Archiving Server Survivable Branch Office Appliance (OEM appliance) Survivable Branch Office Server (non-OEM server)
Table 1

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes

Registration, Presence, IM, Enterprise Voice, audio/video Registration, Presence, IM, Enterprise Voice, audio/video, SQL Store SQL Store File server Remote Access Audio/video Enterprise Voice Authentication, Redirection Monitoring service, QoE, and call detail records Archiving service Registration, Enterprise Voice Registration, Enterprise Voice

Supported virtualized Lync Server roles and workloads

Like a physical Lync Server, virtual Lync Server deployments will integrate with Microsoft Exchange Server 2010 to provide a Unified Messaging solution. Deployment of Lync Server in a virtual environment is described in this white paper. For details about deploying Exchange 2010 Unified Messaging, see “Understanding Unified Messaging Deployments” at http://go.microsoft.com/fwlink/? LinkId=210839.

8

Server Virtualization in Microsoft Lync Server 2010

1.5 Hypervisors
1.5.1 Validated Hypervisors • Windows Server 2008 R2 Hyper-V (For details about hotfix, see Microsoft Knowledge Base article 981836, “Network connection is lost on a Windows Server 2003-based Hyper-V VM” at http://go.microsoft.com/fwlink/? LinkId=201212) • Microsoft® Hyper-V™ Server 2008 R2 Hyper-V (For details about hotfix, see Microsoft Knowledge Base article 981836, “Network connection is lost on a Windows Server 2003-based Hyper-V VM” at http://go.microsoft.com/fwlink/?LinkId=201212) VMware ESX 4.0

1.5.2 Other Hypervisors Other Hypervisor implementations that have been validated through the Windows Server Virtualization Validation Program. Note: Lync Server is a real-time application workload which requires highperformance I/O (Network and Storage) which some hypervisor implementations may not be able to deliver. We recommend validating a deployment by using synthetic load tools.

1.5.3 Unsupported Hypervisors Although Hyper-V was available as a role in Windows Server 2008, that release is not supported. A number of enhancements that are critical for running virtualized Lync Server media workloads were implemented with Windows Server 2008 R2 to address network packet loss.

1.6 Guest Operating System Requirement
Windows Server 2008 R2 is required guest operating system. Critical network performance improvements are only available in the Windows Server 2008 R2 operating system. Windows Server 2008 SP2 is not supported as a guest operating system.

1.7 Virtualized Lync Server Deployment General Considerations
1.7.1 Mixing Physical and Virtual Servers Running Lync Server 2010 Generally physical and virtual servers can be combined in a deployment, with the following limitations:

9

Server Virtualization in Microsoft Lync Server 2010

Mixed virtual and physical servers within the same pool are not supported. A pool1 of Lync Server roles must be deployed as a homogenous set of servers (either physical or virtual) which roughly provide the same amount of resources. For virtualized deployments, ensure that the virtual machines are hosted in a way that equal resources are available to each guest in the pool. Lync Server does not perform load-based load balancing with the exception of the A/V conferencing workload. Note that a virtual Front End Server and a physical SQL Server Back End Servers are explicitly supported. Balanced end-to end-performance is required. When sizing a virtualized Lync Server deployment, use the guidance provided in this document to size each role adequately, and perform tests using the synthetic load tools available to validate that no bottlenecks exist. 1.7.2 Spreading Lync Server Workloads on Different VM Hosts If you are implemented a highly available, virtualized, Lync Server deployment consider spreading similar workloads to different VM hosts. For example, do not run all of the Front End Servers on the same VM host because you could potentially lose the complete pool if there is a failure on an individual VM host. Consider recovery of virtual machines on a different host as tool to limit the outage, but not as a tool to implement High Availability (also see next bullet). 1.7.3 High Availability through Virtualization Virtualizing a Lync Server deployment is not a replacement for implementing High Availability: Implement a pool of Lync server components (such as an Front End pool or Edge pool with two or more servers), as well as a clustered SQL Server Back End Server in order to achieve the best possible High Availability even in a virtualized setup. Migration to the next available virtual machine host is a tool to mitigate the duration of downtime, however does not provide the best High Availability solution for Lync Server. 1.7.4 Quick Migration and Live Migration Support Quick Migration and Live Migration with Lync Server 2010 workloads have not been validated by the product group at this point. Future updates of this white paper will provide more guidance. Considerations for migrating Lync Server workloads: • Front End Servers: Using draining prior to migration to minimize any client impact. Clients will disconnect from active sessions, such as active conferences, during migration. Migrating Front End Server or A/V Conferencing Server while a conference is progress: The delay will cause all clients to disconnect and the conference is recreated on another Front End Server, or A/V Conferencing Server. SQL Server Back End Server workload: While migration of the SQL Server back end VM, the Front End Servers will switch to resiliency mode until the migration is completed, and should reconnect.

1

A pool is defined as a Lync Server pool with more than two servers including the follow Server roles: Enterprise Edition Front End Server, Director, Mediation Server, A/V Conferencing Server, and Edge Server.

10

Server Virtualization in Microsoft Lync Server 2010

Depending on the time a migration takes, and what workloads are concurrently migrated, clients may connect to the backup registrar pool.

Live Migration of Lync Server workloads have not been validated, and is not supported (Applicable to Hyper-V Live Migration, and VMware Vmotion). Specifically, it has not been validated what the client experience would be if a live migration is performed on a Lync Server workload running an active conference. 1.7.5 Dynamic Memory Support Windows Server 2008 R2 Hyper-V SP1 (Service Pack 1) will provide support for Dynamic Memory (for details, see “Implementing and Configuring Dynamic Memory” at http://go.microsoft.com/fwlink/?LinkId=211071). Dynamic memory has not been validated with Lync Server 2010 workloads, and specific guidance cannot be provided.

Typical VM Host Configurations
Glossary: • Direct Attach Storage (DAS): Disk storage local to host, not shared. • • • • • • • • • • Storage Area Network (SAN): Storage devices accessible through a dedicated network. Internet Small Computer System Interface (iSCSI): IP-based storage networking standard, typically using Ethernet. Fiber channel (FC) : Network technology primarily for storage networking. MPIO = Multi-path IO: Redundant network path to a shared storage device. Virtual Machine Queue (VMQ): Hardware virtualization technology for the efficient transfer of network traffic to a virtual machine. Gigabit Ethernet (GbE): Type (Ethernet) and speed (units of Gigabit per second) of a network infrastructure. Serial Advanced Technology Attachment (SATA): Computer bus interface for mass storage attachment. Serial Attached SCSI (SAS): Computer bus interface for mass storage attachment. Solid state drive (SSD): A data storage device using solid-state memory. Logical unit number or LUN: A number used to identify a logical unit in a SAN or other storage devices. Mostly used to refer to a logical disk in a SAN.

Hardware vendors typically provide guidance on what type of servers, storage, and networking components are recommended for production-quality VM host configurations. The following section provides a generic overview of what

11

Server Virtualization in Microsoft Lync Server 2010

configurations are suitable for deploying a virtual Lync Server deployment, and what type of configurations should be avoided. With the context of this document VM host configurations are defined in the following scale, and are outlined in more detail below Size Small Mediu m Large
Table 2

VM Host Configuration Single VM host with direct attached storage (DAS) 4-12 VM hosts with shared storage (iSCSI SAN) multi path I/O (MPIO) 12-48 VM hosts with fiber connected shared storage (FC SAN multi path I/O)
VM host configuration categories

1.8 VM Host Server Configuration
The follow table represents a recommended hardware base configuration for a VM host as of Q4/2010. Component Server CPU Spec Enterprise-grade server, with a minimum of 2 CPU sockets (or more) Intel Xeon 5500 series or AMD Opteron 6100 series (2 GHz+) CPUs supporting NPT/EPT (Nested Page Tables/Extended Page Tables) Network adapter Dual (or more) 1 GbE or 10 GbE adapter (with VMQ support is recommended for 10 GbE network adapternetwork adapter). Note: Network adapter chipsets from Intel, Broadcom, and other vendors support VMQ. Two or more SATA or SAS HDD 10k rpm or higher (DAS), or equivalent storage, RAID 1 (VM host operating system usage), or equivalent SSD 32GB+ PC2-6400 DDR2, or PC3-8500 DDR3 Memory (or faster), must be ECC compliant

Storage

Memory
Table 3

VM host hardware base configuration

1.9 VM Guest Operating System and Application Storage Configuration
Storage recommendations are based on typical enterprise-grade traditional hard disk drives, or equivalent enterprise-grade solid state drives (SSDs). Typical

12

Server Virtualization in Microsoft Lync Server 2010

protocols for Storage Area Networks are iSCSI, Fiber Channel, or other equivalent solutions. Type DAS iSCSI SAN Spec Direct Attached Storage with SAS (15k or 10k rpm) or SATA (7.2k rpm) drives Storage Array Network with 1 GbE or 10 GbE iSCSI storage with enterprise class SAS (15k rpm) drives, or equivalent SSD drives. 2+ GB cache. Fiber connected Storage Array Network with 4, or 8Gbps Fibre Channel with enterprise class SAS (15k rpm) drives, or equivalent SSD drives. 4+ GB cache. Cluster Shared Volume (CSV) is a volume that is simultaneously available to directly read from and write.
VM guest storage configuration

FC SAN

CSV
Table 4

1.10

Small VM Host Configuration

A single VM host with direct attached storage configuration.

Figure 1

Small VM host configuration diagram

Recommended networking: • Dual network adapter/host: 1 network adapter reserved for host access, 1+ network adapter for shared VM guest application workload. 13

Server Virtualization in Microsoft Lync Server 2010

• •

network adapter speed: 1 GbE or 10 GbE (VMQ) Dedicated spindle for VM host, as well as a dedicated spindle for each VM guest virtual drive 100 Mbps network adapters Single network adapter (for VM host and VM guest application workload) Shared spindles between host and guests, or between guests

Recommended storage:

Not recommended: • • •

1.11

Medium VM Host Configuration

Multiple VM host with shared storage (SAN) attached through iSCSI.

Figure 2

Medium VM host configuration diagram

Recommended networking: • 3 network adapters/host: 1 network adapter reserved for host access, one 1 for shared VM guest application workload, 1 (or more) dedicated to iSCSI SAN access MPIO is recommended for network access to SAN Separation of application and iSCSI traffic (dedicated iSCSI segment) Network adapter speed: 1 GbE or 10 GbE. Implement VLANs to isolate network traffic

• • • •

Recommended storage:

14

Server Virtualization in Microsoft Lync Server 2010

• • • • •

Dedicated SAN LUN for each VM guest virtual drive (VHD or passthrough) Cluster Shared Volume (CSV) Host with less than 3 network adapters Shared Host/Application/iSCSI network adapter configurations Shared LUNs for VM guest or application workloads

Not recommended:

1.12

Large VM Host Configuration

Multiple VM host with shared storage (SAN) attached through Fiber Channel. Multiple network adapter (network adapter teaming) for load balanced guest network access. Dedicated network adapter for host-to-host communication (VM quick migration).

Figure 3

Large VM host configuration diagram

Recommended networking: • 4+ network adaptera/host: 1 network adapter reserved for host access, one 2 network adapters for shared VM guest application workload, 1 network adapter for VM host to host communication Fiber Channel (4 Gbps or 8 Gbps), 15

Server Virtualization in Microsoft Lync Server 2010

• • • • • • • • •

Network adapter speed: 1 GbE or 10 GbE (10 GbE recommended) Guest network adapter teaming (IEEE 802.3ad, network adapter teaming). Network adapter fault tolerance, and link aggregation Redundant network adapter and Fiber channel controllers, MPIO is recommended Alternatively to dedicated Fiber Channel Implement VLANs to isolate network traffic Dedicated SAN logical unit number (LUN) for each VM guest virtual drive (VHD or passthrough) Cluster Shared Volume (CSV)Redundant controllers in SAN Shared host/application network adapter configurations Shared LUNs for VM guest or application workloads

Recommended storage:

Not recommended:

1.13

VM Host Networking Considerations

Important Note: Lync Server media workloads, such as A/V and application sharing require more bandwidth that other typical server workloads (such as email or SQL Server database). The Lync media workloads are also more vulnerable to high latency and packet loss problems. While designing a virtualized Lync deployment it important to take networking contention into account. Networking considerations: • VM host must have at least one dedicated network adapter for the Lync Server workload. Shared usage with the VM host, or specifically with SAN access is not recommended. A Lync Server Media workload (primarily Front End Servers and A/V Conferencing Servers), can reach a peak network utilization of more than 500 Mbps (0.5 Gbps). If a specific VM host is targeted to host multiple guest VMs running Lync media workloads, ensure that the host network adapter is sized accordingly. To mitigate bottlenecks consider higher speed network adapters (such as 10 GbE), or multiple network adapters using link aggregation (network adapter IEEE 802.3ad), for example a 3 x 1 GbE network adapter in a network adapter teamed setup. For details, see Mircosoft Knowledge Base article 968703, “Microsoft Support Policy for NIC Teaming with Hyper-V” at http://go.microsoft.com/fwlink/?LinkId=211073. Enable VLAN tagging on the host network adapter, and implement (multiple) VLANs on the guests to optimize the network traffic for the various workloads, such as Front End Server to Client/AVMCU, and Front End Server to SQL Server Back End Server. Implement MPIO (Multi-Path IO) to your storage Back End Server.

16

Server Virtualization in Microsoft Lync Server 2010

Network adapter supporting VMQ: Enable Windows Server 2008 R2 Hyper-V and enable VMQ on the host network adapter. Note that not all network chipsets support VMQ. Current network adapter chipset vendors with VMQ support are Intel, Broadcom, and other vendors.

Virtualization Configuration Guidance
The VM guest configurations described in this section are based on virtualization best practices for general enterprise scale application workloads. While concepts and implementation details discussed here are specific to Hyper-V on Windows Server 2008 R2, similar concepts and features are available with other virtualization platforms.

1.14
• •

Applications Running in Host Root Partition

Running application in the VM host root operating system is not recommended. If antivirus software is deployed, ensure that the necessary scanning exceptions are implemented (such as files, folders, and processes ). For details, see Microsoft Knowledge Base article 961804, “Virtual machines are missing in the Hyper-V Manager Console or when you create or start a virtual machine, you receive one of the following error codes: “0x800704C8”, “0x80070037” or “0x800703E3” at http://go.microsoft.com/fwlink/? LinkId=210844. For further recommendations, see “Planning for Hyper-V Security” at http://go.microsoft.com/fwlink/?LinkId=210845.

1.15

Guest Virtualized Storage

The following table describes the different types of virtual hard drives in the guest. For best performance results, the a virtual disk has to reside dedicated physical disks, or on a dedicated logical unit on a SAN. 1.15.1 Type Dynamic Disk Fixed Disk Disk Types Recommen ded No Yes Comment Dynamic Disk VHDs are not recommended for production servers. Fixed Disk VHDs must be placed on a dedicated spindle in Direct Attached Storage, or on a dedicated LUN (Logical Unit) in a SAN. Passthrough disks are physical disks, or LUNs on a SAN which are exposed to the host and accessed by the guest directly. The performance is typically slightly higher than fixed disks. 17

Passthroug h Disk

Yes

Server Virtualization in Microsoft Lync Server 2010
Table 5 VM guest virtual storage options

For details, see “Planning for Disks and Storage” at http://go.microsoft.com/fwlink/? LinkId=210846. 1.15.2 Mapping of Storage to VM Guests

Hyper-V offers a number of different ways to expose a drive to a VM guest operating system. The appropriate method depends on a number of factors, such as if the storage is locally attached, or on a SAN, and there are no specific preferences from a Lync Server visualization perspective. Common best practices: • VM guest operating system boot drive must be mapped as a virtual IDE drive. SQL Server workloads use a virtual IDE drive for the operating system, and SQL Server binaries, and virtual SCSI controllers to map SQL Server log and SQL Server data drives iSCSI targets directly exposed to the VM guest is typically implemented if VMs need to be moved between VM hosts. Here the guest operating system drive on the SAN and the guest specific data drives will automatically be accessible to the guest after the move. If VMs are moved, it is required that guest storage is located on a shared storage attached using either iSCSI, for FibreChannel. VM Guest Storage Recommendations by Workload Guest Storage Sizing Recommendations Size 50 GB 30-100 GB* 30 GB – 500 GB*

1.15.3 1.15.3.1

Storage type Guest VM operating system with Lync Server installed (including paging file) SQL Server storage drives File storage drives
Table 6 VM guest storage sizing recommendations

* Size depends on scale of deployment depending on features such as meeting content archiving that are used in the Lync Server deployment. 1.15.3.2 Lync Server Workloads Storage

Note: The following recommendations ask for a single VHD or physical disk for the VM guest operating system and installed application. We also recommend separate operating system and application (binary) installation virtual hard drives (VHD) are recommended. The decision to implement a separate dedicated operating system VHD may depend on your preferences for your actual virtualized deployment.

18

Server Virtualization in Microsoft Lync Server 2010

Single virtual drive in guest VM , attached as a virtual IDE using a Fixed Disk, or Passthrough Disk. The virtual drive is placed on a dedicated physical spindle, or a dedicated LUN in a SAN. Workloads: • • • • • • • Front End Server Director Edge Server Stand-alone Mediation Server Stand-alone A/V Conferencing Server Archiving/Monitoring Server Survivable Branch server (not applicable to OEM Survivable Branch Appliance)

Two virtual drives in guest VM, attached as virtual IDE (optionally second as virtual SCSI) using Fixed Disk, or Passthrough Disk. The virtual drives are placed on dedicated physical spindles, or a dedicated LUN in a SAN. Workload: • Standard Edition server SQL Server Workloads Storage

1.15.3.3

All virtual drives are placed on dedicated physical spindles, or a dedicated LUN in a SAN. This is especially critical for the SQL Server storage virtual drives. SQL Server Back End Server to a Front End pool Four virtual drives in guest VM. Boot operating system drive attached as a virtual IDE using Fixed Disk. Three drives for SQL Server storage attached using virtual SCSI attached as a Passthrough Disk. However with slightly lower performance requirements, Fixed Disk for SQL Server storage is also acceptable. The three SQL Server storage drives map the following way: Rtcdyn log, Rtc log, and all other databases and logs. SQL Server Back End Server for Archiving and Monitoring Three virtual drives in guest VM. Boot operating system drive attached as a virtual IDE using Fixed Disk. Two drives for SQL Server storage attached using virtual SCSI attached as a Passthrough Disk. However with slightly lower performance requirements, Fixed Disk for SQL Server storage is also acceptable. The two SQL Server storage drives map the following way: Log files, DBs files. Important: Setting up databases in Lync Server on a virtualized SQL Server requires the use of the Install-CsDatabase cmdlet with the DatabasePath parameter set to explicitly allocate the designated SQL Server storage virtual drives. We do not recommend placing database or log files on the guest operating system drive.

19

Server Virtualization in Microsoft Lync Server 2010

Important: We do not recommend collocating back-end databases and Archiving and Monitoring databases into the same virtual SQL Server workload. 1.15.3.4 File Storage

Two virtual drives in guest VM, with the guest operating system drive attached as virtual IDE using Fixed Disk, and the second drive attached as virtual SCSI using a Passthrough Disk (acceptable Fixed Disk). The second drive is used for the Lync Server file share. The virtual drives are placed on dedicated physical spindles, or a dedicated LUN in a SAN. Note: For more details and recommendations about storage options, see “Storage options for Windows Server 2008 Hyper-V” at http://go.microsoft.com/fwlink/? LinkId=210858.

1.16
1.16.1

Other VM Guest Configuration Settings
Guest Operating System

Windows Server 2008 R2 is the required guest operating system. Windows Server 2008 SP2 is not supported. 1.16.2 • Network adapter

Always use the synthetic VM network adapter in the guest operating system. The use of the legacy network adapter is not supported for a guest operating system running a Lync Server media workload. Use IP version 4 (IPv4) only in the VM guest and VM host. Disable IPv6 on both the guest and host for improved performance. Ratio of Physical to Virtual CPUs

1.16.3 • •

Do not oversubscribe physical to virtual CPUs, specifically: Oversubscription of CPU cores on the host running virtualized Lync Server media workloads is not supported. Oversubscription of CPU cores on the host is not recommended when running other non-media virtualized Lync Server workloads (such as Director and Archiving and Monitoring Server), or supporting virtualized storage workloads (SQL Server or file server).

Note: Virtual machine reserved allocations are not explicitly necessary. If CPU oversubscription is implemented, consider allocating virtual machine reserves for critical workloads such as the SQL Server Back End Server. 1.16.4 Support of VM Image Templates Lync Server 2010 does not support sysprep, which is applicable also to Microsoft® SQL Server 2008 Express, which is installed on each Lync Server role. This implies that a preconfigured generic Lync Server VM image templates cannot be created. We recommend the use of custom operating system templates with applicable operating system prerequisites installed depending on the targeted workload, for example an operating system template for Front End Servers containing Internet 20

Server Virtualization in Microsoft Lync Server 2010

Information Services (IIS), Windows Media® Format Runtime, Message Queuing (also known as MSMQ). As a separate VM configuration step, Lync Server roles get deployed and activated after the guest operating system is fully configured. 1.16.5 Disable Virtual DVD/CD Drives in Guest Operating System

If virtual DVD/CD drives are not required in the guest operating system, it is a best practice to disable these drives for better performance.

Scale Comparison of Virtualized and Physical Lync Server Roles
1.17 CPU
We recommend an 8 CPU core (Enterprise class CPU) hardware profile for a physical Lync Server. However, Hyper-V supports a maximum of 4 virtualized CPU core. Due to this resource constraint, a virtualized Lync Server role can handle approximately 50% of the load compared to a physical server running Lync Server and using the recommended hardware specifications. In addition, a 10% virtualization overhead is deducted.

1.18

Memory

Required memory of a virtualized Lync Server 2010 role does not scale down in a linear way by 50%. A recommendation per workload is provided in the table below.

21

Server Virtualization in Microsoft Lync Server 2010

1.19

Scale Comparison Table Physical-Virtual

Standard User model with conferencing, PSTN conferencing, and Enterprise Voice IM&P = IM and Presence AS AV EV Reg AP DP MR = Application Sharing = A/V Conferencing (collocated if Front End Server) = Enterprise Voice (Response Group Service/PSTN access), Mediation Server = Registrar (subset of IM&P) = Access Proxy (Edge Server) = Data Proxy (Edge Server) = Media Relay (Edge Server)

Note: The Virtual Machine numbers are based on a 4 core CPU Virtual Machine.
Lync Server Role Features CPU Enterprise Edition Front End Server Enterprise Edition Front End Server Enterprise Edition Front End Server Enterprise Edition Front End Server Standard Edition Front End Server Standard Edition Front End Server Director Monitor/Archivi ng Server IM&P 8 core 8 core 8 core 8 core Physical Memor y 12 GB User 20K CPU 4 core Virtual Memor y 10 GB User 12.5K

IM&P, AS, AV, EV IM&P, AS, EV (8 Front End pool) IM&P, AS, EV (single Front End Server in pool) IM&P

16 GB

5K

4 core

16 GB

2.5K

12 GB

10K

4 core

11 GB

5K

12 GB

7K

4 core

11 GB

4K

8 core 8 core 4 core 8 core

16 GB

25K

4 core

12 GB

12.5K

IM&P, AS, AV, EV Reg

16 GB

5K

4 core

16 GB

2.5K

4 GB 16 GB

20K 230K

4 core 4 core

4 GB 8 GB

10K 110K

22

Server Virtualization in Microsoft Lync Server 2010

A/V Conferencing Server Mediation Server* Edge Server Survivable Branch Server SQL Server Back End Server (FE) SQL Backend (M/A) File Server
Table 7

AV

8 core 8 core 8 core 2 core 8 core 8 core 4 core

16 GB

20K

4 core

11 GB

10K

MS

16 GB

800 concurre nt calls 15K 1K 80K

4 core

10 GB

400 concurre nt calls 7.5K 1K 40K

AP, DP MR Reg, MS

16 GB 2 GB 32 GB

4 core 2 core 4 core

8 GB 2 GB 16 GB

16 GB 4 GB

230K 80K

4 core 2 core

12 GB 3 GB

115K 40K

Virtual-physical scale comparison table

* Stand-alone Mediation Server for deployments without Media Bypass 1.19.1 • • Maximum Conference Size Physical-Virtual

Physical deployment: 250 users Virtualized deployment: 125 users (4 core CPU Virtual Machine)

1.19.2 Stand-alone A/V Conferencing Server Recommendation Physical-Virtual Recommendation for deploying a dedicate stand-alone A/V Conferencing Server or pool separate from an Enterprise Edition Front End pool: • • Physical Lync Server deployment: 10K or more users Virtual Lync Server deployment: 5K or more users (4 core CPU Virtual Machine)

Sample Lync Server Virtualized Topologies
Note: The diagrams below are examples, and it is not required to host a specific combination of VM workload on any given VM. The example VM host specification here is a 16 core server, with 64 GB of memory.

23

Server Virtualization in Microsoft Lync Server 2010

1.20

Virtual Enterprise Edition Deployment A

All virtualized topology with eight Front End Servers, four A/V Conferencing Servers, one SQL Server Back End Server, one SQL Server for archiving and monitoring, one Archiving and Monitoring Server (collocated), one File Server, and – on a separate VM host in the perimeter network (also known as DMZ) – two Edge Servers. Scale: 40K users, default usage profile, all modalities

Figure 4

Virtual Enterprise Edition deployment A

1.21

Virtual Enterprise Edition Deployment B

All virtualized topology with four Front End Servers, three A/V Conferencing Servers, one SQL Server Back End Server, one SQL Server for archiving and monitoring, one Archiving and Monitoring Server (collocated), one File Server, and (with VLAN into the perimeter network) single Edge Server. Scale: 20K users, default usage profile, all modalities

24

Server Virtualization in Microsoft Lync Server 2010

Figure 5

Virtual Enterprise Edition deployment B

25

Server Virtualization in Microsoft Lync Server 2010

1.22

Mix Virtual/Physical Enterprise Edition Deployment

Mixed virtualized/physical topology with eight Front End Servers, four A/V Conferencing Servers, one SQL Server Back End Server (physical Back End and Archiving and Monitoring Store in same SQL Server instance), one Archiving and Monitoring Server (collocated), one File Server (physical), and two Edge Servers (on physical server). Survivable Branch Server virtualized (example for single site), and other workloads are running on the VM host in the branch. Scale: 40K users, default usage profile, all modalities

26

Server Virtualization in Microsoft Lync Server 2010
Figure 6 Mixed virtual-physical Enterprise Edition deployment

1.23

Virtual Standard Edition Deployment

All virtual Standard Edition deployment, single Standard Edition server, with Archiving and Monitoring, SQL Server (Archiving and Monitoring), Edge Server (VLAN configuration to perimeter network) Scale: 2K users, default usage profile, all modalities

Figure 7

Virtual Standard Edition deployment

27

Server Virtualization in Microsoft Lync Server 2010

Test Results
• Virtual Machine Queue (VMQ) should be enabled wherever supported by network adapters. VMQ is a virtualization technology for the efficient transfer of network traffic to a virtualized operating system. VMQ allows the VMs to filter the queue of packets within the network adapternetwork adapter, resulting in improved efficiency of network traffic. VMQ requires support in the hypervisor, as well as using VMQ-enabled network adapternetwork adapters (limited to Intel and Broadcom based network adapternetwork adapters). You can enable this for each virtual machine using the hypervisor’s management console, assuming that the host’s network adapternetwork adapter supports this. For details about enabling VMQ, see Appendix A. Ensure that the latest network adapternetwork adapter driver from the hardware manufacturer is installed. Increase the network adapternetwork adapter’s send/receive buffers to at least 1024 on any network adapternetwork adapter dedicated to virtual machines. Increasing the send/receive buffer allows the operating system greater time to process the network queue, and helps to avoid packet loss. For details about how to do this, see Appendix B.

• •

28

Server Virtualization in Microsoft Lync Server 2010

Measuring Performance on Virtual Lync Server 2010
The testing described in the previous section required interpreting the Lync Server user model, and understanding how to measure the performance of Lync Server. This section describes the user model and how it was used to measure performance on virtual machines that are running Lync Server. Additionally, this section describes the key performance indicators (KPIs) to monitor for virtual Lync Server performance.

1.24

Performance Indicators

For details about specific performance counters and where to observe them, see Appendix D: Performance Counters. 1.24.1 Processor and Percentage of Processor Time

In general, all processors and percentage of total processor time should be measured on each server. Short CPU spikes of 70% or more for less than a few minutes is acceptable, however, the CPU should typically be operating at less than 70% during peak load. If it is consistently higher, there could be more users connected than usual, or some other change resulting in higher load. This indicates that the process is overloaded, and more instances of the server are needed to handle that load. 1.24.2 Network Interface

The network adapternetwork adapters should be operating at no more than 80% capacity. 1.24.3 Memory

Pages/second indicates the total pressure on the server’s available memory. 1.24.4 Databases • Queue Latency: The amount of time a request spends in the queue to the Back End Server. If for any reason resources (such as disk, memory, network, and processor) on the Back End Server are too high, the queue latency will also be high. Queue latency can also be high if there is too much network latency between the Front End Server and the Back End Server. • Sproc Latency: The amount of time it takes the Back End Server to process a request. If both Sproc latency and Queue latency counters are high, then the most likely bottleneck is the SQL Server back-end database. Check for disk IO contention first (see disk). SQL Server database active transactions are a good indicator of which database is having more contention than others. • Page Life Expectancy: The server needs more RAM if this counter is a value fewer than 3600, which indicates memory pressure by the system. Note:

29

Server Virtualization in Microsoft Lync Server 2010

there should be few ‘reads’ on the database drive if there’s sufficient memory because SQL Server should only be writing to the database. 1.24.5 SIP • Average Holding Time for Incoming Messages: If this counter is more than 10 seconds (12 seconds maximum), then the server goes into throttling mode and only allows one outstanding transaction per client connection. If this value goes down to 3 seconds, then the server allows up to 20 outstanding transactions per client connection. • Flow Controlled Connections: Whenever the number of transactions on a specific connection exceeds the above threshold, the connection is marked as flow controlled and the server doesn’t post any receives on it, and this counter is incremented. • Local 503 Responses/sec: The HTTP 503 return code corresponds to server unavailable. There shouldn’t be any of these responses on a healthy server in a steady state. There may be some during ramp up, after a server has just been brought back online, but once all users reconnect and the server reaches a stable state there should no longer be any of these responses. • Local 504 Responses/sec: A few of these responses to clients are to be expected (for example, when clients abruptly disconnect), but this counter mostly indicates connectivity issues with other servers. This can indicate connection failures or delays connecting to remote servers. • Sends Outstanding: If the 504 performance counter indicates that 504s are being received, then this is a good counter to check. This value indicates the number of requests and responses that are queued outbound: if this counter is high then the problem is probably not on this server. This counter can also be high if there are network latency issues.

30

Server Virtualization in Microsoft Lync Server 2010

Appendix A: How to Enable VMQ on Intel Network Adapter
Note: If you are using a network adapter teaming with the Intel network adapter, ensure that you have Intel v15.0 (or higher driver available). Earlier versions do not support VMQ on a teamed network adapter. In a command prompt window, run the following to add the key to the host machine’s registry: reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameter s\BelowTenGigVmqEnabled /t REG_DWORD /d 1 /f Then, enable VMQ on the driver: 1. In Control Panel, open the Device Manager and browse to Network Adapters. 2. Right-click the applicable network connection, click Properties, and then click the Advanced tab. 3. In the Settings list, click Virtual Machine Queues, and then set the value to Enabled.

31

Server Virtualization in Microsoft Lync Server 2010

Figure 8 Advanced tab of Network Adaptor Properties, showing Virtual Machine Queue setting

32

Server Virtualization in Microsoft Lync Server 2010

Appendix B: How to Increase Send/Receive Buffers on Intel Network Adapter
1. In Control Panel, open Device Manager and browse to Network Adapters. 2. Right-click the applicable network connection, click Properties, and then click the Advanced tab. 3. In the Property list, click Receive Buffers, and increase the value to at least 1024. 4. In the Property list, click Transmit Buffers, and increase the value to at least 1024. 5. Depeding on the driver version used, Receive and Transmit Buffers may not be visible here, and rather “Performance Options” may be listed. If this is the case, open it and browse to the settings for Transmit and Receive Buffers. 6. Click OK to save these settings.

Figure 9 Advanced tab of Network Adapter properties, showing Receive Buffers property.

33

Server Virtualization in Microsoft Lync Server 2010

Appendix C: Changing the Bandwidth Limit for Application Sharing
You can change the upper bandwidth limit used by Application Sharing server by using the Set-CsConferencingPolicy cmdlet in Lync Server Management Shell. 150 Mbps is the recommended limit; after this point the virtual machines were observed to become CPU bound. Run the following example cmdlet on the virtual Standard Edition server to change the Application Sharing bandwidth: Set-CsConferencingConfiguration -Identity global – MaxBandwidthPerAppSharingServiceMb 150

34

Server Virtualization in Microsoft Lync Server 2010

Appendix D: Performance Counters
In order to monitor performance in a virtual Lync Server site, the performance counters described in this section should be observed. For details about how to create performance baselines, see the second part of this section.

1 Lync Server 2010 Performance Counter Reference
For reference, the performance counter information in this section is separated by the Lync Server role as follows: • All Servers • • • • • Front End Server Edge Server Back End Server Mediation Server A/V Conferencing Server

1.25

All Servers

Monitor the following performance on all virtual Lync Server system: Details Performance Counter Monitor and collect (for Lync Server processes) Process(*)\%Processor Time Monitor and collect (for Lync Server processes) Process(*)\%Privileged Time
Process(*)\%Private Bytes Process(*)\%Virtual Bytes Processor\% Processor Time (Total)

Monitor and collect (for Lync Server processes) Monitor and collect (for Lync Server processes) It’s OK to see short CPU spikes at 70% or more – less than a few minutes, but the CPU should normally operate at less than 70% during peak load. If it is consistently higher, then determine if there are more users connected than usual or if there has been some other change that may result in higher load. Note this counter is representing the virtualized CPU as the guest operating system sees it. This should usually be less than 1 second on average but it’s normal to see short spikes of up to 3 seconds. The server will throttle new incoming messages after going above the high watermark and until the number of 35

LS:SIP – 07 – Load Management; SIP – 000 – Average Holding Time For Incoming Messages

Server Virtualization in Microsoft Lync Server 2010

LS:SIP – 01 – Peers\SIP – 020 – Average

LS:USrv – 21 – Https Transport; USrv – 002 – Number of failed connection attempts / Sec

messages falls below the low watermark. Check Outgoing Queue Delay for delays sending messages to other servers or clients that could be causing messages to be accumulated in the server. The server will drop client connections if it’s in a throttle state and messages stay in the outgoing queue for more than 32 seconds. The server starts rejecting new connections when average holding time is greater than overload time of 15 seconds. Monitor and collect

1.26

Front End Servers
Details Compare these counters’ maximum to the published conferencing numbers in this document.

Monitor the following Lync Server modalities on Front End Servers:
Performance Counter \LC:AsMcu – 00 – AsMcu Conferences\ASMCU – 010 – Connected Users \LC:AsMcu – 00 – AsMcu Conferences\ASMCU – 010 – Active Conferences \LC:ImMcu – 00 – ImMcu Conferences\IMMCU – 010 – Connected Users \LC:ImMcu – 00 – ImMcu Conferences\IMMCU – 010 – Active Conferences \LC:RGS – 01 – response group service call control\RGS – 009 – Current active calls \LC:SIP – 01 – Peers(Clients)\SIP – 000 – Connections Active \LC:DATAMCU – 00 – DataMCU Conferences\DATAMCU – 003 – Active Conferences \LC:USrv – 06 – Rich Presence Service SQL Calls\ISrv – 005 – Publications/Sec \LC:MediationServer – 00 – Outbound Calls(_Total)\- 000 Current \LC:MediationServer – 01 – Inbound Calls(_Total)\- 000 Current

Monitoring the individual processes on Front End Servers:
Performance Counter Processor\(_Total)\%ProcessorTime \Processor\(ASMCUSvc)\%ProcessorTime \Processor\(IMMCUSvc)\%ProcessorTime \Processor\(MediationServerSvc)\ %ProcessorTime \Processor\(OcsAppServerHost#1)\ %ProcessorTime \Processor\(OcsAppServerHost#2)\ %ProcessorTime \Processor\(OcsAppServerHost#3)\ Details

Monitor and collect

36

Server Virtualization in Microsoft Lync Server 2010

%ProcessorTime \Processor\(OcsAppServerHost#4)\ %ProcessorTime \Processor\(OcsAppServerHost#5)\ %ProcessorTime \Processor\(OcsAppServerHost#6)\ %ProcessorTime \Processor\(RTCSrv)\%ProcessorTime \Processor\(RtcHost)\%ProcessorTime

Monitor following SIP/IMMCU/Database Store performance counters on all Enterprise Edition Front End Servers: Details Performance Counter Queue Latency: the time a request spends in LS:USrv – 01 - DB Store; USrv – 002 Queue Latency (msec) the queue to the Back End Server. The server will start dropping requests when the database queue latency is >32 seconds. Sporadic spikes of a few seconds are considered normal, however the average latency should be < 100msec. Server health decreases as latency increases to 32 seconds, after which server throttling begins.
LS:USrv – 01 - DB Store; USrv – 004 Sproc Latency (msec) Note: If for any reason (such as disk, memory, network, or processor) on the Back End Server is too high, the queue latency counter will be high. Queue latency can also be high if there is too much network latency between the Front End Server and the Back End Server. If both Sproc Latency and Queue Latency counters are high, then most likely the bottleneck is the SQL Server back-end database. Check for disk IO contention first (see Physical Disk perf counters). SQL Database active transactions are a good indicator of which database is having more contention than the others.

LS:USrv – 01 - DB Store; USrv – 020 – Throttled requests/sec LS:Urv – 13 – Endpoint Cache;USrv – 001 – Active Registered Endpoints LS:SIP – 07 – Load Management;SIP – 000 – Average Holding Time For Incoming Messages LS:SIP – 07 – Load Management;SIP – 004 –Incoming Messages Held Above High Watermark LS:SIP – 07 – Load Management;SIP – 005 –Incoming Messages Held Above High Overload Watermark

Rarely, requests are dropped from the queue due to database queue contention.

37

Server Virtualization in Microsoft Lync Server 2010

LS:SIP – 07 – Load Management;SIP – 006 –Incoming Messages Timed out MSSQL$RTCLOCAL: Buffer Manager Page life expectancy

The server could need more RAM if this counter is < 3600 which indicates memory pressure by the system. Additionally, there are few to no ‘reads’ on the database drive if there’s enough memory, because SQL Server should only be writing to the database.

LS:SIP - 07 - Load Management; SIP 000 - Average Holding Time For Incoming Messages LS:SIP – 04 – Responses; SIP – 053 Local 500 Responses/sec LS:SIP – 04 – Responses; SIP - 055 Local 503 Responses/sec

Indicates that there’s some server component that is not functioning correctly.
The 503 code corresponds to server unavailable. There should not be any 503s on a healthy server at a steady state. During ramp up, after a server has just been brought back online, there may be some 503s. However, as all users get back in and the server returns to a stable state, there should no longer be any 503s. A few 504 responses to clients (for clients disconnecting abruptly) is to be expected, but this counter mainly indicates connectivity issues with other servers. It can indicate connection failures or delays connecting to remote servers. If there are 504 responses, this is a good counter to check. It indicates the number of requests and responses that are queued outbound, which means that if this counter is high then the problem is probably not on this server. This counter can be high if there are network latency issues

LS:SIP – 04 – Responses; SIP – 057 Local 504 Responses/sec

LS:SIP – 01 – Peers; SIP - 017 - Sends Outstanding (*)

LS:ImMcu – 02 – MCU Health And Performance; IMMCU – 005 – MCU Health State

LS:USrv– 23 – Conference Focus Factory; USrv – 012 – Add Conference requests succeeded LS:USrv– 24 – Conference Control; USrv – 018 – Local C3P failure responses LS:USrv– 26 – Conference Mcu Allocator; USrv – 009 – Factory Unreachable Failures LS:USrv– 26 – Conference Mcu Allocator; USrv – 010 – Factory Calls Timed-Out LS:USrv– 26 – Conference Mcu Allocator; USrv – 016 – Create Conference Mcu Unreachable Failures

The current health of the Instant Messaging “MCU”. 0 = Normal 1 = Loaded 2 = Full 3 = Unavailable. Compare to total add conference requests to determine conference allocation failures. These counters indicate conferencing related failures.

38

Server Virtualization in Microsoft Lync Server 2010

LS:USrv– 26 – Conference Mcu Allocator; USrv – 017 – Create Conference Requests Timed-Out

Monitoring the following Performance Counters for the Web Servers component (applicable to Front End Server and Director role) Details Performance Counter
LS:DATAMCU – 00 – DataMCU Conferences; DATAMCU – 003 – Active Conferences ---LS:DATAMCU – 00 – DataMCU Conferences; DATAMCU – 025 – Number of Data MCU users in any role -LS:DATAMCU – 04 – MCU Health and Performance; DATAMCU – 005 – MCU Health State LS:DATAMCU – 04 – MCU Health and Performance; DATAMCU – 006 – MCU Draining State

The current health of the MCU. 0 = Normal. 1 = Loaded. 2 = Full. 3 = Unavailable. The current draining status of the MCU. 0 = Not requesting to drain. 1 = Requesting to drain. 2 = Draining.

Monitor the following performance For application sharing (ASMCU), observe the following:
Performance Counter LS:AsMCU – 02 – CCCP Processing ---LS:AsMCU – 017 – CCCP Messages Retried/Sec ---LS:AsMCU – 019 – Current CCCP Message Queue Size ---LS:AsMCU – 029 – Number of add conference requests failed ---LS:AsMCU – 030 – Number of add user requests failed ---LS:AsMCU – 00 – AsMcu Conferences\ASMCU – 000 – Active Conferences LS:AsMCU – 00 – AsMcu Conferences\ASMCU – 003 – Connected Users Details

Monitor and collect

1.27

Edge Server

Monitor the following performance counters on Edge Server (Access Edge SIP component):
Performance Counter \LC:SIP – 09 – Access Edge\SIP – 001 – External Messages/sec with Internally Supported Domain \LC:SIP – 09 – Access Edge\SIP – 003 – External Messages/sec Received With Allowed Partner Details

Monitor and collect

39

Server Virtualization in Microsoft Lync Server 2010

Server Domain \LC:SIP – 09 – Access Edge\SIP – 001 – External Messages/sec Received With IM Service Provider Domain \LC:SIP – 09 – Access Edge\SIP – 001 – External Messages/sec Received With a Configured Allowed Domain

Monitor the A/V Conferencing Edge component (audio/video and application sharing): LS:A/V Edge – 00 UDP Counters: Details Performance Counter
LS:A/V Edge - 001 - Active Relay Sessions – Authenticated LS:A/V Edge - 002 - Active Relay Sessions Allocated Port LS:A/V Edge - 003 - Active Relay Sessions – Data LS:A/V Edge - 004 - Allocated Port Pool Count LS:A/V Edge - 005 - Allocated Port Pool Miss Count LS:A/V Edge - 006 - Allocate Requests/sec LS:A/V Edge - 009 - Allocate Requests Exceeding Port Limit LS:A/V Edge - 012 - Alternate Server Redirects LS:A/V Edge – 019 – Session Idle Timeouts/sec LS:A/V Edge - 021 - Packets Received/sec LS:A/V Edge - 022 - Packets Sent/sec LS:A/V Edge - 025 - Average Data Packet Latency (milliseconds) LS:A/V Edge - 030 - Packets Dropped/sec This error occurs when an unexpectedly high rate of User Datagram Protocol (UDP) packets is received at the Media Relay (A/V Edge server) causing some packets to be discarded. This could be the result of system overload or an indication of an attempt to misuse the MR.

The value must be > 0. If it reaches 0 there is a resource issue.

If the value is > 0, this could indicate an attempt to misuse the port.

To resolve this, check that the profile of network traffic to the MR is in line with expected usage. If the traffic exceeds 250 Mbps per interface then increase the Receive and Transmit buffer size on the associated network 40

Server Virtualization in Microsoft Lync Server 2010

adapternetwork adapters to three times the default values. If the cause is a general system overload, then increase capacity of the deployed MR function. A network level trace can be used to determine if there is an unusual amount of traffic originating from a single source. If the situation persists, then enable tracing to check the network source of sessions exceeding the bandwidth limits to allow further troubleshooting of the cause. LS: A/V Edge – 01 – TCP Counters:
Performance Counter LS:A/V Edge - 001 - Active Relay Sessions – Authenticated LS:A/V Edge - 002 - Active Relay Sessions Allocated Port LS:A/V Edge - 003 - Active Relay Sessions – Data LS:A/V Edge - 004 - Allocated Port Pool Count LS:A/V Edge - 005 - Allocated Port Pool Miss Count LS:A/V Edge - 006 - Allocate Requests/sec LS:A/V Edge - 009 - Allocate Requests Exceeding Port Limit LS:A/V Edge - 012 - Alternate Server Redirects LS:A/V Edge – 019 – Session Idle Timeouts/sec LS:A/V Edge - 021 - Packets Received/sec LS:A/V Edge - 022 - Packets Sent/sec LS:A/V Edge - 025 - Average Data Packet Latency (milliseconds) LS:A/V Edge - 030 - Packets Dropped/sec Details

The value must be > 0. If it reaches 0 there is a resource issue.

If the value is > 0, this could indicate an attempt to misuse the port.

This error occurs when an unexpectedly high rate of TCP packets is received at the MR causing some packets to be discarded. This could be the result of system overload or an indication of an attempt to misuse the MR.

To resolve this, check that the profile of network traffic to the MR is in line with expected usage. If the traffic exceeds 250 Mbps per interface then increase the Receive and Transmit buffer size on the associate network adapter to three times the default values. 41

Server Virtualization in Microsoft Lync Server 2010

If the cause is general system overload then increase capacity of the deployed MR function. A network level trace can be used to determine if there is unusual amount of traffic originating from a single source. If the situation persists then enable tracing to check the network source of sessions exceeding the bandwidth limits to allow further troubleshooting of the cause. Monitor the following on the HTTP relay (Web Server component with Reach client):
Performance Counter LS:WebRelay – 00 – Reach Web Relay Server\* Details

Monitor and collect

1.28

Back End Server
Details

Memory (not applicable if guest VM has dynamic memory enabled)
Performance Counter % Committed Byes in Use Available Mbytes Cached Bytes/[peak]

Monitor and collect

Network Interface:
Performance Counter Bytes Total/sec <All instances> Details

Monitor and collect Details A consistently small percentage of idle time is usually an indication of poor disk performance. Disk Queue Length per drive should be no more than double the number of spindles backing up that drive. Any average numbers above 1.5 msec usually indicate poor disk performance. Details Monitor and collect

Physical Disk:
Performance Counter % Idle Time (*) Ave. Disk Queue Length (*) Avg. Disk Sec/Read(*) Avg. Disk Sec/Write(*)

Process:
Performance Counter Process(*)\%Processor Time Process(*)\%Privileged Time Process(*)\%Private Bytes Process(*)\%Virtual Bytes Processor Information: % Interrupt Time (_Total) % Processor Time (_Total)

Short CPU spikes of around 80% or more for less than a few minutes is to be expected, but the CPU should normally operate at less than 80% during 42

Server Virtualization in Microsoft Lync Server 2010

peak load. If it is consistently higher, then determine if there are more users connected than usual or if there has been some other change that may result in higher load. Database:
Performance Counter SQLServer:User Settable\User Counter 1 MSSQL$RTC:Databases(rtc)\Activ e Transactions MSSQL$RTC:Databases(rtcdyn)\A ctive Transactions MSSQL$RTC:Databases(tempdb)\ Active Transactions

Details Approximate number of active endpoints in the pool. A high number of active transactions usually indicates database transaction contention. Monitor and collect

1.29

Mediation Server

The following performance counters should be used to measure the performance of the Mediation Server: Details Performance Counter The total number of active calls going through the LS:MediationServer - 00 Outbound Calls\- 000 – Current Mediation Server. Total number of active calls going through Mediation LS:MediationServer - 00 Outbound Calls\- 006 – Active Server that are in Media Bypass mode. Calls using media bypass calls Media Bypass use significantly fewer Mediation Server resources because the media is not flowing through Mediation Server. Total number of active channels that are having LS:MediationServer – 04 – Global Counters\-000 Current Audio Phase Shift Modulation (PSM)quality reported. channels with PSM quality Calculating PSM quality has a processing overhead reporting so this should be taken into account when measuring performance. Monitor and collect LS:MediationServer - 01 Inbound Calls\- 000 – Current LS:MediationServer - 00 Inbound Calls\- 006 – Active media bypass calls

43

Server Virtualization in Microsoft Lync Server 2010

The following performance counters can be useful when troubleshooting the Mediation Server component: Details Performance Counter The number of calls where media connectivity LS:MediationServer - 02 - Media Relay\- 001 - Media Connectivity between Mediation Server and the remote Check Failure endpoints could not be established. Scaled index between zero and 100 that is related LS:MediationServer - 03 - Health Indices\- 000 - Load Call Failure to all call failures due to Global Health Index as Index heavy load. The number of calls that failed because of an CS:MediationServer - 04 - Global Counters\- 001 - Total failed calls unexpected response from the Front End Server.
caused by unexpected interaction from the Proxy ---CS:MediationServer - 05 - Global Per Gateway Counters\- 000 Total failed calls caused by unexpected interaction from a gateway

The number of calls that failed because of an unexpected response from a gateway peer.

1.30

Audio/Video Conferencing Server

Monitor the following Performance Counter with applicable threshold levels (implement in System Center Operations Manager Lync Server Management) Details Performance Counter
LS:MEDIA - 01 – Planning\MEDIA - 009 - Number of occasions conference processing is delayed significantly\ AVMCUSvc.exe LS:SipEps - 02 - SipEps Connections\SipEps - 010 – NumberOfDNSResolutionFailures\*avmcusvc*

Error Threshold = 30 Experiencing transient audio quality issues due to CPU load Error Threshold = 1 (in 4 consecutive)

The events in the Lync Server event log reflect media stack health: Details Event ID If the A/V Conferencing Server 32013 Audio Video Conferencing Server health monitoring has detected that Audio Video reaches these points then Conferencing Server is running at a moderate subsequent operations to add new capacity (Warning or Error) conferences and new users will be rejected until the health returns to normal state.

1.31
1.31.1

Establishing Performance Baselines
Resource Utilization Baseline Tests

In order to establish a performance baseline, use the following counters

Processor; % Processor Time (_Total) Process; % Processor Time (RtcSrv)

44

Server Virtualization in Microsoft Lync Server 2010 Process; % Processor Time (IMMcuSvc) Memory; Pages/sec --Network Interface; Bytes Total/sec ([your network adapter])

1.31.2

User Load Baseline Tests

LS:SIP – 01 - Peers; SIP - 028 - Incoming Requests/sec (_Total) LS:SIP - 01 – Peers; SIP – 001 – TLS Connections Active (_Total) LS:SIP – 01 – Peers; SIP – 000 – Connections Active (_Total) LS:SIP – 02 – Protocol; SIP - 001 - Incoming Messages/sec ---LS:ImMcu – 00 - IMMcuSvc Conferences; IMMCU – 000 - Active Conferences ---LS:ImMcu – 00 - IMMcuSvc Conferences; IMMCU – 001 – Connected Users ---LS:USrv – 00 – DBStore; Usrv – 002 – Queue Latency (msec) LS:USrv – 00 – DBStore; Usrv – 004 – Sproc Latency (msec)

1.31.3 Multipoint Conferencing Unit (MCU) Resource Utilization Baseline Tests: (Monitor on All MCUs)
Processor; % Processor Time (_Total) Network Interface; Bytes Total/sec ([your network adapter]) Memory; Pages/sec (---) Process; % Processor Time (ASMCUSvc) Process; % Processor Time (AVMCUSvc) Process; % Processor Time (DataMCUSvc) Process; % Processor Time (MeetingMCUSvc) Process; Private Bytes (ASMCUSvc) ([peak]) Process; Private Bytes (AVMCUSvc) ([peak]) Process; Private Bytes (DataMCUSvc) ([peak]) Process; Private Bytes (MeetingMCUSvc) ([peak])

45

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.