Monday, February 6, 2017

Lync 2013 CMS failover in coexistence scenario with Skype for business 2015

I had planned a CMS failover to avoid any Lync/Skype issues during weekend SAN maintenance since our Lync 2013 infrastructure was hosted on the Hyper-V platform. 

As we have during our DR tests many times before, I ran the invoke-csmanagementserverfailover cmdelt from the target pool as documented by Microsoft. 

#CMS failover cmdlet
Invoke-csManagementServerFailover -BackupSQLServerFqdn “Lyncpool31.companyname.com” -BackupSQLInstanceName "rtc"  -Force"$false - verbose 

The cmdlet failed and the log showed a strange message, "Error: An error occurred: "System.FormatException" ""1" error categories reported in topology document."



I also noticed I could not use the invoke-csreplication cmdlet due to the error below:

Invoke-CsManagementStoreReplication : ###50020:XdsForceReplication:This central management store is being moved to
another location. No changes can be made until this move is completed.
At line:1 char:1
+ Invoke-CsManagementStoreReplication -ReplicaFqdn servername.com....
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-CsManagementStoreReplication], SqlException
    + FullyQualifiedErrorId : System.Data.SqlClient.SqlException,Microsoft.Rtc.Management.Xds.InvokeOcsManagementStore
   ReplicationCmdlet

Knowing that the SAN maintenance window was quickly approaching, I opened a SEV A Microsoft Premier case. With Microsoft assistance and roughly 2.5 hours later, it was determined that the cause of our degraded CMS state was due to version mismatch. 

Solution:
The Invoke-csManagementServerFailover cmdlet was run from a Skype server (along with Enable-Cstopology) to force the failover of CMS to the desired Lync 2013 backup pool. 

I hope this post saves someone a few hours of work for something, in retrospect, that is simple.  

2 comments:

  1. do you have an unlimited pool of SevA MSFT tickets to waste? I could use some of those... :)

    ReplyDelete
  2. The solution was to run that command from a S4B server? I guess the assumption was you ran it from a Lync 2013 server that caused the failure?

    ReplyDelete