Stumbling upon the Holy time-travellin’ DRBD, batman! blog post there’s only one thing to be said …
Be strict in what you emit, liberal in what you accept
is simply not true when dealing with mission-critical systems.
It’s ok to be alerted on upgrading a machine because the “old, working” RegEx that did the parsing doesn’t match anymore; it’s not a problem to get an email when someone adds the 100th DRBD resource and causes the grep to fail; and so on. Continue reading
From time to time we get asked things like this:
I want to use a 10TiB volume with DRBD, is that supported”?
The easiest way to answer things like that is to say look for yourself on the public DRBD usage page – the biggest public device size is ~220TiB, so go figure Continue reading
DRBD tries to ensure data integrity across different computers, and it’s quite good at it.
But, as per the old saying Trust, But Verify it might be a good idea to periodically test whether the nodes really have identical data, similar to the checks that are done for RAID sets. Continue reading
The sync-rate controller is used for controlling the used bandwidth during resynchronization (not normal replication); it runs in the
SyncTarget state, ie. on the (inconsistent) receiver side. Continue reading
The TL;DR version: don’t use
data-integrity-alg in a production setup. Continue reading
For people using the VIM editor I’ve got two small tips when editing Pacemaker configurations:
Use syntax highlight. This helps to see unmatched quote characters easily. Whether it’s too colorful can be discussed, though
A current version can be found here, and the mailing list post is here.
For correlating resource names I recommend the Mark plugin. Continue reading
There is quite a bit of confusion about the DRBD configuration value
al-extents (activity log extents), so here’s another shot at explaining it. Continue reading
Similar to the recent post about setting the
vm.min_free_kbytes value there’s another sysctl that might improve the behaviour: the dirty ratio. Continue reading
As briefly mentioned in Pacemaker Explained, DRBD devices need two different values set for their monitor intervals:
primitive pacemaker-resource-name ocf:linbit:drbd \
params drbd_resource="drbd-resource" \
op monitor interval="61s" role="Slave" \
op monitor interval="59s" role="Master"
The reason is that Pacemaker distinguishes monitor operations by their resource and their interval – but not by their role. So, if this distinction is not done “manually”, Pacemaker will monitor only one of the two (and, with DRBD 9, more) nodes, which is not what you want (usually).