Replication of files from Primary and the Secondary Linux servers

Hallo Friends,
I have two Red Hat 7 virtual servers. One is Primary and the other one is a Secondary. Need to have  replication of files from Primary and the Secondary.  Please suggest few options and methodologies for doing the same. Believe one is SRDF but teh support team doesn't support that.

Flex TronDeveloperAsked:
Who is Participating?
Jan SpringerCommented:
update iptables or firewalld (whichever you're using) to restrict ssh by only authorized IPs/subnets.  this is extremely critical as I am going to walk you through using keys as root to login in to the other server.

install fping
      yum install fping

verify that its installation location (needed for the script below)

      which fping

create your ssh keys and enter through everything, you'll need it passwordless

        cd /root

copy the public key information

        cat .ssh/

ssh to the other server, insert the public key and save

        ssh root@IP_of_secondary_server
        cd .ssh
        vi authorized_keys
now you should be able to ssh as root to the other server without requiring a password.  the first time that you do so, you'll be prompted to accept the fingerprint.  Do so and know that, under normal circumstances, you should never see that message again.  if you do, beware of a man in the middle attack.

     vi /usr/local/bin/syncfiles

a typical script would look like this



     if [ "$RESULT" == " is alive" ]; then

             /usr/bin/rsync -av --delete-after -e ssh /data/ root@

     exit 0

And a cron job

    vi /etc/cron.d/syncfiles

Insert this line and save.  change this to whatever frequency  you need

    30 0 * * * root /usr/local/bin/syncfiles > /dev/null 2>&1

systemctl restart crond
Jan SpringerCommented:
I use rsync and it works very well.
Flex TronDeveloperAuthor Commented:
Thanks Jan....
Are there any steps available or any resource URL where it can be found.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Jan SpringerCommented:
1) install rsync
     depending upon your initial installation, it may already be installed
     do a "which rsync" to check
     or install as root "yum install rsync"

2) create a script of what needs to be synced

3) as root, generate public and private key on the originating server

4) put the public key into the .ssh/authorized_keys folder for root on the other server

5) create a cron job to do sync

I can help with any or all of this.
Flex TronDeveloperAuthor Commented:
Hallo Jan
When I do the command "which rsync" I get : /usr/bin/rsync  
Guess that means it is installed already.

Not sure how to do step 2 and 5.
The Folders which needs to by synced is /data
Flex TronDeveloperAuthor Commented:
Hallo Jan,
The server is not connected to internet. Only intranet,
Hence yum install won't work . !
Also, can you please explain a bit more about teh cron part
Jan SpringerCommented:
cron is a service that runs jobs at defined times.

do you have the original DVD?  

you can install from that.
@flextron, do you mean this  for SRDF ?

As Jan has said, rsync is _the_ application for unidirectional replication between different systems across virtually any type of link, depending on the size of the filesystem (number of files and directories) the time it takes rsync to "crawl" the filesystem may be an issue.

Just as an alternative idea, zfs has "zfs send" and "zfs receive" which like rsync can also be used to unidirectionally replicate a filesytem, and as these can also be used for snapshots, for very large filesystems, this can be considerably faster than rsync for keeping a replica up to date. The issue being that this only works on a zfs filesystem...
you can also use gluster which will be a little slower than a regular fs but will replicate in near real-time and replicates in both directions

you can use this doc
- their first 2 steps make you create a dedicated partition for gluster but you can use an existing directory
- note that you should not use the directory behind gluster directly but rather mount your glusterfs on both hosts on separate directories. if that's unclear and you're interested, i'll elaborate.
- the key to the setup is in step 5 : "replia 2" instructs gluster to keep 2 copies of each file and since you only have 2 hosts, you end up with mirroring


there are many other options such as replicating fusefs or stuff based on inotify

i've used unison with good results as well. it's only better compared to rsync if you need bidirectional sync

zfs will provide block-level replication ( and a crazy number of other features you probably won't use if your server is an existing virtual linux server ). note that it is much more efficient with small files than traditional block-based replications.

rsync is mainly interesting for it's versioning capabilities. but note that rsync is not suitable for frequently syncing a huge number of files.
nociSoftware EngineerCommented:
drbd might be an option on the block level if needed.

If you need synchronous replication from primary to secondary then drbd is the only option.
gluster and a wealth of other options allow synchronous replications between 2 hosts
obviously with synchronous replication comes latency
Flex TronDeveloperAuthor Commented:
@Jan Springer: IS fping absolutely necessary. Will tnsping won't work ?
Jan SpringerCommented:
Any ping that you can specify a count of one, returns a one-line answer and the answer is consistent will work.
Flex TronDeveloperAuthor Commented:
Sorry for the delay ...but yes.. this is a way of keeping things in sync. Other way I believe would be having an enterprise scheduler like COntrol M or Tidal to have a job which copies the  files from Prod to DR on a nightly basis.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.