<div dir="ltr"><div><div>I am going currently going nuts because of slow DRBD performance and after many hours trying different parameters I cannot find the problem here. I hope someone is able to help.</div><div><br></div><div>Regardless of how I tune the parameters I only achieve between 40-80 MB/s when writing to the drbd device from the active drbd node.</div><div><br></div><div>Even stranger is that I export some folder of the drbd with NFS and with some NFS client I receive basically a 100% write speed (110 MB/s) to drbd mounted via NFS. So writing to drbd via NFS is faster than writing to drbd from the active drbd node?</div><div><br></div><div>May the problem lie in RAID 6 of the subsystems? Now I am kinda helpless.</div><div><br></div><div>There are probably other problems with this configuration too. However, for now I would like to focus on getting the speed problem solved, so please don&#39;t get too offtopic. Thank you!</div><div><br></div><div><br></div><div>Here is all information of the system:</div><div><br></div><div>## Disk Througput</div><div><br></div><div>    root@stor02 ~ $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct; done</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,32608 s, 810 MB/s</div><div>    </div><div>    real    0m1.391s</div><div>    user    0m0.000s</div><div>    sys 0m0.428s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,60039 s, 671 MB/s</div><div>    </div><div>    real    0m1.678s</div><div>    user    0m0.000s</div><div>    sys 0m0.424s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,24388 s, 863 MB/s</div><div>    </div><div>    real    0m1.334s</div><div>    user    0m0.000s</div><div>    sys 0m0.448s</div><div>    </div><div>    ---</div><div>    </div><div>    root@stor01 ~ $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct; done</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,22048 s, 880 MB/s</div><div>    </div><div>    real    0m1.265s</div><div>    user    0m0.000s</div><div>    sys 0m0.312s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,2497 s, 859 MB/s</div><div>    </div><div>    real    0m1.309s</div><div>    user    0m0.000s</div><div>    sys 0m0.328s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 1,22641 s, 876 MB/s</div><div>    </div><div>    real    0m1.290s</div><div>    user    0m0.000s</div><div>    sys 0m0.328s</div><div>    </div><div>    ---</div><div>    </div><div><br></div><div><br></div><div><br></div><div><br></div><div>## Disk Latency</div><div><br></div><div>    root@stor01 ~ $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=512 count=1000 oflag=direct; done</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,555512 s, 922 kB/s</div><div>    </div><div>    real    0m0.557s</div><div>    user    0m0.000s</div><div>    sys 0m0.028s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,463406 s, 1,1 MB/s</div><div>    </div><div>    real    0m0.465s</div><div>    user    0m0.004s</div><div>    sys 0m0.028s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,621884 s, 823 kB/s</div><div>    </div><div>    real    0m0.623s</div><div>    user    0m0.000s</div><div>    sys 0m0.028s</div><div>    </div><div>    ---</div><div>    </div><div>    </div><div>    t@stor02 ~ $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=512 count=1000 oflag=direct; done</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,485988 s, 1,1 MB/s</div><div>    </div><div>    real    0m0.488s</div><div>    user    0m0.000s</div><div>    sys 0m0.036s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,560012 s, 914 kB/s</div><div>    </div><div>    real    0m0.562s</div><div>    user    0m0.000s</div><div>    sys 0m0.032s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,542077 s, 945 kB/s</div><div>    </div><div>    real    0m0.544s</div><div>    user    0m0.000s</div><div>    sys 0m0.032s</div><div>    </div><div>    ---</div><div>    </div><div><br></div><div><br></div><div>## Network Throughput</div><div><br></div><div>Tests with iperf showed almost 10 Gbps.</div><div>Both DRBD machines are sharing a dedicated 10 Gbps cable with MTU 9192.</div><div><br></div><div>        root@stor02 ~ $ ifconfig eth2</div><div>    eth2      Link encap:Ethernet  HWaddr 90:e2:ba:48:2c:dc  </div><div>              inet addr:10.0.0.2  Bcast:10.0.0.3  Mask:255.255.255.252</div><div>              inet6 addr: fe80::92e2:baff:fe48:2cdc/64 Scope:Link</div><div>              UP BROADCAST RUNNING MULTICAST  MTU:9192  Metric:1</div><div>              RX packets:1481638371 errors:0 dropped:0 overruns:0 frame:0</div><div>              TX packets:988570639 errors:0 dropped:0 overruns:0 carrier:0</div><div>              collisions:0 txqueuelen:1000 </div><div>              RX bytes:10338057837352 (9.4 TiB)  TX bytes:3222573497308 (2.9 TiB)</div><div><br></div><div><br></div><div>## Network Latency</div><div><br></div><div>    root@stor02 ~ $ fping -l 10.0.0.1</div><div>    10.0.0.1 : [0], 96 bytes, 0.12 ms (0.12 avg, 0% loss)</div><div>    10.0.0.1 : [1], 96 bytes, 0.13 ms (0.12 avg, 0% loss)</div><div>    10.0.0.1 : [2], 96 bytes, 0.12 ms (0.12 avg, 0% loss)</div><div><br></div><div># DRBD Version and Status</div><div><br></div><div>    root@stor02 ~ $ cat /proc/drbd </div><div>    version: 8.3.11 (api:88/proto:86-96)</div><div>    srcversion: F937DCB2E5D83C6CCE4A6C9 </div><div>     0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----</div><div>        ns:17378172 nr:0 dw:177485633 dr:1946127117 al:3708575 bm:557 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0</div><div><br></div><div><br></div><div><br></div><div># DRBD Config</div><div><br></div><div>    root@stor02 ~ $ drbdsetup /dev/drbd0 show</div><div>    disk {</div><div>        size                0s _is_default; # bytes</div><div>        on-io-error         detach;</div><div>        fencing             dont-care _is_default;</div><div>        max-bio-bvecs       0 _is_default;</div><div>    }</div><div>    net {</div><div>        timeout             60 _is_default; # 1/10 seconds</div><div>        max-epoch-size      19997;</div><div>        max-buffers         19997;</div><div>        unplug-watermark    64;</div><div>        connect-int         10 _is_default; # seconds</div><div>        ping-int            10 _is_default; # seconds</div><div>        sndbuf-size         524288; # bytes</div><div>        rcvbuf-size         0 _is_default; # bytes</div><div>        ko-count            0 _is_default;</div><div>        cram-hmac-alg       &quot;sha1&quot;;</div><div>        shared-secret       &quot;...&quot;;</div><div>        after-sb-0pri       disconnect _is_default;</div><div>        after-sb-1pri       disconnect _is_default;</div><div>        after-sb-2pri       disconnect _is_default;</div><div>        rr-conflict         disconnect _is_default;</div><div>        ping-timeout        5 _is_default; # 1/10 seconds</div><div>        on-congestion       block _is_default;</div><div>        congestion-fill     0s _is_default; # byte</div><div>        congestion-extents  127 _is_default;</div><div>    }</div><div>    syncer {</div><div>        rate                2097152k; # bytes/second</div><div>        after               -1 _is_default;</div><div>        al-extents          3833;</div><div>        on-no-data-accessible   io-error _is_default;</div><div>        c-plan-ahead        0 _is_default; # 1/10 seconds</div><div>        c-delay-target      10 _is_default; # 1/10 seconds</div><div>        c-fill-target       0s _is_default; # bytes</div><div>        c-max-rate          102400k _is_default; # bytes/second</div><div>        c-min-rate          4096k _is_default; # bytes/second</div><div>    }</div><div>    protocol C;</div><div>    _this_host {</div><div>        device          minor 0;</div><div>        disk            &quot;/dev/vgRAPTOR/lvol0&quot;;</div><div>        meta-disk       internal;</div><div>        address         ipv4 <a href="http://10.0.0.2:7788">10.0.0.2:7788</a>;</div><div>    }</div><div>    _remote_host {</div><div>        address         ipv4 <a href="http://10.0.0.1:7788">10.0.0.1:7788</a>;</div><div>    }</div><div><br></div><div><br></div><div># Hardware Raid</div><div><br></div><div>    root@stor02 ~ $ arcconf getconfig 1 ld</div><div>    Controllers found: 1</div><div>    ----------------------------------------------------------------------</div><div>    Logical device information</div><div>    ----------------------------------------------------------------------</div><div>    Logical device number 0</div><div>       Logical device name                      : SYSTEM</div><div>       RAID level                               : 6 Reed-Solomon</div><div>       Status of logical device                 : Optimal</div><div>       Size                                     : 51188 MB</div><div>       Stripe-unit size                         : 256 KB</div><div>       Read-cache setting                       : Enabled</div><div>       Read-cache status                        : On</div><div>       Write-cache setting                      : Enabled</div><div>       Write-cache status                       : Off</div><div>       Partitioned                              : Yes</div><div>       Protected by Hot-Spare                   : No</div><div>       Bootable                                 : Yes</div><div>       Failed stripes                           : No</div><div>       Power settings                           : Disabled</div><div>       --------------------------------------------------------</div><div>       Logical device segment information</div><div>       --------------------------------------------------------</div><div>       Segment 0                                : Present (Controller:1,Enclosure:0,Slot:0)      WD-WXH1...</div><div>       Segment 1                                : Present (Controller:1,Enclosure:0,Slot:1)      WD-WXD1...</div><div>       Segment 2                                : Present (Controller:1,Enclosure:0,Slot:2)      WD-WXD1...</div><div>       Segment 3                                : Present (Controller:1,Enclosure:0,Slot:3)      WD-WXH1...</div><div>       Segment 4                                : Present (Controller:1,Enclosure:0,Slot:4)      WD-WXJ1...</div><div>       Segment 5                                : Present (Controller:1,Enclosure:0,Slot:5)      WD-WXD1...</div><div>       Segment 6                                : Present (Controller:1,Enclosure:0,Slot:6)      WD-WXH1...</div><div>       Segment 7                                : Present (Controller:1,Enclosure:0,Slot:7)      WD-WXH1...</div><div>                                                                                                       </div><div>    Logical device number 1                                                                            </div><div>       Logical device name                      : RAPTOR                                               </div><div>       RAID level                               : 6 Reed-Solomon                                       </div><div>       Status of logical device                 : Optimal                                              </div><div>       Size                                     : 5668850 MB                                           </div><div>       Stripe-unit size                         : 256 KB                                               </div><div>       Read-cache setting                       : Enabled                                              </div><div>       Read-cache status                        : On                                                   </div><div>       Write-cache setting                      : Enabled                                              </div><div>       Write-cache status                       : Off    (Does this mean write cache is off?)                                              </div><div>       Partitioned                              : No                                                   </div><div>       Protected by Hot-Spare                   : No                                                   </div><div>       Bootable                                 : No                                                   </div><div>       Failed stripes                           : No                                                   </div><div>       Power settings                           : Disabled                                             </div><div>       --------------------------------------------------------                                        </div><div>       Logical device segment information                                                              </div><div>       --------------------------------------------------------                                        </div><div>       Segment 0                                : Present (Controller:1,Enclosure:0,Slot:0)      WD-WXH1...</div><div>       Segment 1                                : Present (Controller:1,Enclosure:0,Slot:1)      WD-WXD1...</div><div>       Segment 2                                : Present (Controller:1,Enclosure:0,Slot:2)      WD-WXD1...</div><div>       Segment 3                                : Present (Controller:1,Enclosure:0,Slot:3)      WD-WXH1...</div><div>       Segment 4                                : Present (Controller:1,Enclosure:0,Slot:4)      WD-WXJ1...</div><div>       Segment 5                                : Present (Controller:1,Enclosure:0,Slot:5)      WD-WXD1...</div><div>       Segment 6                                : Present (Controller:1,Enclosure:0,Slot:6)      WD-WXH1...</div><div>       Segment 7                                : Present (Controller:1,Enclosure:0,Slot:7)      WD-WXH1...</div><div><br></div><div><br></div><div># Results</div><div>## Throughput</div><div>    root@stor02 /mnt/drbd_r0 $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct; done</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 24,4773 s, 43,9 MB/s</div><div>    </div><div>    real    0m24.540s</div><div>    user    0m0.000s</div><div>    sys 0m0.492s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 25,4277 s, 42,2 MB/s</div><div>    </div><div>    real    0m25.514s</div><div>    user    0m0.000s</div><div>    sys 0m0.504s</div><div>    1+0 records in</div><div>    1+0 records out</div><div>    1073741824 bytes (1,1 GB) copied, 24,7216 s, 43,4 MB/s</div><div>    </div><div>    real    0m24.795s</div><div>    user    0m0.000s</div><div>    sys 0m0.508s</div><div><br></div><div><br></div><div>## Latency</div><div>    root@stor02 /mnt/drbd_r0 $ for i in $(seq 3); do time dd if=/dev/zero of=testfile bs=512 count=1000 oflag=direct; done</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 1,13063 s, 453 kB/s</div><div>    </div><div>    real    0m1.133s</div><div>    user    0m0.000s</div><div>    sys 0m0.044s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 1,18928 s, 431 kB/s</div><div>    </div><div>    real    0m1.191s</div><div>    user    0m0.004s</div><div>    sys 0m0.040s</div><div>    1000+0 records in</div><div>    1000+0 records out</div><div>    512000 bytes (512 kB) copied, 0,763934 s, 670 kB/s</div><div>    </div><div>    real    0m0.766s</div><div>    user    0m0.000s</div><div>    sys 0m0.048s</div></div></div>