ceph fs 应用延迟太高,导致虚拟机负载过高

ceph fs 应用延迟太高,导致虚拟机负载过高

我在 ceph 集群中遇到一些问题。 fs_apply_latency 太高,导致 qemu 虚拟机负载高且响应慢(使用 ceph 映像作为 VHD)。设置是:

  • 5 个主机,配备 4 个 HDD 和 1 个 SSD 作为日志设备
  • 通过 3x 1 GBit 绑定接口互连
  • 所有 ceph 流量的独立专用网络

这是 ceph osd perf 的输出:

osd fs_commit_latency(ms) fs_apply_latency(ms) 
  0                    17                  551 
  1                     0                   18 
  2                    44                   61 
  3                     0                  915 
  4                     0                  912 
  5                    46                  646 
  6                     0                 1243 
  7                    84                  110 
  8                     1                   23 
  9                     2                  167 
 10                     0                  576 
 11                     1                 1188 
 12                     0                  105 
 13                     0                  199 
 14                     0                  536 
 15                     0                 1560 
 16                     0                  195 
 17                     0                  633 
 18                     0                  492 
 19                     0                  387

有时每个 OSD 长达 3 秒!我看不到该集群上有任何繁重的读取或写入操作。不管怎样,不同的 OSD 时不时会出现阻塞的 I/O 消息。

这是暂时的 ceph.conf:

[global]
fsid = <removed>
mon host = mon1,mon2,mon3
mon addr = <removed>
mon initial_members = mon1,mon2,mon3
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
filestore_xattr_use_omap = true
osd pool default size = 3
public network = <private>/24
cluster network = <private>/24
rbd default format = 2

[osd]
osd journal size = 10240 # useless since we use partitions nowadays
osd recovery max active = 1
osd max backfills = 1

您知道我可以采取什么措施来减少延迟吗?我已经浏览网络好几个星期了,但找不到任何真正有用的东西。

相关内容