linstor-server icon indicating copy to clipboard operation
linstor-server copied to clipboard

When node is evicted with cluster of 3 nodes, after restoring node can't add TieBreaker

Open notnooblord opened this issue 1 year ago • 5 comments

New resource is marked as Diskless on restored node. I can convert it to Replica, but there is no way to toggle TieBreaker state on diskless node.

Is this possibly bug or am I missing something?

notnooblord avatar Jan 11 '24 01:01 notnooblord

Possibly related to #361

notnooblord avatar Jan 11 '24 01:01 notnooblord

Hello,

This might be a bit unintuitive, but if you want to convert a diskless resource as a tiebreaker, make sure the resource-definition allows for a tiebreaker (check its properties, if nothing prohibits it, it should be fine), and "delete" the diskless resource. LINSTOR will takeover the diskless resource as a tiebreaker.

ghernadi avatar Jan 16 '24 06:01 ghernadi

@ghernadi Thanks! Yeah, that was kinda unintuitive 😅 But worked fine! :)

Basically just did: r d <node> <resource> Controller responded with "The given resource will not be deleted but will be taken over as a linstor managed tiebreaker resource."

But I definitely think there should be command to modify diskless resource.

Here is commands I used In case someone bumps into this:

LINSTOR ==> v l
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ Node           ┊ Resource   ┊ StoragePool          ┊ VolNr ┊ MinorNr ┊ DeviceName    ┊ Allocated ┊ InUse  ┊    State ┊
╞══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ akiha          ┊ data       ┊ pool                 ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  1.00 GiB ┊ Unused ┊ UpToDate ┊
┊ ciel           ┊ data       ┊ pool                 ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  1.00 GiB ┊ InUse  ┊ UpToDate ┊
┊ mash           ┊ data       ┊ DfltDisklessStorPool ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊           ┊ Unused ┊ Diskless ┊
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

LINSTOR ==> r l
╭────────────────────────────────────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node           ┊ Port ┊ Usage  ┊ Conns ┊    State ┊ CreatedOn           ┊
╞════════════════════════════════════════════════════════════════════════════════════════╡
┊ data         ┊ akiha          ┊ 7000 ┊ Unused ┊ Ok    ┊ UpToDate ┊ 2024-01-12 04:10:00 ┊
┊ data         ┊ ciel           ┊ 7000 ┊ InUse  ┊ Ok    ┊ UpToDate ┊ 2024-01-12 04:10:00 ┊
┊ data         ┊ mash           ┊ 7000 ┊ Unused ┊ Ok    ┊ Diskless ┊ 2024-01-12 04:10:00 ┊
╰────────────────────────────────────────────────────────────────────────────────────────╯

LINSTOR ==> rd list-properties data               
╭──────────────────────────────────────────────────────╮
┊ Key                               ┊ Value            ┊
╞══════════════════════════════════════════════════════╡
┊ Aux/is-linstor-docker-volume      ┊ true             ┊
┊ DrbdOptions/Resource/on-no-quorum ┊ io-error         ┊
┊ DrbdOptions/Resource/quorum       ┊ majority         ┊
┊ DrbdOptions/auto-verify-alg       ┊ crct10dif-pclmul ┊
┊ DrbdPrimarySetOn                  ┊ AKIHA            ┊
┊ FileSystem/MkfsParams             ┊                  ┊
┊ FileSystem/Type                   ┊ xfs              ┊
╰──────────────────────────────────────────────────────╯

LINSTOR ==> r d mash data                 
INFO:
    The given resource will not be deleted but will be taken over as a linstor managed tiebreaker resource.
SUCCESS:
    Resource 'data' updated on node 'mash'
SUCCESS:
    Resource 'data' updated on node 'ciel'
SUCCESS:
    Resource 'data' updated on node 'akiha'

LINSTOR ==> r l
╭──────────────────────────────────────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node           ┊ Port ┊ Usage  ┊ Conns ┊      State ┊ CreatedOn           ┊
╞══════════════════════════════════════════════════════════════════════════════════════════╡
┊ data         ┊ akiha          ┊ 7000 ┊ Unused ┊ Ok    ┊   UpToDate ┊ 2024-01-12 04:10:00 ┊
┊ data         ┊ ciel           ┊ 7000 ┊ InUse  ┊ Ok    ┊   UpToDate ┊ 2024-01-12 04:10:00 ┊
┊ data         ┊ mash           ┊ 7000 ┊ Unused ┊ Ok    ┊ TieBreaker ┊ 2024-01-12 04:10:00 ┊
╰──────────────────────────────────────────────────────────────────────────────────────────╯

LINSTOR ==> v l
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ Node           ┊ Resource   ┊ StoragePool          ┊ VolNr ┊ MinorNr ┊ DeviceName    ┊ Allocated ┊ InUse  ┊      State ┊
╞════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ akiha          ┊ data       ┊ pool                 ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  1.00 GiB ┊ Unused ┊   UpToDate ┊
┊ ciel           ┊ data       ┊ pool                 ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊  1.00 GiB ┊ InUse  ┊   UpToDate ┊
┊ mash           ┊ data       ┊ DfltDisklessStorPool ┊     0 ┊    1000 ┊ /dev/drbd1000 ┊           ┊ Unused ┊ TieBreaker ┊
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

notnooblord avatar Jan 25 '24 20:01 notnooblord