Professional Documents
Culture Documents
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
server organizations, for pilot projects, or for branch sites within
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.
Enterprise Edition Lync Server 2010 Enterprise Edition is a collection of
pool Front End Servers. Enterprise pools with two or more
2
Server Virtualization in Microsoft Lync Server 2010
3
Server Virtualization in Microsoft Lync Server 2010
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.
5
Server Virtualization in Microsoft Lync Server 2010
6
Server Virtualization in Microsoft Lync Server 2010
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
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)
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
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
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.
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 VM Host Configuration
Small Single VM host with direct attached storage (DAS)
Mediu 4-12 VM hosts with shared storage (iSCSI SAN) multi path I/O (MPIO)
m
Large 12-48 VM hosts with fiber connected shared storage (FC SAN multi path
I/O)
Table 2 VM host configuration categories
12
Server Virtualization in Microsoft Lync Server 2010
protocols for Storage Area Networks are iSCSI, Fiber Channel, or other equivalent
solutions.
Type Spec
DAS Direct Attached Storage with SAS (15k or 10k rpm) or SATA
(7.2k rpm) drives
iSCSI SAN 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.
FC SAN 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.
CSV Cluster Shared Volume (CSV) is a volume that is simultaneously
available to directly read from and write.
Table 4 VM guest storage configuration
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
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
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
16
Server Virtualization in Microsoft Lync Server 2010
17
Server Virtualization in Microsoft Lync Server 2010
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
19
Server Virtualization in Microsoft Lync Server 2010
20
Server Virtualization in Microsoft Lync Server 2010
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
Note: The Virtual Machine numbers are based on a 4 core CPU Virtual Machine.
22
Server Virtualization in Microsoft Lync Server 2010
23
Server Virtualization in Microsoft Lync Server 2010
24
Server Virtualization in Microsoft Lync Server 2010
25
Server Virtualization in Microsoft Lync Server 2010
26
Server Virtualization in Microsoft Lync Server 2010
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
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
3. In the Settings list, click Virtual Machine Queues, and then set the
value to Enabled.
31
Server Virtualization in Microsoft Lync Server 2010
32
Server Virtualization in Microsoft Lync Server 2010
33
Server Virtualization in Microsoft Lync Server 2010
34
Server Virtualization in Microsoft Lync Server 2010
• Edge Server
• Mediation Server
Processor\% Processor Time It’s OK to see short CPU spikes at 70% or more – less
(Total) 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.
LS:SIP – 07 – Load This should usually be less than 1 second on average but
Management; SIP – 000 – it’s normal to see short spikes of up to 3 seconds. The
Average Holding Time For server will throttle new incoming messages after going
Incoming Messages above the high watermark and until the number of
35
Server Virtualization in Microsoft Lync Server 2010
LS:SIP – 01 – Peers\SIP – 020 – messages falls below the low watermark. Check Outgoing
Average 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.
LS:USrv – 21 – Https Monitor and collect
Transport; USrv – 002 –
Number of failed connection
attempts / Sec
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
37
Server Virtualization in Microsoft Lync Server 2010
38
Server Virtualization in Microsoft Lync Server 2010
Monitoring the following Performance Counters for the Web Servers component
(applicable to Front End Server and Director role)
Performance Counter Details
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 The current health of the MCU. 0 = Normal. 1 =
Performance; DATAMCU – 005 – MCU Loaded. 2 = Full. 3 = Unavailable.
Health State
LS:DATAMCU – 04 – MCU Health and The current draining status of the MCU. 0 = Not
Performance; DATAMCU – 006 – MCU requesting to drain. 1 = Requesting to drain. 2
Draining State = Draining.
Monitor the following performance For application sharing (ASMCU), observe the
following:
Performance Counter Details
LS:AsMCU – 02 – CCCP Processing ---- Monitor and collect
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
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
40
Server Virtualization in Microsoft Lync Server 2010
41
Server Virtualization in Microsoft Lync Server 2010
Monitor the following on the HTTP relay (Web Server component with Reach client):
Performance Counter Details
LS:WebRelay – 00 – Reach Web Relay Server\* Monitor and collect
42
Server Virtualization in Microsoft Lync Server 2010
43
Server Virtualization in Microsoft Lync Server 2010
The events in the Lync Server event log reflect media stack health:
Event ID Details
32013 Audio Video Conferencing Server health If the A/V Conferencing Server
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.
44
Server Virtualization in Microsoft Lync Server 2010
45