The Master and Target pairs you have configured are displayed in the Manage module under DR Configuration.
To configure a new Master / Target pair click Create DR.
Select the Artifactory services you wish to define as the Master and Target pair and click "Save".
Master and Target pairs must both be running Artifactory v4.7.2 or later.
Once you have configured the Artifactory services of a Master and Target pair, you can not change them. If you need to change a Master and Target pair, you need to delete the pair from the list and configure a new pair.
To proceed with the DR process, click the Control Panel icon to display the Disaster Recovery screen for the selected Master and Target pair.
The Disaster Recovery screen displays several panels in two separate tabs.
The Master-Target tab displays:
The Repositories tab displays the synchronization status of the corresponding repositories on the Master and Target services.
The Actions menu lets you refresh the Repositories table, perform a sync test, or proceed through the phases of DR (Init, Activate etc.)
|A logical name for the service.|
The service type. Artifactory or Xray.
|Total used space for the repository.|
|Number of folders in the repository.|
|Number of files in the repository.|
|Number of metadata files.|
(Applicable only for Maven repositories)
|Size of metadata files.|
(Applicable only for Maven repositories)
Any access tokens issued by the Master service for authentication will not work with the DR Target. For clients to work with the DR target once DR has been activated, the Target must issue new access tokens.
If your Master service has Master Key Encryption enabled, you need to sync over the Master key to your Target service so that all passwords can be properly decrypted once your security settings are replicated to the Target. For details, please refer to Artifactory Key Encryption in the JFrog Artifactory User Guide.
Once your Master and Target pairs are Configured, to initialize DR, select Init from the Actions menu.
Initializing DR essentially means setting up all the replication configurations that are needed for DR, meaning:
It is up to your JFrog Mission Control administrator to ensure that each repository on the Master service has a corresponding repository on the Target service for replication. Before initializing DR, Mission Control will also verify that the target service has enough storage available.
Consider that repository maven-local on service Master has a replication configured to my-local-maven on service Other. For maven-local to be DR protected:
Initializing DR performs different actions on configuration files in the Target service.
The following entities are overridden (replaced by their counterparts from the Master service)
The following entities are updated
In addition, any user plugins existing on the Master but missing on the Target are created on the Target service.
When invoking DR, or restoring your Master service, at some point, you will need to synchronize repositories between your Master and Target services:
Depending on the amount of data in your filestore, this may be a resource intensive operation. Therefore, to avoid overloading your systems which may cause performance issues, Mission Control lets you manage synchronization of your repositories either manually or automatically.
You can invoke replication directly on the Artifactory service (the Master service when invoking DR, the Target service when doing a restore) in a gradual manner according to your IT policies and available bandwidth. For details, please refer to Replication in the Mission Control User Guide, or to Scheduling and Configuring Replication in the JFrog Artifactory User Guide. In this way, using your knowledge of how much data is hosted in each of your repositories, you may implement a gradual synchronization process with minimal or no impact to your system performance.
If the amount of data in your system does not pose any performance risk during synchronization, you may invoke a full synchronization automatically through Mission Control from the Actions menu by selecting Enable DR Replications. Mission Control invokes replication indirectly by setting the cron expression that determines the timing of replication for each repository being replicated.
When invoking DR, it looks like this:
For a Restore, it looks like this:
Even so, Mission Control avoids risking a performance hit and ensures that replications are not all invoked simultaneously. All replications are configured to run sequentially, at 5 minute intervals (default) to ensure that replication is initiated in a staggered manner to avoid a heavy load burst when data transfer begins. You can modify the time interval through the
drconfig.replication.cronIncrement parameter in your
At any time, the Repositories panel gives you a clear picture of the syncrhonization status of your repositories. Click any header in the Legend to view only those repositories in the selected status. For example, click Missing Repo to view those repositories that exist in the Master service but were missed in the Target service. The table in the Repositories panel displays the following information for both the Master and Target service:
|The repository key|
|The amount of storage occupied by files in the repository|
|The number of physical files in the repository|
|The number of folders in the repository|
|The number of items in the repository. Note that while a file is stored only once, it may appear as several items in different locations in the repository.|
Activating DR is the process of bringing the Target service into operation when the Master service is down or not available. Once activation is complete, an administrator needs to update the DNS or load balancer to point to the Target service.
To activate DR, from the Actions menu, click "Activate"
The following actions that occur during the activation process depend on whether the Master service is up or not:
Master service is up
Master is down or was gracefully turned off
At this point, your administrator needs to redirect traffic from the Master service by pointing your DNS or load balancer to the Target service on the DR environment. This change should not have any effect on the IP/DNS records that are configured on your Mission Control DR configurations.
This brings you to the Failover phase in which network traffic goes to your Target.
Once the Master service can be brought back into normal operation, you need to restore your system and data back from the Target service. This process mirrors the process of setting up and activating DR.
Before you proceed with the restore operation, you need to ensure the following pre-requisites are met:
Once these pre-requisites are met, invoke Restore by selecting it from the Actions menu. During the restore process, Mission Control performs the following actions:
Now you are ready to synchronize your repositories from your Target service back to your Master service as described in Synchronizing Repositories.
Once you have finished synchronizing your repositories you need to finalize the restore operation by selecting Actions | Complete Restore. This action gives you the option of removing the DR replication sessions between the corresponding Target and Master once the restore is complete to avoid having redundant replications configured for the Target.
Finally, once the restore operation is complete, your administrator needs to redirect traffic Target service back to your Master service by manually updating your load balancer or DNS to point to the Master service.
To delete a DR configuration, simple click the corresponding "Delete" icon in the DR Configurations list.
$MC_HOME/etc/mission-control.properties includes a number of properties related to your DR configuration:
|When performing an automatic sync of repositories, this parameter determines when the first repository will be synchronized.|
Default: 5 min
When performing an automatic sync of repositories, this parameter determines the time interval between the successive initiation of replication for the local repositories on the Master service. For example, if set to 5 minutes, Mission Control will set the cron expression in the first repository in the Master service to invoke replication as specified in the cron expression, the next one will start 5 minutes later, the one after that, 5 minutes later again, and so forth.
Default: 300,000 ms
Mission Control periodically synchronizes the repository definitions and replication settings between the Master and Target service (config descriptor) . This parameter sets period between these sync job executions.
Default: 45 seconds
Sets the timeout period for a socket opened to Artifactory.
Default: 15000 milliseconds
Sets the Artifactory replication socket timeout for DR.
Before initializing DR, Mission Control verifies that the target service has enough storage available. When true, this parameter specifies that Mission Control should not perform this check for available space. This is the desired behavior when your target service uses cloud storage in which case the check for available space is not needed.
If you modify your $MC_HOME/etc/mission-control.properties file, we recommend restarting Mission Control to make sure your changes take effect.