[DRBD-user] Slow sync on DRBD home setup

Poulpatine poulpatine at gmail.com
Thu Dec 7 08:01:12 CET 2017

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

I'm facing extremely slow DRBD sync (inital and re-sync) on my home lab setup.                    
I've tried many tuning parameters but nothing seems to really improve performances.
Moreover, in my Primary/Primary setup I'm also having some split-brains under certains circumstances.
Setup :                           
2 HP Proliant Microservers GEN 8 :
        pcsrv01 :                    
                CPU : Intel(R) Xeon(R) CPU E3-1220L V2 @ 2.30GHz : 2 cores / 4 threads
                RAM : 16GB ECC  
                Disk : 1 SSD Crucial CT250MX200SSD1
        pcsrv02 :                  
                CPU : Intel(R) Celeron(R) CPU G1610T @ 2.30GHz
                RAM : 16GB ECC              
                Disk : 1 SSD Kingston SUV400S37240G

Disks :
        On the SSD, only one partition is created and DRBD is using it directly.
	System is installed on a MicroSD directly on the mobo of the server.

# fdisk -l /dev/sda
Disk /dev/sda: 223.6 GiB, 240057409536 bytes, 468862128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x503aad21

Device     Boot Start       End   Sectors  Size Id Type
/dev/sda1        2048 461375487 461373440  220G 8e Linux LVM

Network :
        Both servers have 2 gigabit interfaces
                One for access to network
                One dedicated to DRBD sync with a MTU of 9000 <= direct
		link between interfaces, no switch

Configuration :

r0.res :
resource r0 {
        startup {
                become-primary-on both;

        net {
                protocol C;
                sndbuf-size 0;
                max-buffers 8000;
                max-epoch-size 8000;
                sndbuf-size 512k;
                rcvbuf-size 1024k;

        on pcsrv01 {
                device /dev/drbd0;
                disk /dev/sda1;
                meta-disk internal;

        on pcsrv02 {
                device /dev/drbd0;
                disk /dev/sda1;
                meta-disk internal;

        disk {
                on-io-error detach;
                c-plan-ahead 0;
                c-fill-target 24M;
                c-min-rate 33M;
                c-max-rate 110M;

1. With this setup, I'm facing horrible performances during syncing :
# cat /proc/drbd
version: 8.4.7 (api:1/proto:86-101)
srcversion: 2DCC561E7F1E3D63526E90D
 0: cs:SyncSource ro:Primary/Primary ds:UpToDate/Inconsistent C r---b-
    ns:5504329 nr:480 dw:5112648 dr:4092323 al:654 bm:0 lo:244 pe:132 ua:12 ap:234 ep:1 wo:f oos:222119720
        [>....................] sync'ed:  1.2% (216912/219472)M
        finish: 2:16:11 speed: 27,160 (1,824) K/sec

What can I do to improve that ?

2. On top of DRBD disk, I've created a physical volume used in Primary/Primary VG (shared between 2 Proxmox instances). When I'm creating a LV (and it's FS) on the remote note, I'm facing split brain due to this error :

block drbd0: Remote failed to finish a request within 42008ms > ko-count (7) * timeout (60 * 0.1s)

I've performed a full smartctl test and a full badblocks (in write mode) on my disks and no problems have been noticed.

Do you have some suggestions for me ?

Many thanks.
\o/ Sent from my tty \o/

More information about the drbd-user mailing list