我是資深菜鳥工程師,總是會碰到一些奇怪難解的問題,這次是校時問題。
虛擬機
OS:Rocky 8.9
校時軟體:chrony
裝了數十台機器,設定上基本已經是樣板無腦了,唯獨這一台,好像會固定快 82 秒,就算手動執行校時 chronyc -a makestep,指令下下去後可以得到 200 OK 的回應,但再用 date 去看,或是 chronyc sources 去看,會發現時間差依然存在,而 source 得到的校時主機正確的,請問這會是什麼問題,要從那邊下手?
----更新
但若是用 date 指令去設定時間,可以更改,但是維持不了多久,時間又會跑掉,應該講,用 chronyc -a makestep 去校時是完全無效,指令下去,回應 200 OK ,但是時間不會變動,原本快 95 秒,依然還是快 95 秒,而不是時間會調整,一段時間後又跑掉。
----再更新
我挑了別台類似環境設定的去查看在我下了 chronyc -a makestep 後的 audit.log 內容,比對有問題的這台,兩有個奇怪的地方,有問題的 type=SYSCALL 後面的 exit=5 ,沒問題的是 exit=0 ,然後沒問題的後面會接著 type=TIME_ADJNTPVAL 跟 type=TIME_INJOFFSET 這兩條訊息,但是有問題的那台沒有,感覺好像是雖然指令執行回報成功,但是設定時間的動作卻是失敗的。
----再再更新
跟別台比對發現有多一個 SELinux 的 policy ,而這個 policy 在正式的主機上並沒有 (這台是正式的測試機) ,目前找到的差異點,不知道有沒有關係。
allow container_user_t chronyc_exec_t:file { execute execute_no_trans getattr ioctl lock map open read };
----再再再更新
就算把 SELinux Disable 掉也是無效,那個 chronyc makestep 完全沒有作用。
----再再再再更新
使用 chronyc siurces -v 去檢視 Time Server ,結果在第一欄出現的是 ^? ,再參考說明,? 代表的是來源是 Server ,? 是 unusable ,檢視同網段的 Rocky 8 & 9 ,都是使用 chrony 這锢服務在校時,對於 Time Server 都是 unusable,再去檢視別的網段的 Rocky 8 主機,因為是不同的 Time Server ,此時顯示的就是 * current best,所以 Time Server 出現 ? 的執行 timedatectl 時都會出現 System clock synchronized: no ,而出現 * 的卻是 System clock synchronized: yes 。
謝謝!
VM 還是實體機? 若是 VM 的話, VM 安裝的 Host agent (例如: VMware Tools, qemu agent...等等), 有個選項會自動將 VM 的時鐘跟 Host 實體機同步, 即使你的 VM 自己做了校時, 還是會被 Host 的時間拉走.
大神您好!
是 VM 主機,底層是 VMWare ,剛剛檢查「虛擬機器選項」—「VMware Tools」下的「將時間與主機同步」,裡面有個「在啟動和續繼時同步」是勾起來的,另一個「定期同步時間」沒有勾起來。
另外,我也檢查了別台 Linux 主機,底層的設定狀況是一樣的,但是校時是正常的。
那把 Agent 裡面校時相關的參數都關掉吧, 我不太相信軟體介面上的開關, 我很常遇到: 介面上顯示關閉, 但實際上卻有作用的.(或者反過來; 單純就是程式寫錯, 然後QC沒發現)
或者你先把 VMware Tools 停掉一天, 觀察他是否還會飄移? 若服務關掉還會跑的話, 那很可能不是 agent 造成, 是系統裡面安裝了其他東西在作怪.
對了, 你有用 timedatectl 看過 NTP synchronized: 這項後面的回應嗎?
這篇有跟你類似的問題跟解法, 或許參考看看:
https://serverfault.com/questions/1073299/ntp-chrony-not-keeping-time-synchronized-on-centos-7-9-vm-running-on-vmware-esx
我先把 vmtoolsd 這個服務停掉。
執行 timedatectl 得到以下訊息
Local time: Fri 2024-06-21 10:41:27 CST
Universal time: Fri 2024-06-21 02:41:27 UTC
RTC time: Fri 2024-06-21 02:41:28
Time zone: Asia/Taipei (CST, +0800)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
System clock synchronized: no 別台是 yes ,也曾參考網路上的文章試著調整,但是無效,好像都去改到 NTP service 這個。