esxi和ubuntu时间同步
Ubuntu 上使用 chrony
并配置阿里云的时间服务器作为上游时间源,以下步骤进行设置。
1. 安装 chrony
首先,确保系统已安装 chrony
:
1 | sudo apt update |
2. 配置 chrony
编辑 chrony
的配置文件 /etc/chrony/chrony.conf
:
1 | sudo nano /etc/chrony/chrony.conf |
在配置文件中,找到或添加以下内容,将默认的时间服务器条目替换为阿里云的时间服务器:
1 | # 注释掉默认的时间服务器条目 |
在这里,iburst
选项用于加速首次时间同步。
注释或删除不必要的配置项
- 如果你不需要使用 Ubuntu 默认提供的 NTP 服务器,或不需要通过 DHCP 获取时间源,可以将这些相关配置项注释掉或删除,保持配置文件简洁。例如:
1 | #Use time sources from DHCP. |
3. 启动并启用 chrony
完成配置后,重启 chrony
服务,并将其设置为开机启动:
1 | sudo systemctl restart chrony |
4. 验证配置
可以通过以下命令查看 chrony
是否正确同步到阿里云的时间服务器:
1 | chronyc sources -v |
输出的结果应当显示 ntp.aliyun.com
作为时间源,并且同步状态应为正常。
5. 确保防火墙允许 NTP 流量
如果你的服务器有启用防火墙(如 ufw
),需要确保允许 NTP 流量(UDP 123 端口):
1 | sudo ufw allow 123/udp |
==============
手动更改esxi系统时间
1 | esxcli system time set -d 30 -H 14 -m 19 -M 04 -y 2020 |
同步主板时间到esxi系统上
1 | esxcli system time get |
1 | [root@localhost:/vmfs/volumes/5dd78cd7-2b752f03-d715-14187750f218/time] esxcli system time set -d 30 -H 14 -m 19 -M 04 -y 2020 |
linux 客户端配置测试
为了测试时间服务器在客户端是否已经生效,可以将客户端的时间手动修改为一个明显不正确的时间,然后观察 chrony
或 systemd-timesyncd
是否能够将客户端的时间正确地同步回来。这是一种常见的测试方法。下面是详细的步骤:
测试步骤
1. 手动设置客户端的系统时间为不正确的时间
你可以使用 date
命令将客户端的时间设置为一个明显错误的时间,例如提前或推迟几个小时:
1 | sudo date -s "2024-08-12 01:00:00" |
此命令会将系统时间设置为 2024-08-12 01:00:00
,这通常与正确时间相差较大。
2. 强制同步时间
如果你使用的是 chrony
,可以通过以下命令强制同步时间:
1 | sudo chronyc makestep |
如果你使用的是 systemd-timesyncd
,可以通过重启 systemd-timesyncd
服务来强制同步:
1 | sudo systemctl restart systemd-timesyncd |
3. 验证时间是否已同步
执行以下命令查看当前时间是否已被同步回正确的时间:
1 | date |
你也可以使用以下命令查看同步状态:
对于
chrony
:1
chronyc sources -v
这将显示当前的 NTP 源和同步状态。
对于
systemd-timesyncd
:1
timedatectl status
这将显示系统时间、RTC 时间、NTP 服务状态和同步状态。
预期结果
- 如果时间服务器在客户端上配置正确并正常工作,系统时间应该很快被同步回正确的时间。
chronyc sources -v
或timedatectl status
的输出中应显示 NTP 服务是活动的,并且系统时钟已同步。
其他检查方法
检查日志:
对于
chrony
,你可以查看chrony
的日志文件/var/log/chrony
(如果启用了日志记录)。对于
systemd-timesyncd
,你可以查看系统日志来检查同步情况:1
journalctl -u systemd-timesyncd
查看同步偏差:
使用
chronyc tracking
命令查看系统时间与 NTP 服务器时间的偏差,确认同步是否成功:1
chronyc tracking
timedatectl
也会显示系统时间是否同步。
总结
通过手动设置客户端的时间为一个不正确的时间,然后强制同步,你可以验证时间服务器在客户端是否已经生效。如果客户端能够在短时间内将时间纠正回来,那么时间服务器配置是正确且有效的。