将 NTP 服务器置于虚拟 IP 后面是不是一个不好的做法?(VRRP)
如果让客户端直接与这两个实例对话,那会有多好呢?
由于 NTP 客户端保留服务器的 refid,我认为它会区分何时交换 IP 后面的服务器,但我不确定它会如何影响其行为。
答案1
在我最初的评论之后,我给出了一个稍微长一点的回答。
根据经验法则,当协议本身或该协议的常见实现已经原生支持弹性、高可用性和故障转移时,您不需要在基础设施级别提供这些功能。
(除非你使用案例做需要他们...)
负载平衡和集群是有用的技术,但它们也需要专家的维护,而且我见过的高可用性集群灾难性崩溃的次数比管理员同时破坏两个不同的服务器的次数要多得多。
对于 NTP,您可以向客户端提供单个 NTP 服务器,或者最优地你配置4或者更多...
Ntpd 需要大多数服务器就时间达成一致才能同步。
如果你只有一台服务器,该服务器将要值得相信。这样做的好处是,至少您的所有系统都将设置为相同(尽管可能不正确)的时间,并且您仍然可以关联安全事件并依赖与时间相关的协议,例如 Kerberos。
如果你有负载均衡器后面有两台服务器您的客户端的行为就像只有一个 NTP 服务器一样。如果这两个后端服务器上的时间不同(取决于您的负载平衡算法),则您的一半服务器将使用与其他服务器完全不同的日期,或者您可能会在发生故障转移时看到时间的随机跳跃。
如果你配置了多个 NTP 服务器,那么大多数(如果不是全部)NTP 客户端实现都能够(如果你配置了足够的服务器)区分“假股票行情”并通过多数票来忽略它。