2

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

2 Answers 2

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

1
  • This probably should have been an edit to the original question. Mar 5, 2018 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.

2
  • As i mentioned in question, I did try auto rates and c-plan-ahead to 0. didnt make any difference.
    – bakasan
    Mar 6, 2018 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. Mar 6, 2018 at 15:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .