是否可以虚拟化实验性 NTP 时间偏移的时钟?

tu-*_*duh 5 linux date-time ntp virtual-machine

我有一个项目希望强制一组私有 NTP 服务器的时间来演示 NTP(和我们的软件)如何对各种时间变化和差异、网络延迟等做出反应。

通常,我们会建立一个虚拟机网络来演示我们的软件,但我似乎无法找到一个允许 NTP在每个 VM 中独立运行的网络。为此,我们需要一个软件时钟。

到目前为止,我已经看过:

  • Docker - 将它们的时钟与主机的硬件时钟联系起来,特权是一个问题,但主要问题是,如果时钟更改,则该主机上所有 VM 中运行的所有时钟都会更改。

  • VirtualBox -这个答案表明,即使有来宾添加,缺少高分辨率时钟也会使这成为不可能。

是否有任何软件可以为 NTP 虚拟化硬件时钟,或者同时在同一台机器上运行独立时钟?

dfc*_*dfc 3

不清楚您是否感兴趣

  • ntp 在某些情况下的行为方式。

  • 您的软件因时间变化而表现如何,并且您已经决定引入这些时间变化的最佳方法是摆弄 ntp。

如果您只是对前者感兴趣,请查看 ntpdsim。它是 ntp 参考实现的一部分:

ntpdsim 程序用于模拟和研究 NTP 守护程序的行为,该守护程序从许多不同的模拟时间源(服务器)中获取时间。每个模拟服务器都可以配置为具有不同的时间偏移、频率偏移、传播延迟、处理延迟、网络抖动和振荡器漂移。

如果您对后者感兴趣,请使用 ntpdsim 来查看您的 ntp 服务器将如何对更改做出反应。然后获取此信息并使用 cronjob 或类似的东西根据您从 ntpdsim 运行中了解到的信息修改虚拟机上的时钟...

https://www.eecis.udel.edu/~mills/ntp/html/ntpdsim_new.html