I'm considering setting up a way to automate data redundancy and synchronisation of multiple workstations at the office. The way our office is setup, nobody has a fixed desk and anyone can login and work on any workstation on the network.
One way of doing this would be to have a NFS mounted /home filesystem. However, that would slow down file access as everything would need to be pulled off the network plus it creates a single point of failure.
This is the general idea.
[WS-A]--- (DRBD) ---[BACKUP]--- (DRBD) ---[WS-B/C/D/etc]
The idea is for someone to work on WS-A and whatever file saved is automatically synchronised with another machine (backup). So, the data is now available on more than one machine.
Ideally, the data should synchronise and propagate itself across all the workstations WS-B, WS-C, etc on the network. This propagation and synchronisation does not need to be instantaneous and can be asynchronous as long as the same user can log into any workstation at another time (but only one machine at a time) and find their latest files present.
Also, if any workstation crashes, the setup will automatically recover and resync after the machine comes back onto the network, preventing split-brain problems.
- Would this even be possible with DRBD; and
- Are there any nightmare synchronisation issues that we might need to worry about?
PS: We currently have a similar setup that uses glusterfs and it seems to work thus far, except that the performance drops when accessing a large git repository over it.