TripleO PTP (精确时间协议) 支持¶
https://blueprints.launchpad.net/tripleo/+spec/tripleo-ptp
本文档介绍对一种称为 PTP [0] 的时间同步方法的支持,该方法通常比 NTP 提供更好的时间精度。在主机上支持硬件时间戳的情况下,PTP 可以实现亚微秒级的时钟精度,使其适用于测量和控制系统。
问题描述¶
目前 tripleo 默认部署 NTP 服务,提供毫秒级的时间精度,但这对于某些场景而言是不够的
故障/错误事件将包含放置在关联事件消息上的时间戳,由检测器检索,目的是准确识别事件发生的时间。考虑到目标故障管理周期的时间线在大多数关键故障上为几十毫秒,如果时钟同步的精度和准确性处于相同的精度水平,事件排序可能会相对于实际时间反转。
NFV C-RAN (云无线接入网络) 正在寻找更好的时间同步和分布,精度达到微秒级,作为 NTP 的替代方案,PTP 已被评估为其中一种技术。
本文档不打算涵盖 PTP 的所有可能用法,而是提供在 tripleo 中部署 PTP 的基本路径,默认配置设置为支持 PTP 普通时钟(从模式);主模式 ptp 时钟配置不在本文档的范围内,但应由用户部署以提供 PTP 普通时钟的时间源。可以根据本文档进一步增强 PTP 功能的全面支持。
用户应意识到,在没有像 linuxptp 包提供的 timemaster 这样的协调程序的情况下,不能在同一节点上同时配置 NTP 和 PTP。如何配置和使用 timemaster 不在本文档的范围内。
提议的变更¶
概述¶
提供将 PTP 配置为时间同步方法的能力
在 overcloud 资源注册表中添加 PTP 配置文件路径。
添加用于 PTP 服务的 puppet-tripleo 配置文件。
添加 tripleo-heat-templates 可组合服务用于 PTP。
保留当前默认行为,将 NTP 作为时间同步源部署
NTP 服务保持不变,作为默认时间同步方法。
必须在部署 PTP 的节点上禁用 NTP 服务。
替代方案¶
另一种选择是继续使用 NTP。
安全影响¶
需要考虑由 PTP 引起的安全性问题。
其他最终用户影响¶
用户将从 PTP 获得更准确的时间。
性能影响¶
对默认部署模式没有影响,该模式使用 NTP 作为时间源。
其他部署者影响¶
希望使用 PTP 的操作员应识别并提供 PTP 兼容的网络接口名称,并确保 NTP 未部署在将部署 PTP 的节点上。默认 PTP 网络接口名称设置为“nic1”,用户应根据实际接口名称进行更改。默认情况下,除非显式配置,否则不会部署 PTP。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
zshi
工作项¶
用于 PTP 服务的 Puppet-tripleo 配置文件
用于 PTP 部署的 Tripleo-heat-templates 可组合服务
依赖项¶
用于 PTP 服务的 Puppet 模块:ptp [1]
必须安装 linuxptp RPM,并且必须识别 PTP 兼容的 NIC。
请参阅 linuxptp 项目页面 [2] 以获取支持 PHC (物理硬件时钟) 子系统的驱动程序列表。
测试¶
PTP 的部署应可在 CI 中进行测试。
文档影响¶
部署文档需要更新,以涵盖 PTP 的配置。