Skip to content

auto-add-quorum-tie-breaker not honoured for containers (only) #45

@acidrop

Description

@acidrop

I'm doing some tests regarding quorum auto tie breaker and I noticed that even though it's honoured for qemu VMs, it does not for LXC containers. Not sure if this the right place to post this, but I thought that since this occurs on Proxmox, it might be more related to its plugin.

Here's a sequence of the commands...

root@pve1:~# linstor rg l -p
+-------------------------------------------------------------------+
| ResourceGroup | SelectFilter | VlmNrs | Description |
|===================================================================|
| DfltRscGrp | PlaceCount: 2 | | |
|-------------------------------------------------------------------|
| drbd-rg01 | PlaceCount: 2 | 0 | |
| | StoragePool(s): drbdpool | | |
| | DisklessOnRemaining: False | | |
| | ProviderList: ['ZFS_THIN'] | | |
|-------------------------------------------------------------------|
| drbd-rg02 | PlaceCount: 2 | 0 | ThinLVM |
| | StoragePool(s): thinpool01 | | |
| | DisklessOnRemaining: False | | |
| | ProviderList: ['LVM_THIN'] | | |
+-------------------------------------------------------------------+

root@pve1:~# linstor c lp|grep quorum
| DrbdOptions/Resource/quorum | majority |
| DrbdOptions/auto-add-quorum-tiebreaker | true |
| DrbdOptions/auto-quorum | io-error

root@pve1:~# linstor rd lp vm-109-disk-1 -p
+-----------------------------------------------------------+
| Key | Value |
|===========================================================|
| DrbdOptions/Net/allow-two-primaries | yes |
| DrbdOptions/Resource/quorum | off |
| DrbdOptions/auto-add-quorum-tiebreaker | False |
| DrbdOptions/auto-verify-alg | crct10dif-pclmul |
| DrbdPrimarySetOn | PVE3 |
+-----------------------------------------------------------+

Shouldn't the property inherited from the controller set properties ?...anyway I add it manually...

root@pve1:~# linstor rd sp vm-109-disk-1 DrbdOptions/auto-add-quorum-tiebreaker True
SUCCESS:
Successfully set property key(s): DrbdOptions/auto-add-quorum-tiebreaker
SUCCESS:
Description:
Resource definition 'vm-109-disk-1' modified.
Details:
Resource definition 'vm-109-disk-1' UUID is: e9847acd-efb8-42bc-9bf4-7f7becf126d5
SUCCESS:
(pve2) Resource 'vm-109-disk-1' [DRBD] adjusted.
SUCCESS:
(pve3) Resource 'vm-109-disk-1' [DRBD] adjusted.

root@pve1:~# linstor rd lp vm-109-disk-1 -p
+-----------------------------------------------------------+
| Key | Value |
|===========================================================|
| DrbdOptions/Net/allow-two-primaries | yes |
| DrbdOptions/Resource/quorum | off |
| DrbdOptions/auto-add-quorum-tiebreaker | true |
| DrbdOptions/auto-verify-alg | crct10dif-pclmul |
| DrbdPrimarySetOn | PVE3 |
+-----------------------------------------------------------+

root@pve1:~# linstor r l|grep 109
| vm-109-disk-1 | pve2 | 7005 | InUse | Ok | UpToDate | 2021-07-21 09:24:58 |
| vm-109-disk-1 | pve3 | 7005 | Unused | Ok | UpToDate | 2021-07-21 09:24:56 |

root@pve1:~# ssh pve2 'pct migrate 109 pve4 --restart'
2021-07-21 09:34:57 shutdown CT 109
2021-07-21 09:35:01 use dedicated network address for sending migration traffic (10.10.13.4)
2021-07-21 09:35:02 starting migration of CT 109 to node 'pve4' (10.10.13.4)
2021-07-21 09:35:02 volume 'linstor-thinlvm:vm-109-disk-1' is on shared storage 'linstor-thinlvm'
2021-07-21 09:35:02 start final cleanup
2021-07-21 09:35:03 start container on target node
2021-07-21 09:35:03 # /usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=pve4' root@10.10.13.4 pct start 109
2021-07-21 09:35:08 migration finished successfully (duration 00:00:11)

root@pve1:~# linstor r l|grep 109
| vm-109-disk-1 | pve2 | 7005 | Unused | Ok | UpToDate | 2021-07-21 09:24:58 |
| vm-109-disk-1 | pve3 | 7005 | Unused | Ok | UpToDate | 2021-07-21 09:24:56 |
| vm-109-disk-1 | pve4 | 7005 | InUse | Ok | Diskless | 2021-07-21 09:35:05 |

root@pve1:~# ssh pve4 'pct migrate 109 pve2 --restart'
2021-07-21 09:36:23 shutdown CT 109
2021-07-21 09:36:26 use dedicated network address for sending migration traffic (10.10.13.2)
2021-07-21 09:36:27 starting migration of CT 109 to node 'pve2' (10.10.13.2)
2021-07-21 09:36:27 volume 'linstor-thinlvm:vm-109-disk-1' is on shared storage 'linstor-thinlvm'

NOTICE
Intentionally removing diskless assignment (vm-109-disk-1) on (pve4).
It will be re-created when the resource is actually used on this node.
2021-07-21 09:36:28 start final cleanup
2021-07-21 09:36:30 start container on target node
2021-07-21 09:36:30 # /usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=pve2' root@10.10.13.2 pct start 109
2021-07-21 09:36:37 migration finished successfully (duration 00:00:14)

root@pve1:~# linstor r l|grep 109
| vm-109-disk-1 | pve2 | 7005 | InUse | Ok | UpToDate | 2021-07-21 09:24:58 |
| vm-109-disk-1 | pve3 | 7005 | Unused | Ok | UpToDate | 2021-07-21 09:24:56 |

root@pve1:~# linstor advise r -p|grep 109
| vm-109-disk-1 | Resource has 2 replicas but no tie-breaker, could lead to split brain. | linstor rd ap -d --place-count 1 vm-109-disk-1 |

root@pve1:~# linstor rd ap -d --place-count 1 vm-109-disk-1
usage: linstor [-h] [--version] [--no-color] [--no-utf8] [--warn-as-error]
[--curl] [--controllers CONTROLLERS] [-m]
[--output-version {v0,v1}] [--verbose] [-t TIMEOUT]
[--disable-config] [--user USER] [--password PASSWORD]
[--certfile CERTFILE] [--keyfile KEYFILE] [--cafile CAFILE]
[--allow-insecure-auth]
{advise, controller, drbd-proxy, encryption, error-reports,
exos, help, interactive, list-commands, node, physical-storage,
resource, resource-connection, resource-definition,
resource-group, snapshot, sos-report, space-reporting,
storage-pool, volume, volume-definition, volume-group} ...
linstor: error: unrecognized arguments: -d

Not sure if the above advise is correct in the first place ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions