Ceph中会自动校验存储节点之间的时间,若不同节点之间时差较大,会有告警,因此需要配置时间同步,Ubuntu下使用NTP服务,openEuler下使用Chrony服务,同步各节点间的时间,提高网络管理效率。
Ubuntu下配置NTP
- 安装NTP服务。
- 在所有服务端ceph1~ceph3节点和客户端client1节点安装NTP。
| apt install -y ntp ntpdate
|

- 在所有服务端节点和客户端节点备份旧配置。
| cd /etc && mv ntp.conf ntp.conf.bak
|
- 以ceph1为NTP服务端节点,在ceph1新建NTP文件。
- 打开“/etc/ntp.conf”文件。
- 按“i”进入编辑模式,并新增如下内容作为NTP服务端。
| restrict 127.0.0.1
restrict ::1
restrict 192.168.3.0 mask 255.255.255.0
server 127.127.1.0
fudge 127.127.1.0 stratum 8
|
其中,“restrict 192.168.3.0 mask 255.255.255.0”是ceph1的网段与掩码。
- 按“Esc”键退出编辑模式,输入:wq!后按“Enter”键保存并退出文件。
- 在ceph2、ceph3及所有客户端节点新建NTP文件。
- 打开“/etc/ntp.conf”文件。
- 按“i”进入编辑模式,新增如下内容:
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 启动NTP服务。
- 在ceph1节点启动NTP服务,并检查服务状态是否为 “active(running)”。
| systemctl stop ntp
systemctl start ntp
systemctl enable ntp
systemctl status ntp
|

ceph1节点启动NTP进程5分钟后,再在其他节点进行时间同步,否则会报错(no server suitable for synchronization found)。
- 在除ceph1的所有节点强制停止NTP服务,同步server(ceph1)时间。
| service ntp stop
ntpdate ceph1
|
在其他节点同步成功显示如下:

- 在除ceph1的所有节点写入硬件时钟,避免重启后失效。
- 在除ceph1的所有节点安装并启动crontab工具。
| apt install -y cron
systemctl start cron
systemctl enable cron
crontab -e
|
- 添加以下内容,每隔10分钟自动与ceph1同步时间。
| */10 * * * * /usr/sbin/ntpdate 192.168.3.166
|


此IP地址为ceph1节点Public Network的IP地址。
openEuler配置Chrony
- 所有服务端ceph1~ceph3节点和客户端client1节点安装Chrony服务。
- 备份配置文件。
| mv /etc/chrony.conf /etc/chrony.conf.bak
|
- 修改配置文件。
| cat > /etc/chrony.conf <<EOF
server xxx iburst # xxx为提供时钟服务的服务器在网络中的ip或域名
allow xxx/xx # xxx/xx 是本地网络的IP地址范围(如:192.168.1.0/24),表示只有这个子网的机器才能与服务器进行时钟同步。
local stratum 10
EOF
|
- 重启Chrony。
| systemctl restart chronyd
systemctl enable chronyd
|
- 查看时间同步状态。
| chronyc -a makestep #强制同步系统时间
chronyc sourcestats #显示当前时间源的同步统计信息
chronyc sources -v #显示当前时间源的同步信息
|