+ All Categories
Home > Documents > Lync Server 2013 Virtualization White Paper

Lync Server 2013 Virtualization White Paper

Date post: 09-Oct-2015
Category:
Upload: taptee
View: 142 times
Download: 0 times
Share this document with a friend
Description:
Planning a Lync Server 2013 Deployment on Virtual Servers
Popular Tags:

of 53

Transcript

Planning a Lync Server 2013 Deployment on Virtual ServersLync Server 2013 Virtualization

February 18, 2014Version 1.0Prepared byJames HornbySenior [email protected]

ContributorsAgus Rachman, Cedric Depaepe, Brandon Bernier, Andrew Sniderman, Seth McClure, Campbell Gunn, Ramon Infante

Thanks to Christian Lavista and the Microsoft Technology Center, New York

AcknowledgmentsNamePositionChristian LavistaDirector, Microsoft Technology Center, New YorkFabian LabatMTC Service Engineer (Atos)Tim MyersSenior Service EngineerJoel YokerMCS US Hyper-V ArchitectChris DragichSenior Content DeveloperFacilitiesMicrosoft Technology Center, New York

Table of ContentsLync Server 2013 VirtualizationiExecutive Summary61Introduction71.1What is Virtualization?71.2Why Virtualize?81.3Server Virtualization in Lync Server 201381.4Lync Server Performance on a Virtualized Platform92Summary Considerations for Virtualization of Lync Server 2013102.1Call Quality102.2Configuration103Lync Architecture Overview123.1Front End Servers123.2Back End Servers133.3Architecture Changes in Lync Server 2013144Lync Server Stress and Performance Tool (LSS)155Key Health Indicators Good Pass166Lync Virtualization Scenario Setup186.1Hardware Specification and Virtual Machine Placement187Lync Virtualization Observations227.1LSS Ramp Up227.2SQL Server Express238Lync Server Virtualization Recommendations258.1Hypervisors258.2Host Requirements298.3Guest Requirements318.4Capabilities Support338.5Lync Server Capacity Planning348.6High Availability/Disaster Recovery Strategy349Appendix A: Stress and Performance Tool Configuration Details359.1User Provisioning Tool359.2Common Configuration379.3Instant Messaging389.4Audio Conferencing409.5Application Sharing419.6Data Collaboration439.7Distribution List Expansion449.8Address Book Query449.9Response Group Service469.10Location Information Services469.11VoIP479.12UC PSTN Gateway479.13Conferencing Attendant489.14Call Park Service489.15Mediation Server and PSTN499.16Reach General Reach Settings499.17Reach Application Sharing509.18Reach Data Collaboration509.19Reach Instant Messaging519.20Reach Voice Conferencing519.21Mobility (UCWA) General Mobility Settings529.22Mobility Presence and P2P Instant Messaging/Audio53

Executive SummaryMicrosoft Lync Server 2013 supports virtualization for all workloads. However, because Lync Server is a real-time communications application, it is more sensitive to resource constraints than other applications. In Lync Server, an issue with the availability of compute resources can cause a negative user experience including dropped calls, dropped audio, choppy audio, or inability to join a conference. A similar resource issue with a non-real-time application would not be noticeable to the user.With our testing, we found that a 10,000-user pool spread across three virtualized Front End Servers produced a resource utilization that was within the critical key health indicator (KHI) limits. Your results may vary based on your hardware and user model, thus we recommend you perform capacity testing in your environment, before you deploy fully. For guidance in your testing, you can use the accompanying Microsoft paper, Lync Server 2013 Stress Testing Guide.In addition to performing stress testing before you deploy, we recommend you take several steps in the design and configuration of your host server and guest server topology. Examples of this are disabling hyperthreading, using a 1:1 ratio of virtual CPUs to physical CPUs, disabling memory overcommitment, and several others as detailed in this paper.

IntroductionVirtualizing a Lync Server deployment can be considered for all sizes of deployment, from small single-site deployments to large multi-site enterprise implementations.The purpose of this white paper is to provide you with technical guidance for designing and deploying a virtualized Lync Server 2013 deployment, including the following: Host server hardware and software best practices. Guest server requirements recommendations. Guest server placement on the different host servers. Recommended practices for deploying Lync Server, specific to deployment on virtual servers. Guidelines for key health indicators to watch when running Lync Server on virtual servers, specific to each server role.Additionally, this document describes the parameters used in the Lync Server Stress Tool configuration to match the user model used for Lync Server 2013 capacity planning. For more information about this user model, see Lync Server 2013 User Models. For more information about capacity planning for physical servers in Lync Server 2013, see Capacity Planning. Details about the methodology used to perform the tests are described in a separate white paper, Lync Server 2013 Stress Testing Guide. You can use this paper for guidance to perform stress testing of your own deployment design before fully implementing the deployment.This document does not cover client virtualization scenarios such as application virtualization or Lync client deployment with Virtual Desktop Infrastructure (VDI).This document does not provide prescriptive guidance about the installation and configuration of Lync Server 2013 and supporting software components. For guidance about the installation and configuration of Lync Server 2013, see Lync Server product documentation.

What is Virtualization?Virtualization, in its simplest form, provides a layer of abstraction between the hardware and operating system. Server virtualization allows multiple operating systems (or "virtual machines") and their applicable workloads to share the resources of a single server. The main benefits of virtualization are improved resource utilization (typically reducing the number of physical servers needed) and the ability to relocate virtual machines to different hosts. Why Virtualize?In todays competitive environment, organizations want to: Reduce infrastructure costs while accurately forecasting operational expenditure. Create more value by providing faster but lower-cost services. Increase operational efficiency. Server virtualization capabilities may help companies achieve these goals by:Reducing the Total Cost of Ownership Leveraging existing resources with server consolidation. Increasing space utilization with fewer physical servers. Decreasing hardware maintenance and training costs. Providing an abstraction of operating system and workloads from actual physical hardware. Reducing time to deploy. Minimizing service disruption and increasing service levels. Providing capacity on demand in response to changing business needs. Speeding up server deployment by duplicating a standard virtual server.Increasing operational efficiency Improving business continuity with high availability of hardware and applications. Increasing operational flexibility with dynamic resource management and server provisioning. Improving the server to administrator ratio.As always, one size does not fit all and while virtualization makes sense for some companies and workloads, it will not make sense for others.Server Virtualization in Lync Server 2013Microsoft has made significant investments in virtualization support for Lync Server while providing a fully distributed topology. To virtualize Lync Server, you can use Hyper-V Windows Server 2012 R2, Hyper-V Windows Server 2012, or a third-party virtualization solution that has passed Server Virtualization Validation Program (SVVP) testing. For more details, see the Windows Server Virtualization Validation Program. On a virtual server, you can run all Lync Server workloads. 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 Persistent chat Back-end database Archiving/monitoring databases

