Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi All, Hi Roland! So I tried to debug my "resize problem" (see below) further, and I think I found the culprit -- including a patch: drbdmanaged 0.99.12 tries to run the following command: drbdadm -vvv -- --assume-clean -c /var/lib/drbd.d/drbdmanage_vm-1001-disk-2.res resize vm-1001-disk-2/0 And this fails with "'vm-1001-disk-2/0' not defined in your config (for this host)". And this is because the syntax of the command above is wrong: the "-c /var/lib/drbd.d/drbdmanage_vm-1001-disk-2.res" is passed to backend and not handled by drbdadm, because of the "--" in the command line! The right command to run would be the following: drbdadm -vvv -c /var/lib/drbd.d/drbdmanage_vm-1001-disk-2.res -- --assume-clean resize vm-1001-disk-2/0 I patched the "resize" function in drbd/commands.py like this: --- drbd/commands.py.orig 2017-05-24 14:25:29.000000000 +0200 +++ drbd/commands.py 2017-10-11 18:06:54.067422451 +0200 @@ -75,10 +75,10 @@ return 1 exec_args = [self.DRBDADM_UTIL, "-vvv"] + exec_args += self._direct_res(res_name) if assume_clean: exec_args.append("--") exec_args.append("--assume-clean") - exec_args += self._direct_res(res_name) exec_args.append("resize") exec_args.append(res_name + "/" + str(vol_id)) return self._run_drbdutils(exec_args) ... and now it works for me! The signature of resize() is this: def resize(self, res_name, vol_id, assume_clean): So basically I thing this error will happen ieach time "assume_clean" is set. What do you think? Thanks! Alex Am 26.09.2017 um 17:53 schrieb Alexander Barton <abarton at thomas-daily.de>: >Hi all! > >I’m playing with drbdmanage in a test setup (two node cluster), and “drbdmanage resize” reproducibly fails for me. > >Steps to reproduce: > >$ drbdmanage new-volume -d 2 test 1 >Operation completed successfully >Operation completed successfully >$ # check that everything is ok: >.drbdctrl role:Secondary > volume:0 disk:UpToDate > volume:1 disk:UpToDate > pvc1st02 role:Primary > volume:0 peer-disk:UpToDate > volume:1 peer-disk:UpToDate > >test role:Secondary > disk:UpToDate > pvc1st02 role:Secondary > peer-disk:UpToDate > >$ drbdmanage list-resources >+------------------------------------------------------------------------------+ >| Name | | State | >|------------------------------------------------------------------------------| >| test | | ok | >+------------------------------------------------------------------------------+ >$ drbdmanage list-volumes >+------------------------------------------------------------------------------+ >| Name | Vol ID | Size | Minor | | State | >|------------------------------------------------------------------------------| >| test | 0 | 1 GiB | 110 | | ok | >+------------------------------------------------------------------------------+ > >Now everything looks ok on both nodes, volume was created with 1 GB in size. >Let’s resize it to 3 GB: > >$ drbdmanage resize-volume test 0 3 >Operation completed successfully > >BUT: > >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO drbdsetup: External command 'drbdsetup': Exit code 0 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: WARNING DrbdManager: Marked storage resource 'test' volume 0 deployed because DRBD reports the volume online and attached >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: WARNING DrbdManager: Marked resource 'test' deployed because DRBD reports all its volumes deployed >Sep 26 17:50:55 pvc1st01 org.drbd.drbdmanaged[908]: Rounding size to boundary between physical extents: 3.00 GiB. >Sep 26 17:50:55 pvc1st01 org.drbd.drbdmanaged[908]: Size of logical volume drbdpool/test_00 changed from 1.00 GiB (257 extents) to 3.00 GiB (769 extents). >Sep 26 17:50:55 pvc1st01 dmeventd[868]: No longer monitoring thin pool drbdpool-drbdthinpool-tpool. >Sep 26 17:50:55 pvc1st01 lvm[868]: Monitoring thin pool drbdpool-drbdthinpool-tpool. >Sep 26 17:50:55 pvc1st01 org.drbd.drbdmanaged[908]: Logical volume drbdpool/test_00 successfully resized. >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: Running external command: drbdadm --config-to-test /var/lib/drbd.d/drbdmanage_test.res.tmp --config-to-exclude /var/lib/drbd.d/drbdmanage_test.res sh-nop >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: External command 'drbdadm': Exit code 0 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: Running external command: drbdadm -c /var/lib/drbd.d/drbdmanage_test.res.tmp -d up test >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: External command 'drbdadm': Exit code 0 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: Running external command: drbdsetup wait-connect-resource --wait-after-sb=yes --wfc-timeout=10 test >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: External command 'drbdsetup': Exit code 0 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: INFO DrbdAdm: Running external command: drbdadm -vvv -- --assume-clean -c /var/lib/drbd.d/drbdmanage_test.res resize test/0 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: ERROR DrbdAdm: External command 'drbdadm': Exit code 1 >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: ERROR drbdadm/stderr: 'test/0' not defined in your config (for this host). >Sep 26 17:50:55 pvc1st01 drbdmanaged[1747]: ERROR Resizing resource 'test' volume 0: DRBD resize command failed > >… and “drbdmanage list-volumes” still shows the volume with 1 GB. > >Sometimes I can see a “FAILED” in the “drbdmanage list-volumes” output, but not all the time. > >Any ideas? > >Version information: > >pvc1st01.int.dc3:~ # uname -a >Linux pvc1st01 4.10.17-3-pve #1 SMP PVE 4.10.17-21 (Thu, 31 Aug 2017 14:57:17 +0200) x86_64 GNU/Linux >pvc1st01.int.dc3:~ # cat /proc/drbd >version: 9.0.9-1 (api:2/proto:86-112) >GIT-hash: f7b979e7af01813e031aac579140237640c94569 build by root at debian9-wks01, 2017-09-20 13:07:09 >Transports (api:16): tcp (9.0.9-1) >pvc1st01.int.dc3:~ # drbdmanage --version >drbdmanage 0.99.11; GIT-hash: 30082017f3c5487fac791d42bf48deb91c148204 > >Thanks! >Alex