StoreFront automatically synchronizes subscriptions between servers in a StoreFront server group. If you have multiple server groups (typically in different geographic location) then you can configure periodic pull synchronization of users’ subscriptions from stores in different StoreFront deployments. This must be done using PowerShell.
The StoreFront and PowerShell consoles cannot be open at the same time. Always close the StoreFront admin console before using the PowerShell console to administer your StoreFront configuration. Likewise, close all instances of PowerShell before opening the StoreFront console.
When establishing your subscription synchronization, note that the configured Delivery Controllers must be named identically between the synchronized Stores including the case. Failing to duplicate the Delivery Controller names exactly may lead to users having different subscriptions across the synchronized Stores. If you synchronizing subscriptions from aggregated resources, the name of the aggregation groups used by both Stores must also match. Delivery Controller names and Aggregation Group names are case sensitive; for example, CVAD_US is different to Cvad_Us.
Use an account with local administrator permissions to start the Windows PowerShell ISE.
To configure synchronization, use the Publish-STFServerGroupConfiguration command. You can either specify a start time and recurring interval or a list of times. For example to start synchronizing at 08:00 then every 30 minutes:
Add-STFSubscriptionSynchronizationSchedule -RecurringStartTime 08:00:00 -RecurringInterval 30 <!--NeedCopy-->
We recommend that you stagger pull schedules to avoid two server groups attempting to pull subscription data from each other at the same time. For example, a schedule to pull data from each server group every 60 mins would be configured as follows. Server group 1 pulls data from server group 2 at 01:00, 02:00, 03:00 and so on. Server group 2 pulls data from server group 1 at 01:30, 02:30, 03:30 and so on.
To specify the remote StoreFront deployment containing the store to be synchronized, type the following command. You must configure this for each data center where a StoreFront server group resides so it can pull subscription data from other remote datacenters. See the following US and UK datacenter examples:
Run on US data center StoreFront servers to pull data from the UK datacenter servers:
$StoreObject = Get-STFStoreService -SiteID 1 -VirtualPath "/Citrix/Store" Add-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUKStore" -StoreService $StoreObject -RemoteStoreFrontAddress "UKloadbalancedStoreFront.example.com" <!--NeedCopy-->
Run on UK data center StoreFront servers to pull data from the US datacenter servers:
$StoreObject = Get-STFStoreService -SiteID 1 -VirtualPath "/Citrix/Store" Add-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUSStore" -StoreService $StoreObject -RemoteStoreFrontAddress "USloadbalancedStoreFront.example.com" <!--NeedCopy-->
where FriendlyName is a name that helps you identify the remote deployment and RemoteStoreFrontAddress is the FQDN of the StoreFront server or load-balanced server group for the remote deployment. To synchronize application subscriptions between two or more stores, all stores which are to be synchronized must have the same name in their respective StoreFront deployments.
Add the Microsoft Active Directory domain machine accounts for each StoreFront server in the remote deployment to the local Windows user group CitrixSubscriptionSyncUsers on the current server.
This allows the current servers to pull new or updated subscription data from the remote servers listed in in CitrixSubscriptionSyncUsers once you have configured a synchronization schedule. For more information about modifying local user groups, see https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772524(v=ws.11).
When you have configured the schedule as you intend, use the Citrix StoreFront management console, or the Powershell below, to propagate the subscription synchronization schedules and sources to the all other servers in the group.
For more information about propagating changes in a multiple server StoreFront deployment, see Configure server groups.
To remove an existing subscription synchronization schedule, run the following command, then propagate the configuration change to the other StoreFront servers in the deployment.
Clear-STFSubscriptionSynchronizationSchedule Publish-STFServerGroupConfiguration <!--NeedCopy-->
To remove a specific subscription synchronization source, run the following command, then propagate the configuration change to the other StoreFront servers in the deployment.
Remove-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUKStore" Publish-STFServerGroupConfiguration <!--NeedCopy-->
To remove all existing subscription synchronization sources, run the following command, then propagate the configuration change to the other StoreFront servers in the deployment.
Clear-STFSubscriptionSynchronizationSource Publish-STFServerGroupConfiguration <!--NeedCopy-->
To list the subscription synchronization schedules currently configured for your StoreFront deployment, run the following command.
To list the subscription synchronization sources currently configured for your StoreFront deployment, run following command.