itp29 - servicing the existing deployment and upgrading to skype for business server_v04

103

Upload: sumanayana

Post on 23-Dec-2015

106 views

Category:

Documents


7 download

DESCRIPTION

File

TRANSCRIPT

Page 1: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04
Page 2: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Servicing the existing deployment & upgrading to Skype for Business ServerSpeaker NameSpeaker Title

Page 3: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrading to Skype for Business Server 2015In-place upgradesUpgrade paths

SQL Server improvementsSQL AlwaysOn support

Server managementPatchingCold pool start

Agenda

Page 4: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrading to Skype for Business Server 2015In-place upgrade overview

Page 5: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

What is it?Upgrade from Lync Server 2013 to Skype for Business Server using existing hardware

BenefitsPreserving existing hardware/server investmentsSmoother upgrade process without extensive planningReducing the overall cost for deploymentThe goal of heading towards Smart Setup

In-place upgrade

Page 6: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Migrate-users mode (no user downtime)Offline mode

Upgrade path

Original topology

New topology

In-place upgrade supported ? Priority

2013 Skype for Business Server + 2013

Yes. In-place upgrade support from 2013 → Skype for Business Server

P0

2010 Skype for Business Server + 2010

No. Migrate from 2010 → Skype for Business Server, same as 2010 → 2013

P1

2013 + 2010 Skype for Business Server + 2013

Mandatory migration from 2010 → 2013 before deploying Skype for Business ServerThen in-place upgrade from 2013 to Skype for Business Server

P1

Page 7: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade path(move users): Case 1Upgrade from Lync 2013 to Skype for Business Server

Move Pool1 users

Upgrade to Skype for Business Server

Move back Pool1 users

Move Pool2 users

Upgrade to Skype for Business

Server

Move back Pool2 users

Test functionality

Pool1 (Lync 2013 CU5)

Pool2 (Lync 2013 CU5)

Pool3 (Lync 2013 CU5)

Pool1 (Skype for Business 2015)

Pool2 (Lync 2013 CU5)

Pool3 (Lync 2013 CU5)

Pool1 (Skype for Business 2015)

Pool2 (Skype for Business 2015)

Pool3 (Lync 2013 CU5)

Page 8: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Bring up a new Skype for Business Server Pool

Decommission Pool1

Move users from Pool1 to Pool3

Upgrade path(move users): Case 2Upgrade from Lync 2010 to Skype for Business Server

Pool1 (Lync 2010)

Pool2 (Lync 2010)

Pool3 (Skype for Business)

Pool1 (Lync 2010)

Pool2 (Lync 2010)

Pool3 (Skype for Business)

Pool1 (Lync 2010)

Pool2 (Lync 2010)

Pool3 (Skype for Business)

Page 9: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Move users from Pool1 to Pool3

Decommission Pool1

Move Pool3 users

Move backPool3 users

Upgrade path(move users): Case 3 Upgrade from Lync 2010 + Lync 2013 to Skype for Business Server

Upgrade to Skype for Business Server

Pool1 (Lync 2010)

Pool2 (Lync 2013 CU5)

Pool3 (Lync 2013 CU5)

Pool1 (Lync 2010)

Pool2 (Lync 2013 CU5)

Pool3 (Lync 2013 CU5)

Pool2 (Lync 2013 CU5)

Pool3 (Skype for Business)

Page 10: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Send maintenance notice to users on Pool1

Upgrade to Skype for Business Server

Make sure features are working

Upgrade to Skype for Business Server

Send maintenance notice to users on Pool2

Upgrade path(offline mode): Case 4Upgrade from Lync 2013 to Skype for Business Server

Send email to users that services are upand running

Pool1(Lync 2013 CU5)

Pool1 (Skype for Business)

Pool2(Lync 2013 CU5)

Pool2(Lync 2013 CU5)

Pool2 (Skype for Business)

Pool2(Lync 2013 CU5)

