我需要你的帮助。
我有DRBD集群(9.6.0,内核3.10.0-957.21.3,CentOS 7).在这个集群中,我有两个drbd磁盘:
对于drbd0 (SSD,sda)来说,一切都好--它处于UpDate状态。但是关于drbd1,我接下来看到的是:
# drbdadm status
drbd0 role:Primary
disk:UpToDate
slave role:Secondary
peer-disk:UpToDate
drbd1 role:Primary
disk:UpToDate
slave role:Secondary
replication:SyncSource peer-disk:Inconsistent done:0.17
非常慢--我在6小时内得到了0.17%。我知道,什么HDD比SSD慢,但是这不一样。
信息:
我有这样的配置(注释行--这是我的实验):
# cat /etc/drbd.d/global_common.conf
global {
usage-count yes;
}
common {
net {
protocol B;
}
}
# cat /etc/drbd.d/drbd0.res
resource drbd0 {
on master {
device /dev/drbd0;
disk /dev/mapper/vg_ssd_drbd-lv_ssd_drbd;
meta-disk internal;
address 192.168.100.15:7788;
}
on slave {
device /dev/drbd0;
disk /dev/mapper/vg_ssd_drbd-lv_ssd_drbd;
meta-disk internal;
address 192.168.100.17:7788;
}
net {
sndbuf-size 10M;
rcvbuf-size 10M;
ping-int 2;
ping-timeout 2;
connect-int 2;
timeout 5;
ko-count 5;
max-buffers 128k;
max-epoch-size 8192;
verify-alg md5;
}
disk {
c-plan-ahead 20;
c-min-rate 1M;
c-max-rate 600M;
c-fill-target 2M;
al-extents 3389;
}
}
# cat /etc/drbd.d/drbd1.res
resource drbd1 {
on master {
device /dev/drbd1;
disk /dev/mapper/vg_hdd_drbd-lv_hdd_drbd;
meta-disk internal;
address 192.168.100.15:7789;
}
on slave {
device /dev/drbd1;
disk /dev/mapper/vg_hdd_drbd-lv_hdd_drbd;
meta-disk internal;
address 192.168.100.17:7789;
}
net {
#sndbuf-size 1M;
#rcvbuf-size 1M;
ping-int 2;
ping-timeout 2;
connect-int 2;
timeout 5;
ko-count 5;
#max-buffers 12k;
#max-epoch-size 8192;
#verify-alg md5;
}
disk {
#c-plan-ahead 20;
c-min-rate 1K;
c-max-rate 600M;
#c-fill-target 2M;
al-extents 919;
}
}
服务器有10 10Gbps的通道连接到链接-两者都位于一个房间。
我可以给你看我的监控:
在夜间我同步我的SSD -一切都好。但在白天,我试图同步我的硬盘,这是非常哭泣。
IO立即增长,但读写操作到磁盘没有任何服务器。与网络流量情况是相同的。
如果我连接到服务器,我会看到以下图片:
top - 12:52:35 up 1 day, 10:44, 1 user, load average: 1.01, 1.06, 1.26
Tasks: 492 total, 1 running, 491 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 0.0 id, 99.7 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
DRBD1 (我在iostat中看到他) 100%在CPU中加载iowait,但是WriteKB和ReadKB是零。
我搜索了它的问题,并建议我显示TCP缓冲区,但它是好的。我将drbd1的所有DRBD设置刷新为默认设置,但没有结果。
我试着自己诊断问题,发现了两个异常:
一。我在1秒内看到一些“花在做I/O上的时间”。我想,我在这里暂停的是什么。
二。在我的HDD挂载目录中,我看到df/du和ls命令有很大的不同。也许这是功能KVM,但我不确定。
du -sh /data/hdd-drbd/*
170M /data/hdd-drbd/awx-add.qcow2
7.7G /data/hdd-drbd/awx.qcow2
2.0G /data/hdd-drbd/template-DISABLE.qcow2
ls -lah /data/hdd-drbd/
total 9.8G
drwxr-xr-x 2 root root 74 Aug 16 17:37 .
drwxr-xr-x. 8 root root 91 Aug 14 22:11 ..
-rw------- 1 qemu qemu 201G Aug 15 19:41 awx-add.qcow2
-rw------- 1 qemu qemu 7.7G Aug 18 17:26 awx.qcow2
-rw------- 1 root root 46G Aug 15 13:48 template-DISABLE.qcow2
现在,我将把所有数据移到SSD磁盘,并尝试重新生成空磁盘--也许--它会很好。但是我需要你帮我解决这个问题--你对这种情况有什么想法吗?
编辑:
再来一次-我为什么要重新整理我的仓库?我在LVM中为drbd0/1添加了一些PV,并调整了drbd设备的大小。也许这是重要的信息..。在这次行动之前,drbd运作得很好。
EDIT2:
空磁盘完全相同..。
发布于 2019-08-19 11:16:40
我有拐杖式的解决方案。
首先,我将所有数据从HDD移动到SSD,并重新创建drbd设备。因为这个同步很好。
其次,我(也许)发现了性能方面的一个问题。见图形
我有两个小时的良好表现,但后来我尝试启动我的KVM的VM。魔法,性能下降(~13:10通过图形)。然后我停止VM和性能恢复。
我认为这是因为在同步期间,您甚至不应该给DRBD一个最小的负载。但是,我真的希望在同步之后不会出现这个问题。
https://serverfault.com/questions/979715
复制相似问题