20.10. 使用 timemaster 同步到 PTP 或者 NTP Time
如果网络上有多个 PTP
域,或者需要回退到 NTP
,则 timemaster 程序可用于将系统时钟同步到所有可用的时间源。PTP
时间由 phc2sys 和 ptp4l 通过 共享内存驱动程序 提供(SHM 参考时钟到 chronyd
或 ntpd
(取决于系统上配置的 NTP
守护进程)。然后 NTP
守护进程可以比较所有时间源,包括 PTP
和 NTP
,并使用最佳源来同步系统时钟。
启动时,timemaster 会读取指定 NTP
和 PTP
时间源的配置文件,检查哪些网络接口具有自己的或共享 PTP
硬件时钟(PHC),为 ptp4l 和 chronyd
或 ntpd
生成配置文件, 并根据需要启动 ptp4l、phc2sys 和 chronyd
或 ntpd
进程。它将在退出时删除生成的配置文件。它将 chronyd
、ntpd
和 ptp4l 的配置文件写入 /var/run/timemaster/
。
20.10.1. 启动 timemaster 即服务
要启动 timemaster 作为服务,以 root
身份运行以下命令:
~]# systemctl start timemaster
这将读取 /etc/timemaster.conf
中的选项。有关在 Red Hat Enterprise Linux 7 中管理系统服务的详情请参考 第 10 章 使用 systemd 管理服务。
20.10.2. 了解时间 master 配置文件
Red Hat Enterprise Linux 提供了一个默认的 /etc/timemaster.conf
文件,其中包含包含默认选项的多个部分。部分标题括在方括号中。
要查看默认配置,请使用以下命令:
~]$ less /etc/timemaster.conf # Configuration file for timemaster #[ntp_server ntp-server.local] #minpoll 4 #maxpoll 4 #[ptp_domain 0] #interfaces eth0 [timemaster] ntp_program chronyd [chrony.conf] include /etc/chrony.conf [ntp.conf] includefile /etc/ntp.conf [ptp4l.conf] [chronyd] path /usr/sbin/chronyd options -u chrony [ntpd] path /usr/sbin/ntpd options -u ntp:ntp -g [phc2sys] path /usr/sbin/phc2sys [ptp4l] path /usr/sbin/ptp4l
请注意如下部分:
[ntp_server address]
这是 NTP
服务器部分"ntp-server.local"的示例,是本地 LAN 上 NTP
服务器的主机名示例。根据需要添加更多部分,将主机名或 IP 地址
用作小节名称的一部分。请注意,示例中的简短轮询值不适合公共服务器,请参阅 第 19 章 使用 ntpd 配置 NTP 了解合适的 minpoll 和
值的说明。
maxpoll
请注意如下部分:
[ptp_domain number]
"PTP 域"是一个或多个 PTP
时钟的组,它们相互同步。它们不一定同步到另一个域中的时钟。使用相同域编号配置的时钟组成了域。这包括一个 PTP Pu
master 时钟。每个"PTP 域"部分中的域编号需要与网络上配置的 PTP
域之一对应。
每个接口都启动 ptp4l 实例,该接口具有自己的 PTP
时钟,并且硬件时间戳会自动启用。支持硬件时间戳的接口附加了 PTP
时钟(PHC),但 NIC 上的一组接口可共享 PHC。将为共享同一 PHC 的每个接口以及仅支持软件时间戳的每个接口启动单独的 ptp4l 实例。所有 ptp4l 实例都配置为作为从设备运行。如果在多个 PTP
域中指定了硬件时间戳的接口,则只有创建的第一个 ptp4l 实例才会启用硬件时间戳。
请注意如下部分:
[timemaster]
默认 timemaster 配置包括系统 ntpd
和 chrony 配置(/etc/ntp.conf
或 /etc/chronyd.conf
),以包含访问限制和身份验证密钥的配置。这意味着,指定的所有 NTP
服务器都将与 timemaster 一起使用。
部分标题如下:
-
[ntp_server ntp-server.local]
- 指定此服务器的轮询间隔。根据需要创建其他部分。在小节标题中包含主机名或IP 地址
。 -
[ptp_domain 0]
- 指定为此域配置了PTP
时钟的接口。根据需要,使用相应的域号创建其他部分。 -
[timemaster]
- 指定要使用的NTP
守护进程。可能的值有chronyd
和ntpd
。 -
[chrony.conf]
- 指定要复制到为chronyd
生成的配置文件的任何额外设置。 -
[NTP.conf]
- 指定要复制到为ntpd
生成的配置文件的任何其他设置。 -
[ptp4l.conf]
- 指定要复制到为 ptp4l 生成的配置文件中的选项。 -
[chronyd]
- 指定命令行上要传递给chronyd
的任何其他设置。 -
[ntpd]
- 指定命令行上要传递给ntpd
的任何其他设置。 -
[phc2sys]
- 指定要在命令行中传递给 phc2sys 的任何其他设置。 -
[ptp4l]
- 指定命令行上要传递给所有 ptp4l 实例的任何其他设置。
部分标题和其内容在 timemaster(8)手册页
中详细讨论。
20.10.3. 配置 timemaster 选项
编辑 timemaster 配置文件
要更改默认配置,打开
/etc/timemaster.conf
文件以root
用户身份编辑:~]# vi /etc/timemaster.conf
-
对于您要使用 timemaster 控制的每个
NTP
服务器,创建[ntp_server address]
部分。请注意,示例部分中的简短轮询值不适合公共服务器,请参阅 第 19 章 使用 ntpd 配置 NTP 了解合适的minpoll 和
值的说明。maxpo
ll 要添加域中应该使用的接口,编辑
#[ptp_domain 0]
部分并添加接口。根据需要创建其他域。例如:[ptp_domain 0] interfaces eth0 [ptp_domain 1] interfaces eth1
-
如果需要将
ntpd 用作
此系统上的 NTP
守护进程,请将[timemaster]
部分中的默认条目从chronyd 改为
ntpd
。有关 ntpd 和 chronyd 之间的区别,请查看 第 18 章 使用 chrony 套件配置 NTP。 -
如果在此系统上使用
chronyd
作为NTP
服务器,请在默认选项下方添加任何附加选项,在[
条目。如果已知到chrony.conf] 部分中包含 /etc/
chrony.conf/etc/chrony.conf
的路径已更改,请编辑默认include
条目。 -
如果在此系统上使用
ntpd
作为NTP
服务器,请在默认选项下方添加任何附加选项,在[
条目。如果已知到ntp.conf] 部分中包含 /etc/
ntp.conf/etc/ntp.conf
的路径已更改,请编辑默认include
条目。 -
在
[ptp4l.conf]
部分中,添加要复制到为 ptp4l 生成的配置文件的任何选项。本章记录了常用选项和更多信息,请参见ptp4l(8)手册页
面。 -
在
[chronyd]
部分中,添加 时间master 调用时要传递给chronyd
的任何命令行选项。有关使用chronyd
的详情,请查看 第 18 章 使用 chrony 套件配置 NTP。 -
在
[ntpd]
部分中,添加 时间master 调用时要传递给ntpd
的任何命令行选项。有关使用ntpd
的详情,请查看 第 19 章 使用 ntpd 配置 NTP。 -
在
[phc2sys]
部分中,添加任何要传递给 phc2sys 的命令行选项(如果 时间master 调用 )。本章记录了常用选项和更多信息,请参见phy2sys(8)手册页
面。 -
在
[ptp4l]
部分中,添加任何要传递给 ptp4l 的命令行选项(如果被 timemaster 调用 )。本章记录了常用选项和更多信息,请参见ptp4l(8)手册页
面。 以
root
用户身份运行以下命令保存配置文件并重启 timemaster :~]# systemctl restart timemaster