我需要在我的 EC2 实例中运行 ntpd 吗?

我需要在我的 EC2 实例中运行 ntpd 吗?

我正在努力让一些服务器在 EC2 环境中运行,并且我注意到 ntpd 尝试同步(使用 CentOS)时出现一些错误。

我正在阅读这个网站,我的印象是我不需要运行 ntpd,因为 EC2 是 Xen,并且主机负责虚拟服务器的时间。
http://support.ntp.org/bin/view/Support/KnownOsIssues

这是准确的吗?或者我需要弄清楚如何解决我遇到的错误?
cap_set_proc() 无法放弃 root 权限
它看起来涉及构建一个新内核和其他一些如果没有必要我宁愿不做的事情。

答案1

您不需要。您的 EC2 实例的时钟将与 Xen Dom0 同步。您可以通过检查内容是否为/proc/sys/xen/independent_wallclock0 来验证这一点。

答案2

是的,您需要运行 ntpd。

在 EC2 微型实例(运行 Ubuntu UEC Maverick)上,我的时钟错了 18.5 秒,正常运行时间为 5 天。

关闭并重新启动后,一切恢复正常,因此似乎存在某种漂移。

顺便说一句,尽管这么/sys/devices/system/clocksource/clocksource0/current_clocksourcexen。我不确定为什么它不起作用。

安装 ntp 包帮我解决了这个问题。时钟保持准确,系统日志中没有任何可疑信息表明与 Xen 的时钟同步存在冲突。(它使用 ntp.ubuntu.com 作为服务器。我不确定 AWS 网络中是否有可以替代的 NTP 服务器,但目前 Ubuntu 服务器就足够了。)

更新:我最近发现,在我的(较新的?)实例上,即使没有运行 ntp,时钟也会自动保持准确。但从评论来看,似乎并不是每个人都是这种情况,所以最好还是使用 ntp,以防万一。

答案3

我们运行从小型到超大型的 Linux ec2 实例,我只是检查了一下以确保它们同步。

所有服务器都运行连接到亚马逊特定池的 ntp 守护程序。

server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst

在出现错误之前可能并非如此,我只是想确保将来偶然发现此问题的人都能获得最新的信息。

答案4

您必须在所有实例上配置 ntpd。如果您不知道服务器的时间将要开始漂移。

您必须允许 UDP 123 进入公共互联网,如用户指南中所述配置网络时间协议

如果您的实例位于 VPC 内,您可能希望专门指定一个实例作为您的 NTP 服务器,只将该实例公开到互联网并让其他实例与其同步。

相关内容