在运行管理 Ceph 集群时,会遇到各种问题。这里记录了一些问题的分析与修复过程。


目录

  1. Ceph
    1. HEALTH_WARN clock skew detected
  2. Openstack

Ceph

HEALTH_WARN clock skew detected

这种问题一般有两个原因: 一是 mon 节点上 ntpd 服务没有启用; 二是 Ceph 设置的时间偏差阈值过小。

  1. 如果是 CentOS 7, 确定 systemd-timesyncd 没有启动。
1
2
3
$ sudo ystemctl status systemd-timesyncd
### disable it if enabled
$ sudo systemctl disable --now systemd-timesyncd
  1. 检查 nptd 服务有没有启用,没有启用或安装就安装并启用。
1
2
3
$ sudo yum install -y ntpd ntpdate
$ sudo systemctl enable --now ntpd.service
$ sudo systemctl status ntpd.service
  1. 有必要的话,修改 /etc/ntp.conf, 然后重启 ntpd 服务。
1
2
server your-ntp-server1
server your-ntp-server2
  1. 重启 相关的 Ceph 服务。
  2. 如果仍有这样的问题,可考虑适当增大 Ceph 的时间偏差阈值。
1
2
3
### /etc/ceph/ceph.conf
mon clock drift allowed = 2
mon clock drift warn backoff = 30
  1. 将修改后的 /etc/ceph/ceph 推送给所有节点。
1
2
3
4
$ for  i in {mon list}; do
scp /etc/ceph/ceph.conf $i:/etc/ceph/
ssh $i sudo systemctl restart ceph-mon@$i.service
done

Openstack

  1. P: 连不上集群.
    S: 检查 /etc/ceph/ceph.conf 权限, 设置 cephcinder 可访问.