學習安裝部署 ceph 時 ,在添加 mon 時報錯了,搜索原因後發現是 時間同步問題。於是學習一下時間同步工具。
一般CentOS6 使用的時間同步工具是ntp。現在還有不少開源軟件文檔建議安裝的時間同步工具是ntp。個人感覺 chrony使用應該和ntp 差不多。本人使用 ntp較少,因爲一直CentOS7虛擬機較多。CentOS7系統自帶安裝了chrony,然後安裝ntp 並設置開機自啓後,經常性的看到ntpd服務並不能開機啓動,和chronyd衝突了。感覺也沒必要爲了使用ntp 把 自帶的 chrony 卸載了。。。
這篇博客只是一個特別簡單的實驗說明。。。可能並不能解決大多數問題,供自己複習使用。
使用的CentOS7 虛擬機。
實驗準備 現在四臺虛擬主機的IP 主機名分別是
192.168.199.80 ceph-admin
192.168.199.81 ceph-1
192.168.199.82 ceph-2
192.168.199.83 ceph-3
要求相互之間可以ping通。。。
查看 chronyd 服務運行情況。
默認情況下 CentOS7 的chronyd 服務時開機自啓的。
systemctl status chronyd
正常運行
chronyc查看當前同步情況
chronyc sources
可以看到有同步的服務器。CentOS7系統默認的,如果安裝的CentOS7 可以聯網 應該是可以同步的。不過這幾個服務器應該在國外。效果應該一般。不然我部署ceph應該不會失敗。。。
查看一下當前時間 沒什麼意義。。。因爲最主要保證的是時間同步。如果時間同步了。即使服務器的時間與當前標準時間對不上也沒關係(應該是這樣)。。。
timedatectl
設置ntp服務器爲阿里,進行時間同步。
編輯 chronyd 配置文件。
vim /etc/chrony.conf
可以看到 原有的四個時間同步服務器
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
如果我們希望簡單一點。那就直接設置成阿里或者其他國內的開放ntp服務器就可以。。。
ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com
把四個主機的配置文件原有時間服務器註釋掉。然後添加阿里的
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
重啓 chronyd 服務
systemctl restart chronyd
查看時間同步信息
chronyc sources
時間同步成功。。。
現在四個主機都使用阿里雲的ntp服務器作爲時間同步的依據。。一般來說由於時間同步引發的問題都可以解決。。。
設置內網主機作爲 ntp 服務器。
可能有各種各樣的原因。比如,不能連接外網等。不願意使用開放的ntp服務器。。。這時候也可以搭建一個簡單地時間同步服務器。
比如192.168.199.80 ceph-admin 作爲時間同步服務器。。。
依然是修改 chrony 配置文件。。。將server 改成192.168.199.80
vim /etc/chrony.conf
server 192.168.199.80 iburst
然後重啓 chronyd。
systemctl restart chronyd
查看時間 同步狀態。。。可以發現 ceph-1 ceph-2 ceph-3 時間狀態是正常的
chronyc sources
timedatectl
NTP sychronized 爲 yes
但是有時候可能 ceph-admin 的時間同步狀態不太對
NTP sychronized 爲 no
chronyc sources -v
^表示服務,*代表同步成功,?代表未同步
也就是說服務器本身未同步???
繼續修改ceph-admin 的 chrony 配置文件。。。
取消註釋或添加
allow 192.168.199.0/24
local stratum 10
192.168.199.0/24 是 內網網絡 也不算內網。算本地網絡?反正就那意思。。。
修改完成重啓 chronyd
systemctl restart chronyd
查看時間同步狀態
附。根據網絡資料 有時候 要關閉本地時間使用
timedatectl set-local-rtc 0
這樣使用的就是utc時間