《Windows Azure Platform 系列文章目錄》
本文主要介紹Azure Linux VM時鐘同步問題
在CentOS 8.x上,默認採用chrony配置爲使用PTP源同步。Chrony所選時間來源是可以配置的,你可以選擇讓他從Azure物理機進行時間同步(也就是通過PTP時鐘)。
具體可以參考:https://learn.microsoft.com/zh-cn/azure/virtual-machines/linux/time-sync
我們以CentOS 7.9的虛擬機爲例,我們可以執行下面的腳本:
cat /etc/chrony.conf
顯示結果中最後一行,表示從Azure物理機進行時鐘同步。
refclock PHC /dev/ptp_hyperv poll 3 dpoll -2 offset 0
有的時候,我們發現即使設置了chrony從Azure物理機進行時鐘同步,還是有問題,比如我的2臺VM相差3ms
[root@dv5-vm01 ~]# clockdiff 10.0.0.5 .......... host=10.0.0.5 rtt=56(137)ms/0ms delta=0ms/0ms Fri Jul 7 03:32:48 2023 [root@dv5-vm01 ~]# clockdiff 10.0.0.5 .. host=10.0.0.5 rtt=562(280)ms/0ms delta=3ms/3ms Fri Jul 7 03:35:06 2023 [root@dv5-vm01 ~]# clockdiff 10.0.0.5 . host=10.0.0.5 rtt=750(187)ms/0ms delta=3ms/3ms Fri Jul 7 03:35:08 2023 [root@dv5-vm01 ~]# clockdiff 10.0.0.5 . host=10.0.0.5 rtt=750(187)ms/0ms delta=3ms/3ms Fri Jul 7 03:35:10 2023
我們可以執行下面的腳本,來強制同步
cd /sys/bus/vmbus/drivers/hv_util guid=`ls -d 2dd*` echo $guid >unbind echo $guid >bind
腳本執行完成後,結果如下:
[root@dv5-vm01 hv_util]# clockdiff 10.0.0.5 ... host=10.0.0.5 rtt=421(315)ms/0ms delta=0ms/0ms Fri Jul 7 04:03:42 2023 [root@dv5-vm01 hv_util]# clockdiff 10.0.0.5 .. host=10.0.0.5 rtt=562(280)ms/0ms delta=0ms/0ms Fri Jul 7 04:03:44 2023 [root@dv5-vm01 hv_util]# clockdiff 10.0.0.5 ... host=10.0.0.5 rtt=421(315)ms/0ms delta=0ms/0ms Fri Jul 7 04:03:48 2023 [root@dv5-vm01 hv_util]# clockdiff 10.0.0.5 .. host=10.0.0.5 rtt=562(280)ms/0ms delta=0ms/0ms Fri Jul 7 04:03:50 2023