LINSTOR Quorum and VM environments (Note regarding the default quorum policies)

LINSTOR defaults to io-error on loss of quorum. When used to back VMs this causes the root filesystem to switch to RO. This usually requires a reboot to resolve.

By default, when LINSTOR creates resources with 3 or more replicas, it automatically configures the below quorum policies:

quorum majority; 
on-no-quorum io-error;

This is generally acceptable for most environments. However, when LINSTOR is used to provision and manage storage for VM environments, such as Proxmox, Opennebula, etc., defaulting to `io-error` may not be preferred. The issue with this is that the VMs will pick-up on the IO error and switch the filesystems to RO (read-only). A filesystem cannot easily be switched back to RW (read-write) without an unmount an remount. When this is the root filesystem, that's not necessarily possible without a reboot.

At present the best solution is to either set the `suspend-io` auto-quorum property at the controller level (for all resources) or at the resource-group level, so all resources created here on out will automatically be set to suspend-io.

linstor controller set-property DrbdOptions/auto-quorum suspend-io

Then if you have to set this for all the already created resources you can use this lengthy one-liner to do so:

linstor -m --output-version v1 rd l | jq -r '.[0] | .[].name' | xargs -d $'\n' -n1 -I {} linstor rd sp {} DrbdOptions/Resource/on-no-quorum suspend-io

In the long-term we should ideally either change the LINSTOR defaults entirely, or make sure that the LINSTOR plugins designed for use in VM environments/platforms change these defaults appropriatley.

DJV-2020-04-06