- 我是游泳池的明显负担吗?即,如果我从20台服务器或2台服务器访问,它对池有什么明显的影响?
考虑到池多年来一直需要服务器(请参阅[1]),我想说,尽管2或20台服务器并没有真正起作用,但您应该始终记住自己并不孤单。因此,您最好考虑说1000位管理员,在这种情况下,我们要使用2000或20000台服务器,这确实有所作为。
- 如果确实有所不同,什么设置/配置可以使我的子网保持同步,并且池在轻负载下保持同步?
您必须将网络中的两台[2]服务器与该池同步(我们称它们为“ 主NTP服务器”),然后将所有其他服务器同步到这两台服务器。此方法还具有优势,所有服务器之间的时间将更紧密地匹配(不到1毫秒)。这符合IETF的最佳做法。
1)主NTP服务器的配置
将ntp [d] .conf 的server
和restrict
行替换为以下内容,并将其余部分保留为默认的发行版[3]:
server 10.11.12.1 iburst peer
# ^^^^^^^^^^^
# The LAN IP of the _other_ Primary NTP server
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
请注意,此配置还允许来自Internet的主机通过NTP查询来查询您的主机时间。如果您不想使用防火墙。在我的示例中,10.11.12.1和10.11.12.2是主NTP服务器的IP(它们有两个网卡,一个面向公共Internet,一个面向本地10.11.12.x子网)。每个主NTP服务器都有另一个被声明为对等方(对等体基本上意味着服务器和客户端-您将另一台主机用作时间源,另一台主机也将您用作时间源)。因此,请在第一行上调整IP,以便每个主NTP服务器的配置都指向另一个作为对等方。有关选择使用4台服务器的信息,请参见[4]。
2)所有其他服务器的配置
2A)如果您有两个网络接口
您最好使用第二个接口来创建本地子网(例如10.11.12.0/24
),并将其用于NTP查询。在这种情况下,限制线可能会更紧。因此,再次将ntp [d] .conf 的server
和restrict
行替换为以下内容,并将其余部分保留为默认的发行版[3]:
restrict -4 default ignore
restrict -6 default ignore
restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
2B)如果您没有两个网络接口
您应该使用下面的限制行(并阅读上面有关使用防火墙阻止对NTP服务器的访问的注意事项)。因此,再次将ntp [d] .conf 的server
和restrict
行替换为以下内容,并将其余部分保留为默认的发行版[3]:
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
笔记
[1]从2006年到2012年,他们不断要求加入更多服务器:2006年,2009年和2012年。检查www.pool.ntp.org以获取当前状态的更新。
[2]仅建议使用两个主NTP服务器作为具有冗余的简单方法,而无需复杂的高可用性安排。您可能出于其他原因选择3或4(再次阅读IETF最佳做法)
[3]实际上,无论您的发行版是什么,您需要在ntpd配置中包括的唯一其他内容是定义一行放置漂移文件的目录及其名称的行-例如driftfile /var/lib/ntp/ntp.drift
。我已经在CentOS,Debian和Ubuntu中测试了我的解决方案。我猜它可以在大多数其他发行版中使用。
[4]我已按照最佳做法配置了4个池服务器。从技术上讲,配置4台以上的服务器是可以接受的,但是您会增加NTP池的负载,以获取可疑的可用性,因此不要这样做。在最佳实践中,我看到“从ntp-4.2.6开始,'pool'指令将旋转“足够的”关联以提供可靠的时间服务“,因此,如果使用.pool。像我在这里处理的一样,并且ntp> = 4.2.6可以确定服务器行的确切数量可能无关紧要。
ant哦!我讨厌NTP(除了我喜欢它可以工作)。官方文档中充斥着过时的信息,并且具有“我该如何使用它”?信息以及有关内部原理的科学细节。我也讨厌restrict 127.0.0.1
真正的意思allow everything for 127.0.0.1
更新历史
我已经iburst
从本地NTP服务器的配置中删除了该选项,因为它们对池的友好性值得商bat。(看评论)。删除它们只会为第一次同步增加几分钟的等待时间。
学分
SF用户Marki和Sven的评论和答案为该答案提供了一个很好的起点。多亏了他们两个。
peer
关系。例如见ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101