![ceph fs 应用延迟太高,导致虚拟机负载过高](https://linux22.com/image/80941/ceph%20fs%20%E5%BA%94%E7%94%A8%E5%BB%B6%E8%BF%9F%E5%A4%AA%E9%AB%98%EF%BC%8C%E5%AF%BC%E8%87%B4%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%B4%9F%E8%BD%BD%E8%BF%87%E9%AB%98.png)
我在 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
您知道我可以采取什么措施来减少延迟吗?我已经浏览网络好几个星期了,但找不到任何真正有用的东西。