运行公共NTP服务器时要考虑的事项


21

因此,最近我想到,由于我的网络中有3个GPS时钟,因此从技术上讲,我可以回馈一点并为世界其他地方服务。到目前为止,我还没有看到这种想法的任何缺点,但是我有以下问题:

  1. 我可以虚拟化吗?我不会花时间和金钱来购买硬件,因此虚拟化是必须的。由于服务器将可以访问三个第1层源,因此如果ntpd配置正确,我将看不到这可能是一个问题。

  2. 公共NTP服务器(属于pool.ntp.org的一部分)通常会看到哪种流量?我需要多大的VM?据我所知,ntpd不应占用太多资源,但我想事先知道。

  3. 这有哪些安全方面的内容?我正在考虑仅在DMZ中的两个VM上安装ntpd,仅允许通过固件进入ntp,并且仅将ntp从DMZ导出到内部ntp服务器。根据NTP池页面,似乎还推荐了一些ntp设置,但这足够吗?https://www.ntppool.org/join/configuration.html

  4. 他们建议不配置LOCAL时钟驱动程序,这是否等同于从配置文件中删除LOCAL时间源配置?

  5. 还有什么需要考虑的吗?

Answers:


22

首先,对你有好处;这是一件很有帮助且受公众欢迎的事情。话虽如此,并请您澄清一下,您正计划创建一个或多个DMZ虚拟机,这些虚拟机将与三台启用Meinberg GPS的Stratum-1(内部)服务器同步并向公众公开:

  1. 编辑:虚拟化不时出现在池列表中进行讨论;最近一次是在2015年7月,可以从此电子邮件开始关注。项目负责人AskBjørnHansen确实发布了话题,并且没有反对虚拟化。显然,现在有许多池服务器运营商正在虚拟化,因此我认为没有人会为您开枪,而且正如一位海报人士所言,如果您的服务器不可靠,池监控系统将只是从服务器中删除它们。池。KVM似乎是首选的虚拟化技术。我没有找到专门使用VMWare的人,因此无法评论虚拟化的“诚实”程度。 也许关于该主题的最佳总结

    我的池服务器在自己的KVM主机上使用KVM虚拟化。监控说,该服务器非常准确,并且可以提供最近2-3年的稳定时间。但是我不会在其他提供商租用的虚拟服务器上设置池服务器。

  2. 这是过去一年中我在池服务器(位于英国,欧洲和全球区域)上看到的每秒平均独立客户端的每日数量:

    ntp客户数

    这几乎没有施加可检测的系统负载(ntpd大多数情况下,似乎使用1%到2%的CPU)。请注意,在一年中的某个时候,负载短暂地达到了峰值,每秒达到近千个客户端(最大值:849.27);我确实监视着是否有过多的负载,并且警报并没有全部消除,所以我只能指出,即使是这种负载水平也不会造成问题,尽管只是短暂的。

  3. 项目推荐的配置是最佳实践,可以为我工作。我还iptables习惯于在滚动的十秒窗口中将客户端速率限制为两个入站数据包(令人惊讶的是,那里有多少个粗鲁的客户端,他们认为他们应该自由地爆发以便快速设置自己的时钟)。

  4. 或删除所有以开头的引用服务器地址的行127.127

  5. 最佳做法指南还建议使用三个以上的时钟,因此,除了三个Stratum-1服务器之外,您可能还需要选择几个其他公共服务器或特定的池服务器。

    我还要注意,如果您打算将这两个VM放在相同的主机硬件上,则可能应该只运行一个,但是将向池声明的带宽增加一倍(即,接受两倍的查询) )。


1
iburst默认情况下设置了许多Linux发行版...
Michael Hampton

4
iburst我不太介意,因为它仅在服务器无法访问时才适用。burst但是,设置是彻头彻尾的反社会行为。
MadHatter支持Monica

1
谢谢队友,正是我想知道的!澄清一下,我在这些操作系统下运行VMware,它是一个分布式群集。我的内部时钟是Meinberg设备,它们幼稚地讲NTP。负载似乎很合理,我的内部时钟看到的频率大约是它的两倍(但是再一次,它们在那里,以便我的设备可以像他们所希望的那样反社会化)。
Stuggi '16

@Stuggi我试图通过搜索池操作员列表来澄清虚拟化问题,希望对您有所帮助。如果您认为所有问题都得到解决,请随时接受我的回答!再次感谢您运行池服务器。
MadHatter支持Monica

1
@MadHatter干杯,它清除了一些。以前,我不得不在VMware上处理很多时间问题,并且确实知道如何处理这些问题,我只是担心,即使在调整了所有内容之后,VM对于NTP的计时仍然还是很糟糕。VMware是裸机管理程序(又称管理程序是操作系统),而KVM(如果我没记错的话)运行在“常规”操作系统之上,因此在VMware中运行它应该很好。我将尝试一下,看看是否会被扔出泳池!:)
Stuggi '16

