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!
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.