Simon Westphahl

Moving Citrix Data Store & Data Collector

By Simon Westphahl on August 01, 2009

If you only have a small number of Citrix Presentation Servers (now XenApp), you can use a Access database to store farm information instead of rolling a full-scale SQL server. (Citrix only recommends this for small environments!)

There are two types of roles:

  • the Data Collector manages dynamic information about the servers in a zone (e.g. usage and load of servers and published applications, load balancing information, sessions, etc.)
  • the Data Store provides persistent information about the farm (e.g. configuration of farm, published applications, policies, etc.)

Since we had some problems with the server the Data Store was on, we decided to move the database to another server. We also had this server configured to be the most preferred Data Collector.

Changing the most preferred Data Collector

This is the easier part since the information is stored in memory. Changing the most preferred Data Collector is simply done via the “Citrix Presentation Server Console”.

Open the properties dialog of the farm and select “Zones”:

  • select the server you want to become the new data collector and change the preference to “Most Preferred”
  • select the old Data Collector and set the preference to “Default Preference”

On the command line you can use ‘query farm’ to verify that the most preferred Data Collector has changed. On the output the current Data Collector (should be the most preferred one) is marked with a “D”.

Migrating the data store

Migrating the Access database requires slightly more work. First backup the database on the old Data Store with the following command:

dsmaint backup C:\Backup\Path

Copy the resulting “mf20.mdb” and the file “C:\Programs\Citrix\Independent Management Architecture\mf20.dsn” from the old server to “C:\Programs\Citrix\Independent Management Architecture" on the new server.

Run the following command (replace <new_server> with the name of your server) on all servers except the one which should become the new Data Store:

dsmaint failover <new_server>

Finally execute the command below on the new Data Store:

dsmaint config /dsn:"C:\Programs\Citrix\Independent Management Architecture\mf20.dsn"

Restart the IMA service on all farm servers to activate the new configuration.

That’s it! Every server in the farm - except the new Data Store - should now have a registry key “PSServer” in “HKLM/Software/Citrix/IMA” with the name of the new Data Store.


Comments