华为云 ECS 服务器时间不准怎么办?用 Chrony 快速解决
一、问题背景
在使用华为云 ECS 云服务器时,有时候会发现服务器的时间不太对。
比如,网站日志显示的时间和实际时间对不上,或者定时任务没有在预期的时间执行。
这类问题通常可以先从两个方面排查:一个是服务器时区设置不正确,另一个是系统时间没有正常同步。
下面介绍几个简单的检查和处理方法。
二、检查服务器当前时间
首先,通过 SSH 登录华为云 ECS 服务器,执行:
date
这个命令可以查看当前系统时间。
如果发现时间不对,再执行:
timedatectl
可以查看服务器的本地时间、UTC 时间、时区和时间同步状态。
如果只是时区设置不正确,可以根据实际需要修改。例如,设置为北京时间:
sudo timedatectl set-timezone Asia/Shanghai
修改后重新执行 date,检查显示时间是否正确。
注意:修改时区只会影响时间的显示方式,并不能解决系统时钟本身不准确的问题。
三、检查 Chrony 时间同步状态
Chrony 是 Linux 系统中常用的时间同步工具。
部分华为云 ECS 公共镜像已经默认配置了 Chrony,不需要重复安装。
以使用 chronyd 服务的 Huawei Cloud EulerOS、CentOS 等系统为例,先检查服务状态:
systemctl status chronyd
如果显示 active (running),说明服务正在运行。
接着执行:
chronyc sources -v
这个命令可以查看当前使用的时间同步服务器。
如果结果中出现 ^*,通常表示已经成功选定同步源。
四、配置华为云 NTP 服务器
如果 Chrony 没有正常同步,可以检查 NTP 服务器配置。
华为云提供的 NTP 服务器地址为:
ntp.myhuaweicloud.com
该服务供符合条件的华为云 ECS 使用,并且需要配合华为云内网 DNS。
对于使用 /etc/chrony.conf 的系统,可以执行:
sudo vi /etc/chrony.conf
检查配置文件中的时间服务器地址。需要修改时,可以使用:
server ntp.myhuaweicloud.com minpoll 4 maxpoll 10 iburst
保存配置后,重启 Chrony:
sudo systemctl restart chronyd
设置开机自动启动:
sudo systemctl enable chronyd
最后再次查看同步状态:
chronyc sources -v
如果刚刚修改配置,可能需要等待几分钟才能看到正常同步结果。
五、还是无法同步怎么办?
如果执行完以上操作仍然无法同步,可以继续检查:
-
DNS 是否正常:确认服务器能够解析
ntp.myhuaweicloud.com。 -
网络是否正常:检查访问 NTP 服务所需的 UDP 123 端口是否被网络策略限制。
-
服务是否启动:再次执行
systemctl status chronyd,确认没有启动失败的问题。
另外,不同 Linux 发行版的 Chrony 服务名称和配置路径可能不同,操作时需要以实际系统为准。
六、总结
华为云 ECS 服务器出现时间不准确的问题,可以按照下面的顺序检查:
首先使用 date 和 timedatectl 查看时间和时区,再使用 chronyc sources -v 检查时间同步状态。如果同步异常,再检查 NTP 配置和网络连接。
一般来说,先确认问题原因,再修改配置,比直接手动调整系统时间更稳妥。
对于运行网站、数据库和定时任务的服务器,保持系统时间准确也很重要。
- 点赞
- 收藏
- 关注作者
评论(0)