This article will explain how you can increase the maximum al-extents setting by enlarging DRBD's metadata. This is useful if you're seeing congestion-extents messages in your logs.
WARNING: It is strongly suggested you backup your data before this procedure.
This example will use a stacked device, but can easily be adapted to non-stacked DRBD® configurations.
Online al-extents resize
On the Primary:
# Take a backup :)
drbdadm suspend-io <upper-res> -S
drbdadm suspend-io <lower-res>
lvextend -l+1 <backing-vg>/<backing-lv>
drbdsetup resize 0 --al-stripe-size=1M
On the Secondary:
lvextend -l+1 <backing-vg>/<backing-lv>
drbdsetup resize 0 --al-stripe-size=1M
On the Primary:
drbdadm resume-io <lower-res>
drbdsetup resize 10 --al-stripe-size=1M
On the DR:
lvextend -l+1 <backing-vg>/<backing-lv>
drbdsetup resize 10 --al-stripe-size=1M
On the Primary:
drbdadm resume-io <upper-res> -S
Offline al-extents resize
There may be a reason where you want to do this offline. You really cannot, but you can wipe and re-create the metadata with the proper desired stripe-size. Naturally this will require a full sync.
On both nodes:
drbdadm down r0
drbdadm wipe-md r0
lvextend -l+1 /dev/vg_drbd/lv_r0
drbdmeta 0 v08 /dev/vg_drbd/lv_r0 internal create-md --al-stripe-size-kB 1024
Results
This will let you take al-extents up to 65534 (65449 is closest prime) from it's original/default maximum value of 6433.
Don't forget to adjust congestion-extents accordingly if you're using DRBD Proxy (52541 is ~80% of 65449).
Edited 2021/12/14 – DJV