Lync Server Performance on a Virtualized PlatformVirtualizing Lync can reduce the physical server count by combining high-resource servers with low-resource servers on a high-powered host server. This can be an effective strategy to reducing physical server footprint in the data center.Virtualization is meant to leverage a shared infrastructure across many applications. Each of the four fundamental compute resourcesCPU, Memory, Network, and Diskare abstracted or shared in a virtualized environment. Lync Server, as a real-time media application, performs differently than other applications and requires special consideration.For example, in a web application, resource constraints may result in a web page loading a little bit slowertypically imperceptible to a user. With Lync Server, similar resource constraints may result in dropped audio or choppy videothis is a major impact and can result in a negative user experience.Lync Server is designed to consume the full capabilities of a physical server and will perform poorly if the required compute resources are not available when needed. To help the virtualization of Lync Server 2013 to be successful for your organization, follow the guidelines provided in this white paper.An additional benefit of virtualization is ensuring consistency in similar servers in your organization by using virtualization templates. Consistency drives down operational cost and complexity, and improves service levels.Summary Considerations for Virtualization of Lync Server 2013To provide a great communications experience in Lync Server 2013 and enable a successful deployment, virtualizing Lync requires a focused design and test effort to validate the virtualization platform can meet required capacity, quality, and operational targets.In addition to taking into account the other recommendations listed in this paper, you should review the following summary considerations to make and validate the decision to virtualize.Call QualityCall quality is a key component of Lync Server performance on both physical servers and virtual servers. Call quality depends on ready CPU resources for media transcoding as well as a high-performing network to support media streams. Adoption of video will significantly increase demands on both CPU and network. The hypervisor inherently incurs a CPU penalty as overhead, and virtual CPUs often have very different performance characteristics from physical ones. In a non-real-time application like a web service, these impacts may be unnoticeable but they can be very apparent in Lync. A spike of database activity can impact network performance, contributing to latency, packet drops, or jitterall of which will degrade audio quality and the user experience. Stress testing before you deploy to make sure your planned hardware and virtual machines are sized appropriately can help minimize bad user experiences.ConfigurationDesigning and operating an enterprise-grade Lync Server infrastructure requires involvement from several teams. Adding virtualization provides a new dimension of complexity and reliance on another team for support.Virtualization also introduces a new layer of configuration and optimization techniques for each guest that must be determined and tested for Lync Server. Many virtualization techniques that can lead to consolidation and optimization for other applications cannot be used with Lync Server. Shared resource techniques, including processor oversubscription, memory overcommitment, and I/O virtualization, cannot be used because of their negative impact on Lync scale and call quality.Virtual machine portabilitythe capability to move a virtual machine guest server from one physical host to anotherbreaks the inherent availability functionality in Lync Server pools. Moving a guest server while operating is not supported in Lync Server 2013. Lync Server 2013 has a rich set of application-specific failover techniques, including data replication within a pool and between pools. Virtual machine-based failover techniques break these application-specific failover capabilities.The testing we completed revealed some specific configuration items that we recommend when you run Lync Server on a virtualization platform:Processor You should disable hyperthreading on all hosts. Do not use processor oversubscription; maintain a 1:1 ratio of virtual CPU to physical CPU. Make sure your host servers support nested page tables (NPT) and extended page tables (EPT). Disable non-uniform memory access (NUMA) spanning on the hypervisor, as this can reduce guest performance.

Memory Do not configure dynamic memory or memory overcommitment on host servers.

Network Use Virtual Machine Queue (VMQ) to optimize synthetic NIC performance. Use physical NIC segregation for host versus guest communications. Single-root I/O virtualization (SR-IOV) is recommended. The specific configuration you should use depends on the host chipset and network adapter/driver.

Storage Use fixed or pass-through disks rather than dynamic disks.

Hypervisor Virtual machine portability or failover techniques such as live migration are not supported.

Lync Architecture OverviewEach server running Lync Server runs one or more server roles. A server role is a defined set of Lync Server functionalities provided by that server. Only those server roles required for the functionality of the system are required.This section briefly discusses two primary roles in Lync Server, the Front End Server and Back End Server. It also discusses some changes to the Lync Server architecture in Lync Server 2013 that affect how these roles relate to each other.Front End ServersIn Lync Server 2013, the Front End Server is the core server role, and runs many basic Lync Server functions. The Front End Server, along with the Back End Server, are the only server roles required to be in any Lync Server 2013 Enterprise Edition deployment.A Front End pool is a set of Front End Servers, configured identically, that work together to provide services for a common group of users. A pool of multiple servers running the same role provides scalability and failover capability.The Front End Server provides the following services: User authentication and registration. Presence information and contact card exchange. Address book services and distribution list expansion. Instant messaging functionality, including multiparty instant messaging conferences. Web conferencing, PSTN dial-in conferencing, and audio/video (A/V) conferencing. Web components to support web-based tasks such as web scheduler and join launcher. Application hosting for both applications included with Lync Server (for example, conferencing attendant and response group application) and third-party applications. Monitoring to collect usage information in the form of call detail records and call error records. This information provides metrics about the quality of the media (audio and video) traversing the network for both enterprise voice calls and audio/video conferences. Archiving to archive instant messaging communications and meeting content for compliance reasons.Front End pools are also the primary store for user and conference data. Information about each user is replicated among the Front End Servers in the pool. This is performed by using the Lync Storage Service as depicted in the following figure.

Figure 1 Lync Server 2013 Architecture

New for Lync Server 2013, an organization can pair Front End pools in two geographically dispersed sites for disaster recovery purposes. Each site contains a Front End pool that is paired with a corresponding Front End pool in the other site. Both sites are active, and the Lync Server Backup Service provides real-time data replication to keep the pools synchronized.If the pool in one site fails, an administrator can failover the users from the failed pool to the pool in the other site, which then provides services to all the users. For capacity planning, each pool should be designed to handle the workloads of all users in both pools in the event of a disaster.Back End ServersBack End Servers are database servers running Microsoft SQL Server that provide the database services for the Front End pool. The Back End Servers serve as backup stores for the pools user and conference data, and are the primary stores for other databases such as the response group database. There can be a single Back End Server, but a highly available solution that uses SQL Server mirroring is recommended for failover, and an SQL witness server automates this process. Back End Servers do not run any Lync Server software.Additionally, one Front End pool in the deployment also hosts the Central Management Server database on its Back End Servers, which manages and deploys basic configuration data to all servers running Lync Server 2013.

Architecture Changes in Lync Server 2013In Lync Server 2013 Enterprise Edition, the architecture of the Front End pools has been changed when compared to Lync Server 2010.In the Lync Server 2013 architecture, the back-end database is no longer the real-time data store in the Lync pool. Most Lync data (including presence information, permissions, and user contacts) now are stored primarily on the Front End Servers to improve the performance and scalability of the overall architecture, and to eliminate the single point of failure of the Back End Server compared to Lync Server 2010.Now transactions for users regarding presence, contacts, and conferencing information are handled on the Front End Server with the Back End Server providing the overall persistent blob storage of this data. This means that the Front End Servers have more of the resource and compute burden than they did in previous versions of Lync Server.The A/V Conferencing Server role is also now part of the Front End Server role. In addition to this main architectural change, there are no longer separate Monitoring Server or Archiving Server roles, with these now running as services on the Front End Server.A final change in using the industry standard H264 codec for video requires additional computational resources on the Front End Server when running video conferencing.Lync Server Stress and Performance Tool (LSS)Lync Server 2013 Stress and Performance Tool (LSS) is a toolset that enables organizations planning to deploy Lync Server 2013 to perform stress testing of a target deployment infrastructure based on their specific usage pattern. This infrastructure includes server, storage, and network.LSS can simulate individual workloads, such as instant messaging and presence, application sharing, audio conferencing, and so on. This enables you to assess the capacity planning requirements of a Lync Server 2013 deployment to handle the entire supported workloads right from the beginning, or to gradually scale up and/or scale out the Lync Server 2013 deployment as a new workload is introducedsuch as in the case of starting with IM and presence and conferencing, and later adding the Enterprise Voice workload.A stress testing exercise using LSS must be performed against the same target deployment infrastructure intended to be used for production implementation, and must be performed in an isolated lab environment.Because LSS only provides the tools to provision users and simulate user loads, your stress testing must also involve a proper design and deployment of Lync Server 2013 with its supporting infrastructure (such as Active Directory, Certificate Services, Office Web Apps Server, load balancer, and reverse proxy).A stress testing exercise using Lync Server 2013 LSS is typically performed right after the completion of the technical design and before taking the design into pilot. The design, with its supporting infrastructure, should be deployed in the lab environment for functional/nonfunctional testing first, and then leveraged to perform stress testing for the purpose of capacity planning validation.Details about the methodology used to perform stress tests using LSS is described in a separate white paper, the Lync Server 2013 Stress Testing Guide.For details about the parameters we used for LSS to match the Lync 2013 User Models, see Appendix A: Stress and Performance Tool Configuration Details.Key Health Indicators Good PassMany key health indicators (KHIs) have been identified for Lync Server 2013. However, to ease the effort involved in checking all the indicators for each test run conducted by using LSS, we have defined the 10 most significant for a good pass and listed them in the following table. If you're testing reveals no issues in meeting these 10 primary KHIs, you could further analyze the full KHI set.The full KHI set for Lync Server 2013 is included in the Network Planning, Monitoring, and Troubleshooting with Lync Server documentation download.Table 1. Key health indicators good passCounterDescriptionHealthy range

\Processor Information(*)\ % Processor TimeCPU utilization20% total system memory

\PhysicalDisk\Avg. Disk Sec/ReadRepresents the average time, in milliseconds, of each disk read latency.


Recommended