While doing some testing of some advanced/crazy items I need to do in my Skype for Business 2015 deployment, I discovered something, CMS changed from 2013 to 2015.
What is the Central Management Store (CMS)?
The CMS is a SQL Database that stores your topology for your SfB Environment. The contents of your database can be seen in XML format by exporting your configuration (export-csconfiguration) and is replicated to other servers via the FileTransferAgent.
Your CMS contains your topology (what you edit in Topology Builder), Configuration (conference numbers, Oauth information, etc.) and Policies (dial plan, voice, etc.). All of these are stored as XML inside of the above mentioned SQL Database. If we connect to our Standard Edition Server that is hosting CMS we will find an XDS Database. (If you have an Enterprise Edition pool, connect to your backend server.)
There are three pieces to CMS Replication.
Master Replica Agent: A service running on your front-end server(s) that is designated as the CMS Master.
File Transfer Agent: A service running on your front-end server(s) that is designated as the CMS Master.
Replica Agent: A service running on all Front-End, Edge, Director, Mediation, TrustedApp Servers, PChat, etc. that contain a replica of the CMS.
How the process works is that the Master Replica Agent makes a copy of the configuration in a data.zip file and is copied into specific folders (to-replica). The File Transfer Agent then moved that file either via SMB or HTTPS (for edge servers only) to the replicas. The replica’s process the file, and create a status.zip file in their own file share. The File Transfer Agent sees the file, transfers it back to the central file share and the Master Replica Agent processes that it was completed.
If you want the deep dive details of this you should check out this blog for more details and pretty pictures explaining it all.
So What Changed?
The location of the file share! And no one told anyone about it. If you upgraded your Lync 2013 environment to SfB 2015 then you most likely have a bunch of folders in your file share. However, if you did a clean install or moved your CMS to a new SfB Server it most likely looks like this:
After a minute of absolute panic that someone had deleted everything for CMS I realized that CMS replication was still working. So clearly it moved, but to where.
So I fired up Process Monitor and entered these filters.
What I found wasn’t all that shocking. First, we see the Master Replica Agent creating the data.zip files.
Notice the path. \server\xds-replica\xds-master\xds-master … The CMS has moved from the back-end file share to the RTCReplicaRoot share that is often placed at the root of C.
Next we can see the File Transfer Agent copying the data.zip file to another server.
And if we let this process play out long enough we will see the Master Replica Agent processing the status.zip files.
Why the move?
So I asked around to find out why this move happened. The vast majority of people didn’t even realize that the process had changed from Lync 2013 to Skype for Business 2015. But after asking enough people it appears this change was to remove a point of failure. Apparently too many people have been putting their Lync 2010/2013 share on an unsupported file structure (i.e. NetApp) causing massive CMS replication issues for support.