Introduction to Linux Clustering
DRBD can be configured to work in one of two ways:
● Primary/Secondary – The storage device can only be mounted on one node (primary)
at any time, the two nodes simply mirror the storage. In the event of the primary
server going offline, the secondary server can become the primary. This is controlled
by the cluster management software.
● Primary/Primary – In recent versions of DRBD, it is now possible for both nodes to
run as primary – so both nodes can read/write. This requires use of a cluster-capable
filesystem such as GFS to run on top of DRBD.
The method of writing can be configured – the default is to only count a write as complete
once both nodes have been written to, but other options can be chosen in order to improve
performance at the cost of reliability.
DRBD is commonly used with the Linux-HA cluster management software, however it is
possible to make it work with Redhat Cluster Suite by preparing a start/stop script for it.
Because DRBD only supports two nodes, in the event of requiring three or more nodes, there
are some methods that can be used to work around this limitation:
1. Setup two DRBD nodes that handle all the storage and all the other nodes connect to
the two storage node using a network filesystem like NFS or some other protocol like
ATA over ethernet or GNBD. (effectively creating your own replicated NAS device)
2. Setup all the nodes in pairs – each pair mirrors with DRBD and then runs a
distributed filesystem such as Lustre or AFS on top of them. This will always have
the weakness that the failure of both nodes in a pair would cause failure of the entire
array, but otherwise the failure of any one node in any of the pairs will not disrupt the
filesystem services.
3. Run DRBD on top of DRBD – this is not a recommendation, it is mentioned here
because sometimes people do this. DON'T DO THIS. It introduces a huge number of
problems and limitations as well as the unknown stability of running DRBD on top
of DRBD yet again.
4. Modify the DRBD code base in order to add support for additional nodes. There does
not appear to be any obvious theoretical reasons why this wouldn't be possible, it
should just be a case of adding additional nodes and perhaps applying modifications
to the distributed lock manager to make it suitable for three nodes.
There would obviously be more of a performance impact due to increased amount of
overhead for each node added, however as technology advances, this should become
less of a problem.
© Copyright 2008 Jethro Carr Page 23/33
Komentarze do niniejszej Instrukcji