DRBD online verifiy all does not work

Jospeh Huber

Renowned Member
Apr 18, 2016
99
7
73
45
Hi

we have a fresh 3 Node DRBD9 Cluster setup with Proxmox 4.3 up and runnig like it is described in the Wiki article here https://pve.proxmox.com/wiki/DRBD9.
MyVersions: 4.3-66 (running kernel: 4.4.19-1-pve),drbdmanage: 0.97.3-1

We want to configure some periodical integrity checking as suggested in the wiki article. A cronjob with "drbdadm verify all". (https://pve.proxmox.com/wiki/DRBD9#Integrity_checking)

As described in the documentation here (https://www.drbd.org/en/doc/users-guide-90/s-use-online-verify#s-online-verify-enable, https://www.drbd.org/en/doc/users-guide-90/s-online-verify)
I have defined a verification algorithm for all resources in "/etc/drbd.d/global_common.conf".

If you have enabled on-line verification for all your resources (for example, by adding verify-alg <algorithm> to the common section in /etc/drbd.d/global_common.conf), you may also use...
Code:
lsmod | grep crc32c
libcrc32c              16384  2 drbd,dm_persistent_data

/etc/drbd.d/global_common.conf:

  net {
                # protocol timeout max-epoch-size max-buffers unplug-watermark
                # connect-int ping-int sndbuf-size rcvbuf-size ko-count
                # allow-two-primaries cram-hmac-alg shared-secret after-sb-0pri
                # after-sb-1pri after-sb-2pri always-asbp rr-conflict
                # ping-timeout data-integrity-alg tcp-cork on-congestion
                # congestion-fill congestion-extents csums-alg verify-alg
                # use-rle
                verify-alg crc32c;

        }

But even after rebooting the system (i read somewhere one has to reboot if the parameter verify-alg changes) the online verification fails.
I also tried the other algorithms "sha1" and "md5", the reason is always the same.
Any ideas?

Code:
/usr/sbin/drbdadm verify all
vm-107-disk-1: State change failed: (-14) Need a verify algorithm to start online verify
Command '/usr/sbin/drbdsetup verify vm-107-disk-1 0 0' terminated with exit code 11
vm-132-disk-1: State change failed: (-14) Need a verify algorithm to start online verify
Command '/usr/sbin/drbdsetup verify vm-132-disk-1 1 0' terminated with exit code 11

dmesg:
[58989.267552] drbd .drbdctrl/0 drbd0 vmhost5: repl( Established -> VerifyS )
[58989.267569] drbd .drbdctrl/0 drbd0 vmhost5: Starting Online Verify from sector 0
[58989.268032] drbd .drbdctrl: Preparing cluster-wide state change 2941080310 (1->0 496/288)
[58989.295453] drbd .drbdctrl: State change 2941080310: primary_nodes=0, weak_nodes=0
[58989.295454] drbd .drbdctrl: Committing cluster-wide state change 2941080310 (24ms)
[58989.295462] drbd .drbdctrl/1 drbd1 vmhost1: repl( Established -> VerifyS )
[58989.295466] drbd .drbdctrl/1 drbd1 vmhost1: Starting Online Verify from sector 0
[58989.295942] drbd .drbdctrl: Preparing cluster-wide state change 1522830319 (1->2 496/288)
[58989.303656] drbd .drbdctrl: State change 1522830319: primary_nodes=0, weak_nodes=0
[58989.303658] drbd .drbdctrl: Committing cluster-wide state change 1522830319 (4ms)
[58989.303664] drbd .drbdctrl/1 drbd1 vmhost5: repl( Established -> VerifyS )
[58989.303667] drbd .drbdctrl/1 drbd1 vmhost5: Starting Online Verify from sector 0
[58989.304064] drbd vm-107-disk-1: State change failed: Need a verify algorithm to start online verify
[58989.304296] drbd vm-107-disk-1/0 drbd102 vmhost1: Failed: repl( Established -> VerifyS )
[58989.304618] drbd vm-132-disk-1: State change failed: Need a verify algorithm to start online verify
[58989.304844] drbd vm-132-disk-1/0 drbd101 vmhost1: Failed: repl( Established -> VerifyS )
 
Last edited:
Hi Joseph,

I've the same problem. We have a fresh 2 Nodes DRBD Cluster setup With Proxmox 4-2-23 (https://pve.proxmox.com/wiki/Two-Node_High_Availability_Cluster)

Proxmox node information:

Code:
Virtual Environment 4.2-23/d94f9458
Nœud 'node2'
Utilisation CPU
0.35% of 16 CPU(s)
Délai E/S
0.00%
Charge système
0.08,0.06,0.01
Utilisation Mémoire Vive (RAM)
18.43% (2.86 GiB of 15.54 GiB)
KSM sharing
0 B
Espace disque(root)
23.08% (6.27 GiB of 27.19 GiB)
Utilisation Swap
0.00% (0 B of 8.00 GiB)
CPUs
16 x Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz (1 Socket)
Kernel Version
Linux 4.4.19-1-pve #1 SMP Wed Sep 14 14:33:50 CEST 2016
PVE Manager Version
pve-manager/4.2-23/d94f9458
Logs
()
proxmox-ve: 4.2-66 (running kernel: 4.4.19-1-pve)
pve-manager: 4.2-23 (running version: 4.2-23/d94f9458)
pve-kernel-4.4.6-1-pve: 4.4.6-48
pve-kernel-4.4.19-1-pve: 4.4.19-66
lvm2: 2.02.116-pve3
corosync-pve: 2.4.0-1
libqb0: 1.0-1
pve-cluster: 4.0-46
qemu-server: 4.0-88
pve-firmware: 1.1-9
libpve-common-perl: 4.0-73
libpve-access-control: 4.0-19
libpve-storage-perl: 4.0-61
pve-libspice-server1: 0.12.8-1
vncterm: 1.2-1
pve-qemu-kvm: 2.6.1-6
pve-container: 1.0-75
pve-firewall: 2.0-29
pve-ha-manager: 1.0-35
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u2
lxc-pve: 2.0.4-1
lxcfs: 2.0.3-pve1
criu: 1.6.0-1
novnc-pve: 0.5-8
zfsutils: 0.6.5.7-pve10~bpo80
drbdmanage: 0.97.3-1

Code:
root@node2:~# drbdadm verify all
.drbdctrl: State change failed: (-14) Need a verify algorithm to start online verify
Command 'drbdsetup verify .drbdctrl 0 0' terminated with exit code 11
vm-100-disk-1: State change failed: (-14) Need a verify algorithm to start online verify
Command 'drbdsetup verify vm-100-disk-1 0 0' terminated with exit code 11
vm-101-disk-1: State change failed: (-14) Need a verify algorithm to start online verify
Command 'drbdsetup verify vm-101-disk-1 0 0' terminated with exit code 11
vm-102-disk-1: State change failed: (-14) Need a verify algorithm to start online verify
Command 'drbdsetup verify vm-102-disk-1 0 0' terminated with exit code 11
root@node2:~#

all ideas are welcome ;-)
 
Last edited:
It seems that there is no solution for this...
To the Moderators: can you please submit a bug for this?
 
hi,

i guess you are using drbd veersion 9+ and more important you configured it using drbdmanage. Try setting the verify algo using
Code:
drbdmanage net-options --verify-alg crc32c --common

It gets replicated among drbd nodes.
 
@tom: No, as I have posted in my question I used the Wiki Topic for drbd9 and also the documentation for drbd9 located on drbd9.org... I have configured it as described here: https://www.drbd.org/en/doc/users-g...rbd.org/en/doc/users-guide-90/s-online-verify)

@laci_ur:
In the man drbd.conf "NOTES ON DATAINTEGRITY":
"DRBD supports two different mechanisms for data integrity checking: first, the data-integrity-alg network parameter allows to
add a checksum to the data sent over the network. Second, the online verification mechanism (drbdadm verify and the verify-alg
parameter) allows to check for differences in the on-disk data..."


Does the command "drbdmanage net-options --verify-alg crc32c --common"
a) activate the data integrity checking over the network or (that ist NOT what i want)
b) activate online verification mechanism (that is what i want)
?

