High Performance Software-Defined Block Storage for container, cloud and virtualisation. Fully integrated with Docker, Kubernetes, Openstack, Proxmox etc.
# create resource-definition and volume-definition
linstor rd c testz
linstor vd c testz 100G
# create data-resource
linstor r c pve1 testz -s pve
# create diskless-resource
linstor r c pve3 testz -s DfltDisklessPool
# start workload on diskless
ssh pve3 dd if=/dev/urandom of=/dev/drbd/by-res/testz/0
# create another data-resource and remove the first one
linstor r c pve2 testz -s pve
linstor r d pve2
Now drbd cluster become to non-operable state:
# linstor r l -r testz
+----------------------------------------------------------------------------+
| ResourceName | Node | Port | Usage | Conns | State |
|============================================================================|
| testz | pve1 | 7440 | | Connecting(pve2) | DELETING |
| testz | pve2 | 7440 | Unused | Ok | SyncTarget(1.02%) |
| testz | pve3 | 7440 | InUse | Ok | Diskless |
+----------------------------------------------------------------------------+
Steps to reproduce:
Now drbd cluster become to non-operable state:
As we can see,
pve3
still working frompve1
sincepve2
is not fully synced,pve2
knows nothing aboutpve1
, but we need to finish syncing data from it.Recovery steps (or how to fix
Inconsistent
/Outdated
resources):make backup of
/var/lib/linstor.d/testz.res
:open
/var/lib/linstor.d/testz.res
on on other node and copy missing sections topve2
:Then adjust it:
Wait until replication will be finished:
Recover old config and adjust again: