Server mirroring is a process that requires two separate servers of a similar specification – a master server that will be responsible for serving the data and a slave server that will be a mirror of the master server so that it will be able to take up the role of the master server in the event that the master server suffers downtime. The data hosted on the master server is kept in constant synchronization with the slave server as to ensure that if the master server does fail, the slave server is able to come back up with a copy of the data that can be seen as reliable and up-to-date. A number of different processes help to ensure that the integrity of the data isn’t compromised and that a usable copy of each single file is kept on the slave file.
Server mirroring can be used for automated data back-up as it allows for files that have been changed to be identified therefore allowing them to be backed-up using rsync to the slave server in real time. Server mirroring also makes the most of the resources of the master server and slave server but at the same time ensures that neither server is overloaded with the tasks that need to be completed.
Dedicated Server Hosting
Server mirroring is only going to work if you have two identical servers, and as a business you may wish to consider dedicated server hosting if you wish for this requirement to be met. However, it is important for you to make sure that your web hosting provider is aware of the fact that these two servers are going to be used for server mirroring purposes as they will then be able to ensure that your two dedicated servers are located in separate server racks.
It also important for you to remember that you will need to have the same Linux distribution installed on both servers, the recommended Linux distribution for this purpose being CentOS. The two technologies that are used to achieve server mirroring, FAM and rsync, are only available on Linux meaning that server mirroring won’t work if you are using a Windows web hosting server.
The basic process involves two servers and helps to ensure that only new data is replicated on the slave server; this helps to reduce the amount of data transfer between the two servers as well as the amount of time it takes to synchronize the data held on the two servers. A file will only be transferred to the slave server when it has been modified, and even then only the modified portion of the file will be synchronized as this will help to reduce the load on both the master server and slave server.
Two applications are used by most web hosting providers to help ensure the reliability of their server mirroring solution; FAM (File Alteration Monitor) flags any files that are changed as they are updated by the end user, whilst rsync helps to keep files synchronized between the master server and slave server. It is also important for web hosting providers to ensure that the dedicated servers that they are using in any server mirroring situation are physically kept apart; this means that the master server and slave server should be located in two different racks so if there is a rack-specific problem that affects the master server, such as a power problem or network problem, the slave server isn’t affected in any way.
This is the situation in which the slave server will take up the role of the master server for the time being if something happens which happens to cause the master server downtime, whether this be a network problem or power problem. All requests that are sent to the master server will be automatically forwarded to the slave server – it is important for the slave server to be able to take up the role of the master server also immediately upon the notification of the downtime of the master server.
The slave server will bind to the IP addresses of the master server, including any dedicated IP addresses that maybe owned by website owners, so that websites and applications that were hosted on the master server can then begin to resolve from the slave server almost immediately. The useful thing to note is that once the master server comes back us the websites that it is hosted will then start to resolve from it again, thus meaning that the slave server can go back to acting as a back-up server.
An important benefit of using server mirroring services is that end-users won’t notice the difference between the master server and the slave server since they will still be able to make changes to their websites and web hosting accounts whilst using the slave server if the master server is unavailable as these changes will then be automatically synchronized back to the master server once it comes back online.
All new files that have been created on the slave server are automatically synchronized back to the master server so that they aren’t lost whilst files that are identical to their copies on the master server aren’t synchronized. This can be a tricky process to an extent as it does allow for all of the data contained on the master server to be overwritten, but it does have its benefits since it means that both servers are going to be a disk-to-disk identical copy of one another.
If you wish to be able to benefit from server mirroring, a web hosting solution that can guarantee you 100% uptime and zero data loss, you will need to consider two identical dedicated servers for your web hosting requirements. Although this is going to be an expensive web hosting solution, it is generally aimed at businesses that need to be sure that their website will always be available; however, server mirroring can also be useful for web hosting providers that wish to offer their own 100% uptime web hosting services.