The TL;DR version: don’t use data-integrity-alg in a production setup.
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.
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.
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 […]
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!