Pool1 (Skype for Business)

Page 11: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

RecommendationsNo in-place upgrade with Disaster Recovery (pool failover)Please don’t use the Invoke-CsPoolFailover cmdlets to failover the pool!

Don’t start services in mixed mode

Don’t un-pair the pools before upgrade

Ensure minimal time when the pools are paired with different versions

Upgrade path

Upgrade order(Inside→outside)

User pools first

Shared components like: Mediation Server, Director EdgesCMS pool

Page 12: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Role upgrade (2013 to Skype for Business Server 2015)Pools/Roles Requires

upgrade to Skype for Business Server

How to upgrade?

FE pool Yes Topology building + seamless in-place upgrade setup

Director pool Yes Topology building + seamless in-place upgrade setup

Mediation pool Yes Topology building + seamless in-place upgrade setup

Persistent chat pool Yes Topology building + seamless in-place upgrade setup

Edge pool Yes Topology building + seamless in-place upgrade setup

Trusted application pool Yes Topology building + seamless in-place upgrade setup

Survivable Branch Server (SBS)

Yes Topology building + seamless in-place upgrade setup

Survivable Branch Server (SBA)

No Not supporting in-place upgrade of SBAs

SQL Server store Yes Topology building (The store is marked as Skype for Business along with the pool and is upgraded running Install-CsDatabase while the pool gets upgraded)

File store No n/a

PSTN gateway No n/a

Trunk No n/a

Office Web Apps Server No n/a

Page 13: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

In-place upgradeSeamlessly upgrades SQL Express 2012 to SQL Express 2014

Also upgrades all the local copies of the database

SQL support with Lync / Skype for Business Server

Page 14: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

In-place upgradeCustomer experience

Page 15: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

STEP

1STEP

2STEP

3STEP

4STEP

5

Upgrade processInstall prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded

Run Setup.exe which will launch in-place upgrade UI

Start services on all the servers in the upgraded pool at the same time (use the Start-CSPool cmdlet)

Page 16: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade processSTEP

1STEP

2STEP

3STEP

4STEP

5

Install prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded

Run Setup.exe which will launch in-place upgrade UI

Start services on all the servers in the upgraded pool at the same-time (use the Start-CSPool cmdlet)

Page 17: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Always install prerequisites! 

Install CU5+ latest hotfix to Lync 2013 topology

PowerShell RTM version (6.2.9200.0) or later

Have at least SQL server 2012 SP1 installed

Kb2533623 Windows Server 2008 R2

Kb2858668 Windows Server 2012

KB2982006 Windows Server 2012 R2

Upgrade steps: step 1

Page 18: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade processSTEP

1STEP

2STEP

3STEP

4STEP

5

Install prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded

Run Setup.exe which will launch in-place upgrade UI

Start services on all the servers in the upgraded pool at the same-time (use the Start-CSPool cmdlet)

Page 19: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade steps: step 2 (Upgrade and publish topology using Topology Builder)

Page 20: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade steps: step 2 (Upgrade and publish topology using Topology Builder)

Topology Builder should automatically upgrade your databases for you!

Page 21: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade processSTEP

1STEP

2STEP

3STEP

4STEP

5

Install prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded(Stop-CsWindowsService)

Run Setup.exe which will launch in-place upgrade UI

Start services on all the servers in the upgraded pool at the same-time (use the Start-CSPool cmdlet)

Page 22: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade processSTEP

1STEP

2STEP

3STEP

4STEP

5

Install prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded

Run Setup.exe which will launch in-place upgrade UI (use elevated/administrator command prompt)

Start services on all the servers in the upgraded pool at the same-time (use the Start-CSPool cmdlet)

Page 23: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04
Page 24: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrade processSTEP

1STEP

2STEP

3STEP

4STEP

5

Install prerequisites

Upgrade, publish topology, and upgrade databases using Topology Builder

Stop the services on all the servers in the pool to be upgraded

Run Setup.exe which will launch in-place upgrade UI

Start services on all the servers in the upgraded pool at the same-time (use the Start-CSPool cmdlet)

Page 25: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Allows Skype for Business Server server updates to be installed as part of Skype for Business Server server setup process from Microsoft Updates

Setup will include an option toCheck with Microsoft Updates for Skype for Business Server updatesDownload the updatesInstall them (prior to finishing the installation process)

Move towards—Smart Setup

Note: This doesn’t replace the Skype For Business Server server update installer. That will still be useful for our customers who don’t have connection to access the internet

Page 26: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL AlwaysOnOverview

Page 27: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL Server AlwaysOn HA solutionsNext generation of database mirroring technologies Provides high availability and disaster recovery in SQLIntroduced in SQL Server 2012 and present in SQL Server 2014 Runs on top of WSFC (Windows Server Failover Clustering)

Overview

Page 28: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Latest and greatest SQL HA solutionAlthough database mirroring is still available in its original feature set, it is now considered a deprecated feature and will be removed in a future release of SQL Server

More reliableAlwaysOn (one primary, can have up to three corresponding secondary replicas)Mirroring (one primary, one mirror)

Multi-database failoversUseful in applications with several databasesDatabases can be added to an Availability Group that can be failed over between replicasAll databases in Availability Group are failed over at the same time

AlwaysOn advantages

Page 29: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Provides high availability by maximizing availability of databases for an enterprise

An Availability Group is a set of databases that are failed over together at the same time

Supports one primary replica and up to two secondary replicas in synchronous-commit mode

Availability Group listener responds/redirects incoming client requests to replicas

Each Availability Group replica has local SQL instance and local copy of databases

AlwaysOn Availability Groups

Page 30: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Provides high availability through redundancy at the server-instance level

One SQL instance is installed across all failover clustering nodes

Single copy of databases are located on shared disk storage which is failed over between nodes

AlwaysOn Failover Cluster Instance (FCI)

Page 31: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL AlwaysOnPlanning

Page 32: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

New install scenarioInstall new backend using SQL Enterprise 2012 or SQL Enterprise 2014Add new Skype for Business Server pool with AlwaysOn back-end to topologyInstall Skype for Business Server and add databases to Availability Group

Upgrade scenarioUpgrade an existing Lync Server 2013 pool to Skype for Business ServerUpgrade back-end server to SQL Enterprise 2012 or SQL Enterprise 2014Enable SQL AlwaysOn for Skype for Business Server databases

Planning for AlwaysOn

Page 33: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Standalone ServerStandard or Enterprise Edition

AlwaysOn Failover Clustering Instance (FCI)Standard or Enterprise Edition (two nodes)Enterprise Edition (three or more nodes)

MirroringStandard or Enterprise Edition

AlwaysOn Availability GroupsEnterprise Edition required

SQL version requirements

Page 34: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Supported with Skype for Business ServerAvailability groups are not supported with Lync Server 2010 or 2013

AlwaysOn support information

Standalone

Failover Clustering

Mirroring Availability Groups

Lync Server 2010 SQL 2008 R2 SP2

SQL 2008 R2 SP2

Not supported Not supported

Lync Server 2013 SQL 2008 R2 SP2

SQL 2012 SP1

SQL 2008 R2 SP2

SQL 2012 SP1

SQL 2008 R2 SP2

SQL 2012 SP1

Not supported

Skype for Business Server

SQL 2008 R2 SP2

SQL 2012 SP1SQL 2014

SQL 2008 R2 SP2

SQL 2012 SP1SQL 2014

SQL 2008 R2 SP2

SQL 2012 SP1SQL 2014

SQL 2012 SP1SQL 2014

Page 35: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Supported configurations* for Skype for Business ServerSupport having replicas only in the same subnetSupport only the Synchronous-Commit ModeSupport the Automatic Failover ModeNo support for read access on secondary replicasNo support for having an off-site replica in Azure

