Hello again, Ok, I have resolved the issue, it was the interface used to communicate between hosts.
host H has 1 NIC with 2 ports. host T has 1 NIC with 2 ports. host C has 1 NIC with 1 port. H and T are connected with a crossover cable using port 1. H, T and C are connected through a virtual switch using port 2. So I defined a "Data" interface that goes through the crossover table and I assigned it as PrefNic to the storagepool. And I defined a "NormalTraffic" interface that goes through the virtualswitch in order to communicate the 3 nodes. I have rebuild the nodes with "linstor create node" using this interface. I couldn't make it work, it only works if the PrefNic of the storagepool is also the the NormalTraffic interface. Is it possible to have a Data interface for the drbdadm to exchange data and another interface for the node communication? cheers, Ferran Missatge de Ferran Alchimia <[email protected]> del dia dc., 3 de març 2021 a les 13:41: > Hi, > > Thank you for your help I reloaded de drbd so it now has the correct > version: > > DRBDADM_BUILDTAG=GIT-hash:\ a7820b3c14497a34f955ba5ce56cf1bc9d2d353e\ > build\ by\ @buildsystem\,\ 2021-02-09\ 09:27:27 > DRBDADM_API_VERSION=2 > DRBD_KERNEL_VERSION_CODE=0x09001c > DRBD_KERNEL_VERSION=9.0.28 > DRBDADM_VERSION_CODE=0x091000 > DRBDADM_VERSION=9.16.0 > > Now, when I try to create the test resource it fails with another message: > > linstor resource create C test > INFO: > Resource-definition property 'DrbdOptions/Resource/quorum' updated > from 'off' to 'majority' by auto-quorum > INFO: > Resource-definition property 'DrbdOptions/Resource/on-no-quorum' > updated from 'off' to 'io-error' by auto-quorum > SUCCESS: > Description: > New resource 'test' on node 'C' registered. > Details: > Resource 'test' on node 'C' UUID is: > 25c11e12-d136-41fb-ad25-68049a7a6bac > SUCCESS: > Description: > Volume with number '0' on resource 'test' on node 'C' successfully > registered > Details: > Volume UUID is: 70309d61-bf39-43aa-a41f-532587031ccd > ERROR: > (Node: 'C') An unknown exception occurred while processing the > resource test > Show reports: > linstor error-reports show 603F7FA5-7AC40-000000 > SUCCESS: > Added peer(s) 'C' to resource 'test' on 'T' > SUCCESS: > Added peer(s) 'C' to resource 'test' on 'H' > > > # drbdadm status > test role:Secondary > disk:UpToDate > C connection:*Connecting* > H role:Secondary > peer-disk:UpToDate > > And the error in linstor-satellite: > > ERROR REPORT 603F7FA5-7AC40-000004 > > ============================================================ > > Application: LINBIT® LINSTOR > Module: Satellite > Version: 1.11.1 > Build ID: > fe95a94d86c66c6c9846a3cf579a1a776f95d3f4 > Build time: 2021-01-13T08:34:55+00:00 > Error time: 2021-03-03 13:31:51 > Node: C > > ============================================================ > > Reported error: > =============== > > Category: RuntimeException > Class name: NullPointerException > Class canonical name: java.lang.NullPointerException > Generated at: Method 'normalizeAndCheck', Source > file 'UnixPath.java', Line #75 > > > Error context: > An error occurred while processing resource 'Node: 'C', Rsc: 'test'' > > Call backtrace: > > Method Native Class:Line number > normalizeAndCheck N sun.nio.fs.UnixPath:75 > <init> N sun.nio.fs.UnixPath:69 > getPath N > sun.nio.fs.UnixFileSystem:279 > readObject N > com.linbit.linstor.layer.drbd.utils.MdSuperblockBuffer:73 > hasMetaData N > com.linbit.linstor.layer.drbd.DrbdLayer:906 > adjustDrbd N > com.linbit.linstor.layer.drbd.DrbdLayer:580 > process N > com.linbit.linstor.layer.drbd.DrbdLayer:387 > process N > com.linbit.linstor.core.devmgr.DeviceHandlerImpl:789 > processResourcesAndSnapshots N > com.linbit.linstor.core.devmgr.DeviceHandlerImpl:335 > dispatchResources N > com.linbit.linstor.core.devmgr.DeviceHandlerImpl:145 > dispatchResources N > com.linbit.linstor.core.devmgr.DeviceManagerImpl:268 > phaseDispatchDeviceHandlers N > com.linbit.linstor.core.devmgr.DeviceManagerImpl:924 > devMgrLoop N > com.linbit.linstor.core.devmgr.DeviceManagerImpl:627 > run N > com.linbit.linstor.core.devmgr.DeviceManagerImpl:545 > run N java.lang.Thread:834 > > > END OF ERROR REPORT. > > > Note that the lvm storage is not defined on C, do I have to define some > dummy space for the diskless "allocations"? > > regards, > Ferran > > Missatge de Rene Peinthor <[email protected]> del dia dc., 3 de > març 2021 a les 13:08: > >> DRBD_KERNEL_VERSION_CODE=0x08040b >> >> Says you have the old DRBD8 kernel module loaded, Linstor only supports >> DRBD9 >= >> >> Btw. you don't need to create a diskless storage pool (until you want >> special properties on that pool), Linstor already has >> DfltDisklessStorPool. >> Also diskless-on-remaing is not really needed, as you will get a >> tiebreaker diskless resource anyway on a 3 node cluster, with auto-quorum >> enabled. >> >> Cheers, >> Rene >> >> On Wed, Mar 3, 2021 at 12:48 PM Gábor Hernádi <[email protected]> >> wrote: >> >>> Hello, >>> >>> when you executed `linstor node create C ...` Linstor should have given >>> you a list of supported layers + providers or reasons why layers / >>> providers are not supported. You can recheck that list with >>> linstor node info >>> That command should tell you why Linstor thinks that C does not support >>> DRBD. >>> >>> Best regards, >>> Gabor >>> >>> On Wed, Mar 3, 2021 at 12:29 PM Ferran Alchimia < >>> [email protected]> wrote: >>> >>>> Hi, >>>> >>>> I currently have a 2 node (combined) cluster and I want to add an HA >>>> linstor-controller. I was following this guide >>>> https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#s-linstor_ha >>>> >>>> The first step asks for an AutoQuorum capable resource. So I think I >>>> have to add a third node to my cluster. This is my starting position: >>>> >>>> ╭─────────────────────────────────────────────────────╮ >>>> ┊ Node ┊ NodeType ┊ Addresses ┊ State ┊ >>>> ╞═════════════════════════════════════════════════════╡ >>>> ┊ H ┊ COMBINED ┊ 10.0.7.106:3366 (PLAIN) ┊ Online ┊ >>>> ┊ T ┊ COMBINED ┊ 10.0.7.105:3366 (PLAIN) ┊ Online ┊ >>>> ╰─────────────────────────────────────────────────────╯ >>>> >>>> ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ >>>> ┊ StoragePool ┊ Node ┊ Driver ┊ PoolName ┊ >>>> FreeCapacity ┊ TotalCapacity ┊ CanSnapshots ┊ State ┊ >>>> >>>> ╞══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡ >>>> ┊ DfltDisklessStorPool ┊ H ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ DfltDisklessStorPool ┊ T ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ drbdpool ┊ H ┊ LVM_THIN ┊ vgthc1/drbdpool ┊ >>>> 3.13 TiB ┊ 3.49 TiB ┊ True ┊ Ok ┊ >>>> ┊ drbdpool ┊ T ┊ LVM_THIN ┊ vgthc1/drbdpool ┊ >>>> 3.13 TiB ┊ 3.49 TiB ┊ True ┊ Ok ┊ >>>> >>>> ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ >>>> >>>> Since my third node won't have any storage devices dedicated to drbd I >>>> presumed that I could add a DISKLESS node (I don't know if this is true), >>>> just for quorum and not for replica. >>>> >>>> linstor n create --node-type satellite C 10.100.1.3 >>>> >>>> linstor n l >>>> ╭───────────────────────────────────────────────────────────╮ >>>> ┊ Node ┊ NodeType ┊ Addresses ┊ State ┊ >>>> ╞═══════════════════════════════════════════════════════════╡ >>>> ┊ C ┊ SATELLITE ┊ 10.100.1.3:3366 (PLAIN) ┊ Online ┊ >>>> ┊ H ┊ COMBINED ┊ 10.0.7.106:3366 (PLAIN) ┊ Online ┊ >>>> ┊ T ┊ COMBINED ┊ 10.0.7.105:3366 (PLAIN) ┊ Online ┊ >>>> ╰───────────────────────────────────────────────────────────╯ >>>> linstor sp create diskless C drbdpool >>>> >>>> >>>> ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ >>>> ┊ StoragePool ┊ Node ┊ Driver ┊ PoolName ┊ >>>> FreeCapacity ┊ TotalCapacity ┊ CanSnapshots ┊ State ┊ >>>> >>>> ╞══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡ >>>> ┊ DfltDisklessStorPool ┊ C ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ DfltDisklessStorPool ┊ H ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ DfltDisklessStorPool ┊ T ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ drbdpool ┊ C ┊ DISKLESS ┊ ┊ >>>> ┊ ┊ False ┊ Ok ┊ >>>> ┊ drbdpool ┊ H ┊ LVM_THIN ┊ vgthc1/drbdpool ┊ >>>> 3.13 TiB ┊ 3.49 TiB ┊ True ┊ Ok ┊ >>>> ┊ drbdpool ┊ T ┊ LVM_THIN ┊ vgthc1/drbdpool ┊ >>>> 3.13 TiB ┊ 3.49 TiB ┊ True ┊ Ok ┊ >>>> >>>> ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ >>>> >>>> I add the --diskless-on-remaining flag for the rg definition (I don't >>>> know if this is needed) >>>> linstor rg m drbdpoolvm --place-count 2 --diskless-on-remaining >>>> >>>> linstor rg l >>>> ╭──────────────────────────────────────────────────────────────────╮ >>>> ┊ ResourceGroup ┊ SelectFilter ┊ VlmNrs ┊ Description ┊ >>>> ╞══════════════════════════════════════════════════════════════════╡ >>>> ┊ DfltRscGrp ┊ PlaceCount: 2 ┊ ┊ ┊ >>>> ╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡ >>>> ┊ drbdpoolvm ┊ PlaceCount: 2 ┊ 0 ┊ ┊ >>>> ┊ ┊ StoragePool(s): drbdpool ┊ ┊ ┊ >>>> ┊ ┊ DisklessOnRemaining: True ┊ ┊ ┊ >>>> ╰──────────────────────────────────────────────────────────────────╯ >>>> >>>> And then I try to create a test resource >>>> linstor resource create T test >>>> SUCCESS:(...) >>>> >>>> linstor resource create H test >>>> WARNING: Could not find suitable node to automatically create a tie >>>> breaking resource for 'test'. >>>> SUCCESS:(...) >>>> >>>> linstor resource create C test >>>> ERROR:Description: Satellite 'C' does not support the following >>>> layers: [DRBD]Details: Node(s): 'C', Resource: 'test'Show reports: >>>> linstor error-reports show 603F507D-00000-000005 >>>> >>>> As you can see the resource creation fails on C node. I have installed >>>> drbd on that node just in case, here goes the output: >>>> drbdadm --version >>>> DRBDADM_BUILDTAG=GIT-hash:\ a7820b3c14497a34f955ba5ce56cf1bc9d2d353e\ >>>> build\ by\ @buildsystem\,\ 2021-02-09\ 09:27:27 >>>> DRBDADM_API_VERSION=1 >>>> DRBD_KERNEL_VERSION_CODE=0x08040b >>>> DRBDADM_VERSION_CODE=0x091000 >>>> DRBDADM_VERSION=9.16.0 >>>> >>>> Overall my C node does not have any "storage" for the drbd cluster, I >>>> just want it to be a diskless node in order to achieve HA for the >>>> resources. It seems I have misunderstood something but I just don't know >>>> where to look for more info. Any hints/help would be appreciated. >>>> >>>> Regards, >>>> Ferran >>>> _______________________________________________ >>>> Star us on GITHUB: https://github.com/LINBIT >>>> drbd-user mailing list >>>> [email protected] >>>> https://lists.linbit.com/mailman/listinfo/drbd-user >>>> >>> >>> >>> -- >>> Best regards, >>> Gabor Hernadi >>> _______________________________________________ >>> Star us on GITHUB: https://github.com/LINBIT >>> drbd-user mailing list >>> [email protected] >>> https://lists.linbit.com/mailman/listinfo/drbd-user >>> >> _______________________________________________ >> Star us on GITHUB: https://github.com/LINBIT >> drbd-user mailing list >> [email protected] >> https://lists.linbit.com/mailman/listinfo/drbd-user >> >
_______________________________________________ Star us on GITHUB: https://github.com/LINBIT drbd-user mailing list [email protected] https://lists.linbit.com/mailman/listinfo/drbd-user
