What is the difference between the different types of replication, and what are the advantages of them? Which ones should I use?

Firstly there are basically 2 types of replication technology.
1. File based replication and
2. Disk based replication

File based replication takes a view of a file system and is at a higher level than disk based replication which is implemented at device level, often as a device driver.

As for advantages, and disadvantages, disk based replication is more responsive as individual blocks of a disk are mirrored to the target system, creating a more immediate backup.

File based replication

Because it looks at changed files, can be cumbersome if you have large files, as if it sees that a file has changed, even though you have only changed a few blocks, it will need to replicate the whole file.

The other types of replication are synchronous and asynchronous. The difference between these is that synchronous replication will wait for an acknowledgement from the target server, and asynchronous replication will continue to send writes to the target server without waiting for acknowledgements. In theory, waiting for acknowledgements sounds like a good idea, but in practice, it is usually used only for LAN based replication where additional bandwidth to allow this is available.

Advantages of volume-based replication:
– File-system independent. Works on all filesystems.

– Sits below file-system which allows replication engine to bypass using file-system calls (open, read, close). This places less burden on the host server which results in lower CPU utilization.

– Because we do not deal with files, there is no issue with open files not being replicated. There is also no requirement for agents being needed to deal with open files.

– Every bit on the data volume is replicated. This ensures that no files are missed due to improper configuration of the replication software and that any changes made volume metadata (such as access control lists) are also replicated.