Hi,
I use (probably) DRBD 9.5.0, where stacked-on-top-of is deprecated, so based on this example I applied the mesh configuration: https://www.linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns I created the following config: resource boinc { device /dev/drbd1; disk /dev/mapper/drbd-boinc; meta-disk internal; on rp1 { address ipv4 172.27.12.2:7788; node-id 1; } on rp2 { address ipv4 172.27.12.3:7788; node-id 2; } on rp3 { address ipv4 172.27.12.4:7788; node-id 3; } connection-mesh { hosts rp1 rp2 rp3; net { protocol C; } } net { allow-two-primaries no; shared-secret "password"; verify-alg sha256; cram-hmac-alg sha256; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; rr-conflict disconnect; } handlers { split-brain "/usr/lib/drbd/notify-split-brain.sh root"; out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root"; } } But when I run `drbdadm create-md boinc`, I get the following error: drbd.d/boinc.res:9: Parse error: 'disk | device | address | meta-disk | flexible-meta-disk' expected, but got 'node-id' The exact version I "use": DRBDADM_BUILDTAG=GIT-hash:\ ee126652638328b55dc6bff47d07d6161ab768db\ reproducible\ build\,\ 2018-07-16\ 17:52:47 DRBDADM_API_VERSION=1 DRBD_KERNEL_VERSION_CODE=0x08040b DRBDADM_VERSION_CODE=0x090500 DRBDADM_VERSION=9.5.0 I have been turning certain features on or off. If I remove the node- id lines, the error changes to: drbd.d/boinc.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected, but got 'connection-mesh' (TK 282) It's almost as if I don't use 9.5.0, but some older version since these newer features are not recognized. I use Raspbian 10 (Debian Buster). According to this, the version is really 9.5.0: https://packages.debian.org/source/stable/drbd-utils This corresponds with `apt show drbd-utils`. I also checked in a VM with a true Debian 10 installation (so, not Raspbian), the same package is available there. The strings command is also showing 9.5.0: # strings /sbin/drbdadm | grep 9.5 Version: 9.5.0 (api:%d) 9.5.0 User-Agent: drbdadm/9.5.0 (%s; %s; %s; %s) So I can pretty sure conclude that I really use 9.5.0, right? But these options are not recognized. However, when I then also remove the mesh- connection configuration line, I see the following when I try any drbdadm command: /etc/drbd.d/boinc.res:2: in resource boinc: There are multiple host sections for the peer node. Use the --peer option to select which peer section to use. boinc: Invalid argument Command 'drbdsetup-84 new-resource boinc' terminated with exit code 20 drbdadm: new-minor boinc: skipped due to earlier error There we can see the command `drbdsetup-84`, this makes absolutely no sense. I think it's a Debian thing. However, when I check the following, I also see that I "have" 9.5.0: # strings /lib/drbd/drbdadm-84 | grep -i version Version: 9.5.0 (api:%d) When I check the following I also see a warning that mixing major versions will not work. Did Debian mess up DRBD in Buster? Or is this normal and can I somehow use 9.5.0 features? # /lib/drbd/drbdadm-84 --version DRBD module version: 8.4.10 userland version: 9.5.0 mixing different major numbers will not work! DRBDADM_BUILDTAG=GIT-hash:\ ee126652638328b55dc6bff47d07d6161ab768db\ reproducible\ build\,\ 2018-07-16\ 17:52:47 DRBDADM_API_VERSION=1 DRBD_KERNEL_VERSION_CODE=0x08040a DRBDADM_VERSION_CODE=0x090500 DRBDADM_VERSION=9.5.0 The DRBD kernel module has version 8.4.11. I checked on my RHEL8 VM, Debian 10 VM and Fedora workstation. There I see similar mix ups of these versions. So I guess, it's not that strange. But then I come back to my initial question, why doesn't my config work?
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Star us on GITHUB: https://github.com/LINBIT drbd-user mailing list [email protected] https://lists.linbit.com/mailman/listinfo/drbd-user