Supported Availability Group settings

* Other configurations are possible and not actively blocked, but not supported

Page 36: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Supported only for Skype for Business Server poolsIn-place upgrade from SQL 2012 SP1 standalone to SQL 2014 Availability Groups

In-place upgrade from SQL 2012 SP1 mirroring to SQL 2014 Availability Groups

All other in-place upgrade scenarios for SQL Servers are currently unsupported

Full database backup prior to in-place upgrade is recommended

SQL in-place upgrade support

Change compatibility level for each database after upgradeSelect SQL Server 2014 (120)

Set using Transact-SQL (optional)

ALTER DATABASE cpsdynSET COMPATIBILITY_LEVEL = 120;GO

Page 37: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL AlwaysOnPrerequisites and dependencies

Page 38: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Windows Server 2008 R2 SP1 or higher

WSFC feature installed, with sufficient nodes for desired configuration Select the File Share Witness option for the quorum witness

Cluster nodes cannot be Active Directory domain controllers

Cluster nodes must be from the same Active Directory domain

Cluster nodes must be connected to the same network subnet

Windows Server Failover Clustering (WSFC)

Page 39: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL Server 2012 SP1/2014 Enterprise Edition or higher

SQL installation steps are different depending on HA option selected

SQL AlwaysOn must be manually enabled on SQL service and restarted

Full recovery model required for each Availability Group database

Full backup required for each database added to Availability Group

Database folder structure must be duplicated across all AG replicas

SQL Server and database requirements

High availability option

Installation selection

Availability Groups (AG) New SQL Server stand-alone installation (all replicas)

Failover Cluster Instance (FCI) New SQL Server failover cluster installation (first node)

Add node to a SQL Server failover cluster (additional nodes)

Page 40: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

ManagementPatching process

Page 41: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

ObservationsMany steps

Based on upgrade domains

Check for readiness of upgrade domain, stop services, patch and

move unto next upgrade domain

Multiple decision points

“Wait and try” suggestions

Lync 2013 patching

Page 42: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Complex patching process with many steps; deviations from the process might result in downtime for users

Ready state-to-start patching not always reliable

Could run into unable to start front-end servers after patching

Some users are signed in with limited functionality and sign-in performance issues

Problems are hard to troubleshoot and solve—particularly for larger pools

Understand upgrade domain/other fabric concepts

2013 patching and reliability challenges

Icon: Bjorn Andersson, Noun Project

Page 43: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Not enough safe guards to prevent servers from being taken down without harm

Load balancing continues between decision point and execution (no heads up to fabric)

Idle secondary bug in winfab v1 CU1

Incorrect use of some cmdlets might make problems worse

What made 2013 solution problematic?

Page 44: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Server managementPatching

Page 45: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Lync 2013 Skype for Business

Page 46: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Simplified workflow leverages Windows Fabric v2 APIs

4 steps:Invoke-CsComputerFailOver to failover (stop) a front end; take the FE out of rotation, move the replicas out

Perform patching/upgrade

Invoke-CsComputerFailBack to failback (start) a front end; bring FE into active state, move replicas in

Do this for all front ends in the pool

Skype for Business Server patching

Page 47: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Checks for availability of sufficient number of servers

Waits for replica stability across the poolConfirm all replicas exists before taking server down

Initiate deactivation of the node; wait for success/failure from windows fabric

Stops services after successfully deactivating the node

Invoke-CsComputerFailOver

Page 48: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Start services if not already started

Activate node—windows fabric will now consider this server for replica placement

Invoke-CsComputerFailBack

Page 49: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Simpler workflow, fewer commands, less errorsFaster: 2–3 hrs. for 12 FE pool (down from 8–12 hrs.)More reliableChecks for readiness across the pool within the cmdlet before failoverLeverages windows fabric v2 deactivate/activate node APIs ensuring more dependable operation (moving replicas in/out, not move replicas into node going down)Since scope is always one frontend, avoids situations where multiple front ends could be down within a pool (reason servers don’t start)Will not allow fail over of a server if there are existing replica issues in the poolEnforces min server requirements implicitly (if other servers are down)

Progress indicators

How is this better?

Page 50: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Invoke-CsComputerFailOver progress indicator

Invoke-CsComputerFailBack progress indicator

How is this better?

Page 51: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Prerequisite: Skype for Business Server, Fabric version 2.0 CU3+

Don’t execute on more than one server at a time in a pool (it might block)

Invoke-CsComputerFailOver requires RTCSRV service to be running

Invoke-CsComputerFailBack will start RTCSRV service

Stopping services outside of this cmdlet out-of-scope

Notes

Page 52: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Server managementPool cold start

Page 53: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

2013 to Skype for Business in-place upgrade

Adding a new pool

Pool fail back starts a pool if it was offline

Miscellaneous cases where administrator decides to take down the entire pool for a maintenance activity (not recommended in 2013)

Pool cold start scenarios

Page 54: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Typically, all the servers need to be started for one server to be up

Confusing “minimum number of servers” requirements

Starting a subset of a pool is not straightforward since it involves running RG quorum loss recovery

Incomplete information on why a server cannot be started

No automatic recovery actions initiated for failures

Lync 2013/pool cold start problems

Page 55: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Start the servers within a pool with a single command with easy to follow instructions

Allow pool to start even if some of the routing group replicas are stuck

For problems encountered that might cause issues during pool/server cold start, alert with resolution steps

Skype for Business Server pool start

Page 56: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Prerequisite checks (all servers Skype for Business Server, WinFab 2.0+)

Attempts to start all the servers in the poolIf problems starting any server; perform extended diagnosis; alertIf problem on front end cannot be fixed, run Start-CsPool with exclusion listFail if min server requirements cannot be met due to exclusion listDoes this operation require quorum loss recoveryIf no data loss, perform implicit quorum loss recoveryIf there will be data lossSeek admin approval with data loss information (or)Configure option to skip specific routing group replicas and proceed with start

Start all servers if no issues

Start-CsPool

Page 57: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Upgrading to Skype for Business Server 2015In-place upgradesUpgrade paths

SQL Server improvementsSQL AlwaysOn support

Server managementPatchingCold pool start

Summary

Page 58: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Q&A

Page 59: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04
Page 60: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Appendix Slides

Page 61: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Installing the WSFC feature

Page 62: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Validating the cluster configuration

Page 63: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating the cluster

Page 64: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Configuring Quorum settings

Page 65: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Enabling SQL AlwaysOn

Page 66: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Changing the recovery model for each database

Page 67: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Performing a full SQL backup for each database

Page 68: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Duplicating the database folder structure on replicas

Page 69: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL AlwaysOnDeployment and configuration

Page 70: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Deploying AlwaysOn for new poolsCreating a new SQL AlwaysOn Availability Group for a new pool

Deploying AlwaysOn for existing poolsMoving from SQL standalone backend to AlwaysOn Availability GroupsMoving from SQL mirrored backend to AlwaysOn Availability Groups

AlwaysOn deployment options

Page 71: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Deployment optionsNew pools

Creating a new AlwaysOn Availability Group

Page 72: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating a new Availability Group for a new pool can be somewhat confusingCreating a new SQL back-end Availability Group requires at least one databaseDatabases for a new pool cannot be created until a SQL backend is available

Creating a new AlwaysOn Availability Group

Page 73: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Add new SQL Store using the FQDN of the Availability Group ListenerIn Topology Builder, select the option New Front End PoolWhen prompted to define the SQL Server store, click NewAdd the FQDN of the Availability Group Listener as the SQL Server FQDNSelect High Availability Settings, and choose SQL AlwaysOn Availability GroupsAdd the FQDN of the SQL primary replica as the FQDN for the SQL Server AlwaysOn InstanceComplete the configuration of the new pool and publish the topology

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create a new AlwaysOn Availability Group for the back-end databases

Step 4: Update the settings for the SQL Store and publish the topology

Creating a new AlwaysOn Availability Group

Page 74: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating a new AlwaysOn SQL Store

Availability Group Listener FQDN

Primary Replica FQDN

Note: Databases will be created on the Primary Replica when the topology is published

Page 75: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Add new SQL Store using the FQDN of the Availability Group Listener

Step 2: Enable AlwaysOn Availability GroupsAdd the Windows Server Failover Clustering (WSFC) feature on each replica serverValidate the cluster configurationCreate a new Windows Failover ClusterConfigure cluster quorum settingsEnable AlwaysOn Availability Groups

Step 3: Create a new AlwaysOn Availability Group for the back-end databases

Step 4: Update the settings for the SQL Store and publish the topology

Creating a new AlwaysOn Availability Group

Page 76: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Add new SQL Store using the FQDN of the Availability Group Listener

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create a new AlwaysOn Availability Group for the back-end databasesSet the recovery model for each database to FullPerform a SQL backup of each databaseDuplicate the database folder structure on each replica server Create the new Availability Group and add the back-end databases

Step 4: Update the settings for the SQL Store and publish the topology

Creating a new AlwaysOn Availability Group

Page 77: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating a new Availability Group

Page 78: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating a new Availability Group

Page 79: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Add new SQL Store using the FQDN of the Availability Group Listener

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create a new AlwaysOn Availability Group for the back-end databases

Step 4: Update the settings for the SQL Store and publish the topologyIn Topology Builder, open the properties of the Availability Group SQL StoreUnder High Availability Settings, change the FQDN for the SQL Server AlwaysOn instance value to the FQDN of the Availability Group ListenerPublish the topology

Creating a new AlwaysOn Availability Group

Page 80: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Modifying the AlwaysOn SQL Store

Availability Group Listener FQDN

Availability Group Listener FQDN

Page 81: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Deployment optionsExisting pools

Moving from SQL standalone

to AlwaysOn Availability Groups

Page 82: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicasMust be on the same subnet as primary replicaUse same SQL version as primary replica (must be Enterprise Edition)Use same SQL instance as primary replica

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group Listener

Step 5: Associate the pool with the new SQL Store and publish the topology

Step 6: Update the settings for the SQL Store and publish the topology

Moving from SQL standalone to Availability Groups

Page 83: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicas

Step 2: Enable AlwaysOn Availability GroupsAdd the Windows Server Failover Clustering (WSFC) feature on each replica serverValidate the cluster configurationCreate a new Windows failover clusterConfigure cluster quorum settingsEnable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group Listener

Step 5: Associate the pool with the new SQL Store and publish the topology

Step 6: Update the settings for the SQL Store and publish the topology

Moving from SQL standalone to Availability Groups

Page 84: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicas

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databasesSet the recovery model for each database to FullPerform a SQL backup of each databaseDuplicate the database folder structure on each replica server Create the new Availability Group and add the back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group Listener

Step 5: Associate the pool with the new SQL Store and publish the topology

Step 6: Update the settings for the SQL Store and publish the topology

Moving from SQL standalone to Availability Groups

Page 85: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicas

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group ListenerIn Topology Builder, select the option New SQL Server StoreAdd the FQDN of the Availability Group Listener as the SQL Server FQDNSelect High Availability Settings, and choose SQL AlwaysOn Availability GroupsAdd the FQDN of the SQL standalone server as the FQDN for the SQL Server AlwaysOn Instance

Step 5: Associate the pool with the new SQL Store and publish the topology

Step 6: Update the settings for the SQL Store and publish the topology

Moving from SQL standalone to Availability Groups

Page 86: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicas

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group Listener

