LINSTOR Quorum Policies and VM Environments
LINSTOR® defaults to throwing an I/O error on loss of quorum. When used to back storage that backs VMs, this causes the root file system to switch to read-only (RO). This usually requires a reboot to resolve.
By default, when LINSTOR creates resources with three 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, and others, defaulting to io-error
might not be
preferred. The issue with this is that the VMs will pick-up on the I/O
error and switch the file systems to RO. A file system cannot
easily be switched back to RW (read-write) without an unmount an
remount. When this is the root file system, 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
When using LINSTOR plugins designed for use in VM environments and platforms, you will need to verify that the default LINSTOR behavior on loss of quorum is compatible with running VMs on top of LINSTOR-backed storage.
DJV-2020-04-06
MAT-2023-08-23 [updated]