What is Central Management Store
1. It is a repository (SQL Database) to store topology, configuration and policies as XML documents.
Topology - Topology information generated from topology builder
Configuration - All the Lync server settings
Polices - All the different policies like dial plan, client and conferencing
2. We can modify the CMS either using Topology builder, Lync server management shell or Lync server control panel.
3. The access to CMS is provided to the above components through a DLL called Microsoft.Rtc.Management.Core.dll.
4. CMS is not only stores data, it will also validate the information before publishing it to the database.
5. It operatees in a single master and multiple replica system. There will be only one master CMS and all servers ruling Lync will have a local replica. All updates to information in CMS takes place at the master. The information is then replicated to all replicas
Lync 2013 uses "Loosely coupled backend database", which means, there is no real time data will be stored on the backend database. Instead, it will store in the local CMS database and then replicate to the backend.
Configuration - All the Lync server settings
Polices - All the different policies like dial plan, client and conferencing
3. The access to CMS is provided to the above components through a DLL called Microsoft.Rtc.Management.Core.dll.
4. CMS is not only stores data, it will also validate the information before publishing it to the database.
5. It operatees in a single master and multiple replica system. There will be only one master CMS and all servers ruling Lync will have a local replica. All updates to information in CMS takes place at the master. The information is then replicated to all replicas
6. Lync servers will always read information from the local replica. This ensure the resilience when the master or the network to the master is not available.
CMS is implemented using three Windows services:
- Lync Server Master Replicator Agent (MASTER)
- Lync Server File Transfer Agent (FTA)
- Lync Server Replica Replicator Agent (REPLICA).
Note : All three services run on CMS master and only REPLICA runs on the all replica servers.
How CMS replication works
1. Process of transferring information updates from master to replica is called “Replication”
2. Below are the three process takes place during the replication cycle
a. Copying information from the master to the replicas.
b. Applying the changes received to the replica.
c. Reports the status back to master.
CMS Master directory structure
3. CMS master uses file share to store master data. path would be <Lync Server FileStore>\<CMS Service Id>\CMSFileStore\xds-master, where <Lync Server FileStore> is the name of the directory selected to be the FileStore
4. xds-master folder contains two sub-folders called replicas and working
5. The replicas folder contains a sub-folder for each of the replicas. For Eg. if you have 8 FE servers in your topology, you can see 8 folders under replicas. Folder name would be the server FQDN.
Replica directory structure
7. Each replica uses a directory structure in the file share, xds-replica (\\<replica>\xds-replica), to synchronize with the CMS master, where <replica> is the FQDN of the replica
Replication flow
9. Each 60 seconds a task is run to determine if a change has been made to the CMS master and needs to be replicated.
10. All changes made since the last time the task was run are batched together into a data package – data.zip . The data package also contains meta-data. MASTER service is responsible for generating the data package.
11. For fast replication the size of the data.zip is less than 100 kb.
12. MASTER service stores data package to to-replica folder for every replica. Lync servers except Edge will use SMB protocol to push the data package. Edge server will use HTTPS channel through 4443 port.
13. FTA on CMS master will be alerted once MASTER service places the data package on to-replica folder and it will copy the data package to all replica servers (on working folder).
14. REPLICA service on the replica server copies the file to from-master folder, extracts and applies the changes to local CMS replica. After applying the CMS changes the REPLICA generates a status package – status.zip.
15. The REPLICA service will place the status package in the to-master directory.
16. FTA service running on CMS master will copy the status package to from-replica folder on CMS master flex share.
17. MASTER service will process the status package and update the CMS master.
Important