Step 5: Associate the pool with the new SQL Store and publish the topologyChange the SQL Server store association for the pool to the new AlwaysOn SQL StorePublish the topology, selecting the option to create databases

Step 6: Update the settings for the SQL Store and publish the topology

Moving from SQL standalone to Availability Groups

Page 87: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Changing the SQL Server Store association

Select the Availability Group Listener FQDN

Page 88: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Install additional SQL Servers to be used as secondary replicas

Step 2: Enable AlwaysOn Availability Groups

Step 3: Create AlwaysOn Availability Group for the existing back-end databases

Step 4: Add new SQL Store using the FQDN of the Availability Group Listener

Step 5: Associate the pool with the new SQL Store and publish the topology

Step 6: Update the settings for the SQL Store and publish the topologyIn Topology Builder, open the properties of the Availability Group SQL StoreUnder High Availability Settings, change the FQDN for the SQL Server AlwaysOn Instance value to the FQDN of the Availability Group ListenerPublish the topology

Moving from SQL standalone to Availability Groups

Page 89: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Deployment optionsExisting pools

Moving from SQL mirroring to AlwaysOn Availability Groups

Page 90: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL serverUse Get-CsDatabaseMirrorState to find the Principal server for each databaseNote if the StateOnMirror value is Principal for any back-end databaseUse Invoke-CsDatabaseFailover –NewPrincipal Primary to failover databases

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 91: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror serverRun Uninstall-CsMirrorDatabase –DropExistingDatabasesOnMirror for each database typeRun Get-CsDatabaseMirrorState and verify that the StateOnMirror value is DatabaseUnavailable for all previously mirrored databasesUsing SQL Management Studio, connect to the Mirror server and manually delete any database that could not be dropped by the Uninstall-CsMirrorDatabase cmdlet

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 92: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topologyIn Topology Builder, open the properties of the poolDeselect the Enable SQL Server store mirroring option Publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 93: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability GroupsAdd the Windows Server Failover Clustering (WSFC) feature on each replica serverValidate the cluster configurationCreate a new Windows failover clusterConfigure cluster quorum settingsEnable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 94: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databasesSet the recovery model for each database to FullPerform a SQL backup of each databaseDuplicate the database folder structure on each replica server Create the new Availability Group and add the back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 95: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group ListenerIn Topology Builder, select the option New SQL Server StoreAdd the FQDN of the Availability Group Listener as the SQL Server FQDNSelect High Availability Settings, and choose SQL AlwaysOn Availability GroupsAdd the FQDN of the SQL primary server as the FQDN for the SQL Server AlwaysOn Instance

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 96: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topologyChange the SQL Server store association for the pool to the new AlwaysOn SQL StorePublish the topology, selecting the option to create databases

Step 8: Update the settings for the SQL Store and publish the topology

Moving from SQL mirroring to Availability Groups

Page 97: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Step 1: Failover all databases to the Primary SQL server

Step 2: Uninstall each database type and drop databases on Mirror server

Step 3: Disable database mirroring and publish the topology

Step 4: Enable AlwaysOn Availability Groups

Step 5: Create AlwaysOn Availability Group for the existing back-end databases

Step 6: Add new SQL Store using the FQDN of the Availability Group Listener

Step 7: Associate the pool with the new SQL Store and publish the topology

Step 8: Update the settings for the SQL Store and publish the topologyIn Topology Builder, open the properties of the Availability Group SQL StoreUnder High Availability Settings, change the FQDN for the SQL Server AlwaysOn Instance value to the FQDN of the Availability Group ListenerPublish the topology

Moving from SQL mirroring to Availability Groups

Page 98: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

SQL always onKnown issues

Page 99: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Clients go into resiliency mode after failing over Availability Group to secondary replica

Issue 1

Reason: The Availability Group wizard does not replicate the SQL logins from the primary node to each of the defined secondary replicasWorkaround steps:1. Launch Topology Builder and download topology2. Change the SQL machine FQDN value to the AG

