Server Mirroring & Failover Solutions
Server Mirroring is a process of channeling data from the Master server to the Slave server so that an identical copy of data exists on the Slave server. In other words server mirroring can also be described as utilizing a backup server that duplicates all the data of the master server. After the implementation of mirroring, if for any reason, the master server fails, the slave server can immediately take its place without any downtime.
The usage of server mirroring technology can solve many different issues such as:
- Automated Data Backups - Tracking file changes independently and replicating those changes using Rsync, thereby maintaining a real-time copy of data than copying an entire file that has changed.
- Systems Redundancy - Enable efficient use of server resources and increase overall redundancy of each server.
Data ReplicationWe are applying Mirroring Solution using FAM and RSYNC modules. For Server Mirroring we set-up 2 similar configuration servers in 2 different racks out of which one server is master server and other is slave. Any file update or change on the master server flags itself and FAM gets notified about the Flag. FAM module then sends a request to Rsync to copy the file update on the Slave server and the file is immediately transmitted on to the Slave server. This process is finished in a very short period of time and doesn't use up any server resources even if the files which are changed are of larger size.
Failover/Failure monitoringFailover is a process in which the slave server stands in for master server in case the master server falls. With the help of Failover, user and application requests that are directed to the failed master server are routed to the slave server. This is done with the help of a monitoring script running on the Slave server which binds the Secondary IP of master server (IP allocated to websites) and all other Dedicated IPs on the slave server. Websites/applications on master server then start resolving from the Slave server in fraction of a second and function in the same way as they used to on the master server.
RestorationRestoration provides an easy method for copying replicated data from the slave server back to the master server. Restoration process only requires selection of the source, target, and the proper replication set. There is no need to select files or to remember where the data came from on the source since that information is maintained by Rsync. Restoration can be used if the data on the master server is lost because of a disk crash or when the most up-to-date data exists on the slave server due to failover. At the time of a master server failure, the slave server will contain the same data as the master server. Because of the continued (prolonged) updates on the slave server, when the master server is back online, the two servers will not anymore contain the same data. Restoration is the process of copying the incremental data from the slave server back to the master server.