As with all systems a sound backup and recovery strategy is key when deploying Lync. This post will cover some basic ideas about what (and how) to backup in a Lync Topology.
Lync, being essentially a SIP proxy, does not store a lot of data. It cannot be compared to the likes of Exchange or SQL, systems that are all about storing stuff. With Lync, we need availability, the rest is real time traffic/ presence information, only interesting in the moment when it happens.
So what does Lync store then?
Topology, Policies, Configuration
The topology contains all relevant information about Lync Servers and applications. Once the servers are set up, administrators start configuring voice and client policies, trunk settings and all the other good stuff.
We can export all of this configuration settings using the cmdlet: Export-CsConfiguration.
User Settings, Buddy Lists
After configuring the server side of things it’s time to enable some users for Lync, as the admin does so, configuration about the users, like their RegistrarPool ,SipAddress and LineUri are saved within the Lync system. Once the user logs on and starts to add contacts to their buddy list, those get stored on the Lync Servers as well.
We can export all of this information using the cmdlet: Export-CsUserData
If Lync Response Groups are configured there is some configuration information to store for them as well. This can be exported using the cmdlet: Export-CsRGSConfiguration
The same idea applies to the Location Services, if configured, the configuration can be exported using the cmdlet: Export-CsLisConfiguration
Lync File Store
Sure enough, the Lync file store needs to be included in the backup plan as well. This is not stored inside Lync, it typically resides on a highly available fileserver.
Now if that external fileserver is backed up regularly, just make sure it is included in your backup/recovery documentation and try to restore it regularly. If it is not included in existing backup strategies consider using robocopy.
Monitoring and Archiving Data
Monitoring and Archiving data are not really stored inside Lync, either. Data is stored within the LcsCDR, QoEMetrics and LcsLog databases on a SQL server. There are no Lync tools available to backup this data, it is typically backed up using existing backup software for SQL or through SQL Management Studio.
As with the Lync file store, make sure to include backup/restore dependencies and scenarios in the Lync documentation.
Persistent Chat Data
Lync 2013 introduced the persistent chat feature, now for the first time we really do store instant messages and attachments sent by users.
Data is stored within the Persistent Chat Database and can be exported using the cmdlet: Export-CsPersistentChatData. If existing backup software for SQL is available, the persistent chat database is typically backed up like any other application database.
Now that we know what there is to backup, let’s have a look at how. I did point out the Export-* cmdlets and they’re the tool of choice for backing up Lync configuration information and settings.
Note: The account used to run the Export-* cmdlets needs to be member of the RTCUniversalServerAdmins group.
I’ve come up with a quick script that invokes the mentioned Export-* cmdlets. The script can be found on my Github.
Find more information about the script on the help page.