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