Mac OS X,  Mac OS X Server,  Unix,  Xsan

Heterogenous Block Level File Replication

File Replication Pro is a software package that will replicate data from one host to another, across a few different operating systems.  You essentially define a source, a destination, what kind of replication and a schedule.  One of the scheduling options is to simply always keep data in synchronization, which appears to be one of the main uses of the software.  File Replication Pro isn’t cheap.  Reason being that once an initial replication is complete it does not simply copy files – it copies delta changes to files.  So if 4k worth of a file changes, then it’s only going to sync that amount of data, once the initial file is sync’d.  This allows it to keep directory structures in sync quickly without a lot of complex shell scripting or using rsync.  You can also replicate between different operating systems if needed.

To install File Replication Pro (FRP) on Mac OS X is easy, simply download it and open the installation application.  You’ll initially be prompted for a location for the root of the FRP directory tree, which is essentially the folder you’re installing FRP onto.  

Installation Location
Installation Location

 Next, read the licensing agreement and if you agree, select I Accept the terms of this Licensing Agreement and then click Next.  

FRP License
FRP License

Next, you’ll be asked for the FRP Server type.  If the host you’re installing FRP on will be doing replication and used to run the management console then select Replication and Management.  If the host will only be part of the replication topology and not running the management console then select Replication Only.  If the host will not be part of the Replication topology but only used to manage it (the rarest instance in my experience) then you can select Management only.  You should only be running the management services on one system.  It’s tempting to install them on multiple systems but problematic.

 

FileReplicationPro Server Type
FileReplicationPro Server Type

Next you’ll see the Install Complete dialog.  Here, click Next and you’ll see dialog boxes for Replication and Management (according to which services you’re running) asking if you want to go ahead and start the services. In most cases simply click yes on these dialogs.  

Because replication happens between two systems, you’ll want to do the installation on the second host next, following pretty much the same instructions from above.  Now, you can open the web admin app using the IP of the host followed by :9100.  When you log in (using the default password of ‘admin’) you should see the two servers in your list, which FRPs discovery process should populate.  Click on the Scheduled Jobs tab and then click on the Add Job button.  

FRP Add Job
FRP Add Job

At the basic job screen, you will first select the type of replication.  Options are:

  1. Move – Move the data from the source to the destination
  2. Copy – Copy the data from the source to the destination (file based)
  3. One Way Mirror – Copy the data from the source to the destination (block based)
  4. Two Way Mirror – Keep the data synchronized between the source and the destination (block based)

Once you’ve selected your replication type, pick a source and destination server, choose a path and if needed enter a password for the two servers.  There are more options, such as Compression, Encryption, pre/post flight scripts, inclusions, exclusions and bandwidth throttling under the Advanced button, but these are fairly self explanatory so we’ll move on to clicking on the Schedule button to schedule the replication.

FRP Schedule
FRP Schedule

At the schedule window, you’ll select a type of schedule.  Options include:

  1. Real Time Continuous Replication – Default – Keep the data replicated all the time, when a file system change occurs, synchronize it.
  2. Repeating Job – Job that runs on a schedule (think cron here).
  3. Run Immediately – Run the job when you click on the Finish button.
  4. Run once – Run the job one time at a scheduled date.

Once you have selected the type of schedule, set the parameters for when the job will run (unless it’s Real Time Continuous Replication or Run Immediately, which have no parameters).  When you’re satisfied with your scheduling settings, click Finish.

Next, click on the Logs tab and watch replication begin.  Test the replication, test it some more and then test it a little more.  Then feel free to pop it into production once you’ve tested it just a little bit more.