3

couple of weeks ago I made a test setup for DRBD on couple of servers. The speed was fixed 90MB/800Mb as per my config for initial sync. Now I have reinstalled the OS (CentOS 7.4) to do final install on the servers and I am seeing speed issue (as shown below). The only difference that I can think of right now is installation of pacemaker+corosync, both of which are disabled for initial sync. I have reinstalled the OS a couple of times and tried to change the speed etc. parameters in config but nothing changed. Here is my config:

[root@storage2 ~]# cat /etc/drbd.d/global_common.conf
global {
    usage-count yes;
    udev-always-use-vnr;
}
common {
    net {
        protocol C;
    }
}
[root@storage2 ~]# cat /etc/drbd.d/nfs.res
resource r0 {

    syncer {
        c-plan-ahead 20;
        c-fill-target 50k;
        c-min-rate 25M;
        al-extents 3833;
        rate 90M;
    }
    disk {
        no-md-flushes;
        #fencing resource-only;
    }
    handlers {
        fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
        after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
    }
    net {
        sndbuf-size 512k;
        max-buffers 8000;
        max-epoch-size 8000;
        after-sb-0pri discard-least-changes;
        after-sb-1pri consensus;
        after-sb-2pri call-pri-lost-after-sb;

    }
    device /dev/drbd0;
    disk /dev/sda4;
    meta-disk internal;

    on storage1 {
        address 172.30.1.11:7790;
    }
    on storage2 {
        address 172.30.1.12:7790;
    }
}

speed graph

1

Ok, I made some changes to config and it made difference this time. Though it's not exactly as it was before (still has dips) and feels a bit forced but performance has improved.
New config :

[root@storage1 ~]# cat /etc/drbd.d/nfs.res
resource r0 {

        ...  
        c-plan-ahead 2;
        c-fill-target 2M;
        c-min-rate 25M;
        c-max-rate 100M;
        al-extents 3833;
        rate 100M; 
        ...

        sndbuf-size 0;
        ...

}

DRBD upload speed - after changing config

  • This probably should have been an edit to the original question. – Matt Kereczman Mar 5 '18 at 15:58
0

Recent versions of DRBD, greater than 8.3.9, adjust resync rates dynamically by default. If you now have something sitting on DRBD writing data, and therefore replicating data, or something else (Corosync & Pacemaker) utilizing the replication link, the resync speeds will adjust themselves on the fly.

I see the changes you made in your "answer", and it's likely the increased c-fill-target that made your resync better saturate the line.

Try setting your c-plan-ahead to 0 and see if it levels out. That should effectively disable the dynamic controller and leave you syncing at a static rate.

  • As i mentioned in question, I did try auto rates and c-plan-ahead to 0. didnt make any difference. – bakasan Mar 6 '18 at 1:06
  • ummm, you didn't mention that as far as I can see... but okay. Can your disks write 1GB/s (8Gb/s) steadily? Perhaps your dips aren't network related at all. Perhaps your dips are your disks flushing, or blocking, for a moment. – Matt Kereczman Mar 6 '18 at 15:29

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.