Listener FQDN3. Publish the topology and wait for CMS replication to occur4. Use Cluster Manager to failover the AG Listener cluster

resource to one of the replica servers5. Run Install-CsDatabase –Update (which creates the missing

SQL logins on the replica server)6. Repeat steps 4–5 for each additional replica server

Note: If you want to create a new database you will need to repoint the SQL Machine FQDN to the Primary Node in the Availability Group

RTC Universal Groups are missing

Page 100: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Unable to move from SQL mirroring to AlwaysOn Availability Groups due to location of CMS database

Issue 2

Reason: If the CMS database is homed on or paired with the pool where you are attempting to move to AlwaysOn Availability Groups, you will be unable to change the HA model for the backend database

Workaround steps:If the pool is not paired, use the Move-CsManagementServer cmdlet to move the CMS database to another pool.If the pool is paired and the CMS is not homed locally on the pool where you are attempting to change the backend HA model:• Disable pool pairing and uninstall the CMS database• Change the HA model from SQL mirroring to Availability Groups• Reinstall the CMS database and re-enable pool pairing• Add the CMS databases to the Availability GroupIf the pool is paired and the CMS is homed on locally on the pool where you are attempting to change the backend HA model:• Use Invoke-CsManagementServerFailover cmdlet to failover the CMS

database• Disable pool pairing and uninstall the CMS database• Change the HA model from SQL mirroring to Availability Groups• Reinstall the CMS database and re-enable pool pairing• Add the CMS databases to the Availability Group

Page 101: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Creating an Availability Group with only a single replica

Issue 3Reason: For test environments, you may want to create an Availability Group with only a single replica. If you attempt to use SQL Management Studio to do this, you will be blocked as it requires a minimum of two replicas. However, you can use PowerShell to work around this limitation

Workaround steps:1. Use the powershell cmdlets to set this up# Create an in-memory representation of the primary replica$primaryReplica = New-SqlAvailabilityReplica -Name "lab2-sql5\Instance1" -EndpointURL "TCP://lab2-sql5.contoso.com:5022" -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" -Version 12 -AsTemplate 

# Create the Availability GroupNew-SqlAvailabilityGroup -Name "MyAG" -Path "SQLSERVER:\SQL\lab2-sql5\Instance1" -AvailabilityReplica @($primaryReplica) -Database "cpsdyn" 

# Add additional database to the Availability GroupAdd-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG" -Database "rgsconfig"Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG" -Database "rgsdyn"Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG" -Database "rtcab"Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG" -Database "rtcshared"Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG" -Database "rtcxds" 

# Add Availability Group Listener (note port number - you will get an error if default SQL port 1433 is already in use)New-SqlAvailabilityGroupListener -Name lab2-sqlclu1 -StaticIp '192.168.0.209/255.255.252.0' -Path "SQLSERVER:\SQL\lab2-sql5\Instance1\AvailabilityGroups\MyAG“ -Port 1431

Page 102: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

Unable to create AlwaysOn Availability Group Listener due to connection failure

Issue 4

Reason: For named instances, SQL Server listens for connections on a dynamic TCP port. Some admins may wish to configure SQL to listen on either the default port (TCP/1433) or use a SQL alias to configure SQL to listen on a non-default static port (e.g., 1499). If you configure your SQL Servers to listen on the default port, you will encounter an error when attempting to create the Availability Group listener for SQL AlwaysOn due to a port conflictWorkaround steps:1. Use a SQL alias to configure SQL to listen on a non-

default static port (e.g.,1499) if default SQL port 1433 is already in use (http://technet.microsoft.com/en-us/library/dn776290.aspx)

2. Verify that exceptions have been added in Windows Firewall for the port used by the Availability Group Listener

Page 103: ITP29 - Servicing the Existing Deployment and Upgrading to Skype for Business Server_v04

© 2015 Microsoft Corporation. All rights reserved.