12

首先,祝贺一个非facepalm实质的NTP问题。:-)我在这篇文章的底部提供了一些图表,以使您对事物有所了解。在池控制面板中,有问题的VM设置为100 Mbps,并且在英国,欧洲和全球池中均已设置。

  1. 我认为MadHatter涵盖了这一方面-虚拟化应该很好。就像您说的那样,如果它们是从与GPS连接的第1层提供的,则它们应该相当坚固。以我的经验,就频率而言,虚拟机往往比裸机跳动(请参见下图),但这就是您所期望的-它们正在处理时钟仿真层(希望非常高效)并且可能有噪声邻居。如果您不想看到这种变化,可以改用较旧的服务器或未使用的台式机作为DMZ层2s。

  2. 该VM是1核,2 GB RAM,运行在OpenStack(KVM管理程序)中虚拟化的Ubuntu 16.04 LTS。如您所见,RAM略高于顶部。

  3. 推荐的设置-包括未配置本地驱动程序-是Ubuntu 16.04的默认设置。除了同级列表以外,我的运行非常接近库存配置。

  4. (往上看)

  5. 我可能会从较低端开始带宽,并在监视了一点带宽后逐渐增加带宽。如果就网络延迟而言,您的VM彼此相邻且在第1层附近,那么我可能会让所有VM与所有第1层进行对话,并且可能彼此建立对等关系并打开孤立模式。

这是图表-它们都涵盖了大约3个星期的相同时间段,但网络(由于备份而导致峰值)的时间除外。当网络高峰出现时,我什至看不到正常的NTP流量,因此我放大了一点以显示通常的背景。

CPU 中央处理器 内存记忆 网络网络 频率频率 系统偏移系统偏移


哦,很好的答案-我+1了!
MadHatter支持Monica

1
谢谢伙伴,还有很多真正有用的东西,我在虚拟机和物理NTP设备之间运行的延迟少于3毫秒,这在地理上分布在虚拟机基础架构的50英里之内,所以我认为可以!
Stuggi '16

3

NTP需要考虑的一些事项

这里已经有很好的答案了。我只是根据自己的经验添加一些想法以求完整性。

我建议在裸机与VM上启用NTP日志记录和图形时钟偏斜以及更正,因为这与该讨论有关,如果这是一个问题。我不相信这会很容易地推广,因为实现之间的硬件和配置会有所不同。最好在那个号码上得到自己的号码。

我一直建议人们选择具有相当恒定的CPU时间并且不是无节拍内核或启用了节能模式的服务器或网络设备的系统角色。尤其要避免守护进程在CPU服务器上使用cpuspeed或speed govenors,或者避免在NTP服务器上进行高级节能,即使它们只是服务器场中的第2层。永远不要比C状态1更深入地获得一些稳定性,但是功耗会增加。

我还尝试确保人们选择距离网络边缘不到40ms的少数第1层服务器,然后将它们划分到您的边缘NTP服务器上,并确保网络中同一SNAT后面没有2个服务器在通话到同一第1层服务器。沿着与相同的burst思路,在同一个SNAT后面使用相同的上游服务器部署多个服务器是不明智的,因为在它们看来,即使您没有启用突发功能,它们也已启用。

您应该始终兑现kod来自上游服务器的数据包,并使用监视工具检查上游服务器的时间偏移和可达性。

可能要考虑在少数几个数据中心中拥有自己准确的时间源,以便在军方启用GPS SA的不太可能的情况下查看或回退。有专门用于此目的的具有成本效益的设备。即使您处于“笼式”环境中,并且没有自己的数据中心,某些托管设施也可能适合这种情况。


Stuggi已经提到该网络有3个GPS时钟。
保罗·

是。我特别是在谈论使用本地铯钟,在GPS禁用的情况下,这种钟不会漂移。那应该只发生在大规模的军事事件中,但是你永远不会知道。
亚伦

2

请参阅http://www.vmware.com/pdf/vmware_timekeeping.pdf上的vmware计时文档

在VM中运行NTP守护程序可能不是一个好主意,尤其是在需要可靠时间的情况下。


3
尽管不是一个精确的答案,但这引起了一个有效的关注,例如“ TL; DR:是的,关于虚拟化还有很多问题要解决”。
rackandboneman's

我知道需要解决的问题,我在想是否有可能。
Stuggi '16

1
回复:“在VM中运行NTP守护程序可能不是一个好主意,尤其是在需要可靠时间的情况下。” -我认为这对于任何现代虚拟机管理程序都是不正确的。您链接到的文档特别指出,在VM中使用NTP是一种选择。我在响应中包含的图表表明,虚拟机可以在KVM上保持良好的运行状态,我希望新的ESXi系统也能做到这一点。
Paul Gear

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.