首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DRBD IOWait -高I/o-磁盘和iowait,但低流量和r/w-磁盘

DRBD IOWait -高I/o-磁盘和iowait,但低流量和r/w-磁盘
EN

Server Fault用户
提问于 2019-08-18 14:35:31
回答 1查看 1.2K关注 0票数 2

我需要你的帮助。

我有DRBD集群(9.6.0,内核3.10.0-957.21.3,CentOS 7).在这个集群中,我有两个drbd磁盘:

  • 用于SSD的drbd0
  • 用于硬盘的drbd1

对于drbd0 (SSD,sda)来说,一切都好--它处于UpDate状态。但是关于drbd1,我接下来看到的是:

代码语言:javascript
运行
复制
# 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慢,但是这不一样。

信息:

我有这样的配置(注释行--这是我的实验):

代码语言:javascript
运行
复制
# 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立即增长,但读写操作到磁盘没有任何服务器。与网络流量情况是相同的。

如果我连接到服务器,我会看到以下图片:

代码语言:javascript
运行
复制
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,但我不确定。

代码语言:javascript
运行
复制
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:

空磁盘完全相同..。

EN

回答 1

Server Fault用户

发布于 2019-08-19 11:16:40

我有拐杖式的解决方案。

首先,我将所有数据从HDD移动到SSD,并重新创建drbd设备。因为这个同步很好。

其次,我(也许)发现了性能方面的一个问题。见图形

我有两个小时的良好表现,但后来我尝试启动我的KVM的VM。魔法,性能下降(~13:10通过图形)。然后我停止VM和性能恢复。

我认为这是因为在同步期间,您甚至不应该给DRBD一个最小的负载。但是,我真的希望在同步之后不会出现这个问题。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/979715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档