I cannot find anything in the docs "man drbdmanage-net-options"...
 
@tom: No, as I have posted in my question I used the Wiki Topic for drbd9 and also the documentation for drbd9 located on drbd9.org... I have configured it as described here: https://www.drbd.org/en/doc/users-g...rbd.org/en/doc/users-guide-90/s-online-verify)

@laci_ur:
In the man drbd.conf "NOTES ON DATAINTEGRITY":
"DRBD supports two different mechanisms for data integrity checking: first, the data-integrity-alg network parameter allows to
add a checksum to the data sent over the network. Second, the online verification mechanism (drbdadm verify and the verify-alg
parameter) allows to check for differences in the on-disk data..."


Does the command "drbdmanage net-options --verify-alg crc32c --common"
a) activate the data integrity checking over the network or (that ist NOT what i want)
b) activate online verification mechanism (that is what i want)
?

I cannot find anything in the docs "man drbdmanage-net-options"...

According here :https://www.drbd.org/en/doc/users-guide-90/s-dm-setupopts it should the verify-alg option, and the entry is also visible in the config file. You can run #drbdadm verify all and the online verification will start.
 
  • Like
Reactions: Jospeh Huber
@laci_ur: Thanks a lot, the verification is running now.
I set the verification alg before every verification, because after a reboot the setting gets lost.
drbdmanage net-options --verify-alg crc32c --common
drbdadm verify all


Has anyone experience which verify alg is the fastest?
In the post here is written that crc32c should be the fastest on modern cpus...
http://www.gossamer-threads.com/lists/drbd/users/20277
 
On my particular setup i have sha1 set up, and i never tried crc32c. I will give it a shot sometime, but since thespeed of the verification is affected by the utilization of the resources, i can't give you a baseline for this algo. I can tell that the progress shows 100% from the start(meh), and it takes a very long time.. I have a 2 node drbd setup, with a linux bond consisting of 3 gbe connections (in RR mode). verifying 4 resources consisting of ~50gb each is usually done within a day (dual xeon x5550, 32G RAM)
 
  • Like
Reactions: Jospeh Huber

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!