DRBD同步非常慢,只有500K/S,负载飙升(已解决)
本帖最后由 luckysammo_cu 于 2011-05-27 09:57 编辑
目标:
DRBD + NFS 高可用
环境:
* 千兆交换机 + 千兆网卡
* CentOS release 5.4
* DRBD 8.3.8
* 分区使用ext3,大小1.2T
* mount /dev/drbd0 /data
* NFS共享/data目录
* nfs1 DRBD主节点
* nfs2 DRBD从节点
* client1 NFS客户端
配置文件(两台机配置相同):
- global {
- usage-count yes;
- }
- common { syncer { al-extents 3389; rate 70M; } }
- resource r0 {
- protocol C;
- startup {
- wfc-timeout 0;
- degr-wfc-timeout 120;
- }
- disk {
- on-io-error detach;
- }
- net {
- timeout 60;
- connect-int 10;
- ping-int 10;
- max-buffers 2048;
- max-epoch-size 2048;
- }
- on nfs1 {
- device /dev/drbd0;
- disk /dev/cciss/c0d0p4;
- address 192.168.1.3:7789;
- meta-disk internal;
- }
- on nfs2 {
- device /dev/drbd0;
- disk /dev/cciss/c0d0p4;
- address 192.168.1.2:7789;
- meta-disk internal;
- }
- }
复制代码测试:
写入102MB的文件
1、本机/data目录测试(正常):
- [root@nfs1 data]# time dd if=/dev/zero of=sometestfile3 bs=1024 count=100000
- 100000+0 records in
- 100000+0 records out
- 102400000 bytes (102 MB) copied, 0.389642 seconds, 263 MB/s
- real 0m0.398s
- user 0m0.054s
- sys 0m0.320s
复制代码每秒查看一次/proc/drbd:
- [root@nfs1 data]# cat /proc/drbd
- version: 8.3.8 (api:88/proto:86-94)
- GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09
- 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
- ns:108772 nr:0 dw:108988 dr:713 al:31 bm:1 lo:8 pe:2049 ua:0 ap:2048 ep:1 wo:b oos:0
- [root@nfs1 data]# cat /proc/drbd
- version: 8.3.8 (api:88/proto:86-94)
- GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09
- 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
- ns:109416 nr:0 dw:109576 dr:713 al:31 bm:1 lo:2 pe:2050 ua:0 ap:2049 ep:1 wo:b oos:0
复制代码PS: 查看dw时,1 秒钟也只同步了 109576 - 108988 = 588
2、NFS客户端测试(nfs1负载飙升):
mount -t nfs -o rsize=32768,wsize=32768,timeo=14,nfsvers=3,noatime,nolock 192.168.1.3:/data /mnt/test
执行:
- [root@client1]# time dd if=/dev/zero of=sometestfile3 bs=1024 count=100000
- 100000+0 records in
- 100000+0 records out
- 102400000 bytes (102 MB) copied, 179.556 seconds, 570 kB/s
- real 2m59.588s
- user 0m0.043s
- sys 0m0.256s
复制代码PS: 570 kB/s
A、nfs1机器:load average从0升到10
B、NFS客户端: 一直卡着,应该是等待从节点同步成功后,再结束。
求助:
请大家帮忙看一下,非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
是什么硬盘? 是不是被硬盘传输速度卡住了?
关于LOAD,试下 前面放个 ionice -c 3 , 应该可以降下来,我们这个服务器跑了30多个虚拟机的时候,在只有io空闲的情况下,大概是1Mb/s左右 (硬盘是SAS,具体速度不记得了)
谢谢lingg2010的回复。
HP服务器,SAS硬盘,6颗硬盘RAID 5阵列。
我早上把主从DRBD切换了一下,发现写nfs2机器时,速度可以达到13M左右。
我待会测试一下你给的方法。
本帖最后由 luckysammo_cu 于 2011-05-16 11:59 编辑
我测试了 ionice -c 3 ,负载还是很高。
我又做了一个测试了:
1、停止DRBD从机的同步:
复制代码2、在DRBD主机,写入文件:
复制代码3、开启DRBD从机的同步:
复制代码PS:同步速度,也有13M左右。不明白,为什么实时同步时,传输只有几百K。
试下:
drbdsetup /dev/drbd/by-res/xxxx syncer -r 2M
相关文档:
http://www.drbd.org/users-guide/s-configure-syncer-rate.html
回复 5# lingg2010
谢谢 lingg2010 的回复。
我动态修改过 syncer ,都没效果,后来使用sysbench测试后,发现磁盘性能比较差。
现在已经换成RAID0了,速度可以达到42M。