《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