20.6. 同步时钟
phc2sys 程序用于将系统时钟与 NIC 上的 PTP
硬件时钟(PHC)同步。phc2sys 服务在 /etc/sysconfig/phc2sys
配置文件中配置。/etc/sysconfig/phc2sys
文件中的默认设置如下:
OPTIONS="-a -r"
a 选项可
使 phc2sys 从 ptp4l 应用读取时钟同步。它将紧随 PTP
端口状态的更改,相应地调整 NIC 硬件时钟之间的同步。系统时钟没有同步,除非还指定了 -r
选项。如果您希望系统时钟有资格成为时间源,请指定 -r
选项两次。
更改 /etc/sysconfig/phc2sys
后,以 root
用户身份从命令行重启 phc2sys 服务:
~]# systemctl restart phc2sys
在正常情况下,使用 systemctl
命令启动、停止和重新启动 phc2sys 服务。
如果您不想将 phc2sys 启动为服务,您可以从命令行启动它。例如,以 root
用户身份输入以下命令:
~]# phc2sys -a -r
a 选项可
使 phc2sys 从 ptp4l 应用读取时钟同步。如果您希望系统时钟有资格成为时间源,请指定 -r
选项两次。
或者,使用 -s
选项将系统时钟同步到特定接口的 PTP 硬件
时钟。例如:
~]# phc2sys -s eth3 -w
w 选项等待正在运行的 ptp4l 应用程序同步
时钟,然后从 ptp4l 检索TAI 到 UTC 偏移。
PTP
通常,PTP
在国际原子时间(TAI)时区 运行,而系统时钟则保持在统一的通用 时间 (UTTC)中。TAI 和 UTC 计时器之间的当前偏移是 36 秒。插入或删除跳秒时的偏移会改变,这通常每几年发生一次。如果不使用 -
选项手动设置这个偏移,如下所示:
w,则需要使用 -
O
~]# phc2sys -s eth3 -O -36
当 phc2sys servo 处于锁定状态后,除非使用 -S
选项,否则时钟不会受到影响。这意味着 phc2sys 程序应在 ptp4l 程序同步了 PTP
硬件时钟后启动。但是,使用 -w
时,在 ptp4l 后不需要启动 phc2sys,因为它将等待它同步时钟。
phc2sys 程序也可以作为服务启动:
~]# systemctl start phc2sys
作为服务运行时,可在 /etc/sysconfig/phc2sys
文件中指定选项。有关不同 phc2sys 选项的更多信息,请参见 phc2sys(8)man
page。
请注意,本节中的示例假定 命令在从系统或从端口上运行。