ESXi 虚拟机 NTP 服务器

ESXi 虚拟机 NTP 服务器

我们需要设置一个内部 NTP 服务器。由于该服务器几乎只用作时间服务器,所以我考虑为其创建一个 VM。但是,通过 Google 搜索发现 VM 服务器可能存在严重的时钟漂移问题。那么,在 VM 中运行我们的 NTP 服务器是不是一个完全愚蠢的想法?

谢谢,约翰

答案1

时间在虚拟机内部可能存在问题,但同样,如果操作正确,可以像物理机器一样准确。这可能看起来很奇怪,但我非常喜欢使用我的交换机(在我的世界中始终是思科)作为我的 NTP 源 - 它们不仅易于设置,而且它们通常还具有作为您的 DG 的便利优势 - 看看您的交换机是否也可以做到这一点。

答案2

(这个问题可能更适合 StackOverflow 的姊妹网站 ServerFault.com。)

是的,与物理硬件相比,托管虚拟机上的时钟漂移可能更为剧烈。(通常,您会将 VMware 主机服务器设置为与您选择的 NTP 服务器同步,然后让每个虚拟机中的 VMware Tools 与其父主机同步。)但我不确定这是否是避免使用虚拟 NTP 服务器的原因...

另一方面,您是否考虑过其他选择?例如,NTP 是一种轻量级服务,可以将其添加到几乎任何其他生产服务器而不会增加负载。(如果您有一个 Windows 域,您的一个 Active Directory 控制器已经充当域成员的 NTP 服务器。)或者,是否可以使用 Internet 上的现有 NTP 服务器(请参阅http://www.pool.ntp.org/en/以获得一份巨大的列表)?

答案3

一般来说,在虚拟机上运行权威 NTP 服务器是非常坏主意。让虚拟机拥有一致准确的时间(精确到秒)就已经非常困难了。

您确实需要在某种金属上运行它,但正如 ewall 所说,它通常是一种轻量级服务(如果它仅供内部使用)。我们通常将它与已经在硬件上运行的其他类型的服务器相结合,例如 DHCP 或 DNS 服务器。

设置至少两个,使它们彼此对等,并将它们同步到一组已知的良好服务器。这些服务器可能取决于您所在的位置;请及时与您的 ISP、国家主管部门等核实。Pool.ntp.org 可能还行,也可能不够好,这取决于您的要求。

答案4

錯? 您是在尝试生成正确时间管理的证据,还是仅仅想校准一组机器?生成证据的过程非常不同,现有系统(包括单独作为守护进程运行的 NTP)都无法提供证据。

至于虚拟化平台,它们的虚拟化管理器和运行时框架将它们从现实中抽象出来,因此期望它们将实时信息传递给调用进程是愚蠢的。此外,如果虚拟化环境设计得当,其中的时间数据就无关紧要了,因为虚拟化系统将记录到固定的现实世界日志系统作为其基础设施,因此真正的问题是日志条目何时由记录器输入到系统中。它生成了可证明的事件序列。

一个解决方案 您可以按照我今天向客户推荐的方式进行操作 - 对 VM 实例进行编程,使其从预定义源进行基于拉取的时间设置,方法是将源地址编码到注册表中的 NTP 服务器关键字段中,然后更改注册表中的轮询值,使客户端每分钟刷新一次其时间。这样做的效果是每分钟在两个单独的日志实例中创建一个事件日志条目,确保存在可控的跟踪。那么谁会关心 AD 或 VM 的状态唤醒过程会做什么呢

您需要一个合作伙伴来使 NTP 正常工作。 至于证据问题 - NTP 必须与已知来源建立合作关系才能可靠。它是一种基于 UDP/IP 的协议,在实际保护传输数据方面功能有限。它还容易受到许多简单攻击,如中间人或重放类型的攻击。因此,如果您将其用作证据,它确实需要一个合作伙伴和一个拥有预先批准的操作模板的人。

我可以谈谈 NTP 以及它目前被滥用和误解的地方,以及它提供的证据。但话虽如此,只要与 NTP 提供商进行一些合作和巩固,NTP 就可以被用作可靠的证据来源。

相关内容