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).
Depending on your setup and your workload (eg. within a virtual machine with little memory and much I/O) you could get into the situation that the kernel has little memory left, so wants to write some dirty pages to disk, but cannot, because for that it would need some memory free! Continue reading
We’ve recently come across a case where stopping pacemaker (in this case via
/etc/init.d/heartbeat stop) didn’t work; and, similarly,
crm configure property maintenance-mode=false wouldn’t work.
After some searching and testing the solution was found: Upgrading
libglib2.0-0 to at least the natty version
2.28.6-0ubuntu1 fixed the problem.
The bug seems to have been a locking problem.