- 在Rocky Linux中安装并启用chronyd服务,执行
sudo systemctl enable --now chronyd
。2. 在VMware虚拟机设置中确保已勾选"同步客户机时间与主机"选项。
在 VMware 环境下,如何设置 Rocky Linux 虚拟机的时间同步?
在VMMware环境下设置Rocky Linux虚拟机时间同步,建议分三步操作:1. 确保VMware Tools或Open VM Tools已安装,并在虚拟机设置中勾选"与主机同步时间";2. Rocky Linux侧启用chronyd服务(systemctl enable --now chronyd),配置建议保留vmxnet时钟源并添加VMware宿主机为NTP源;3. 验证同步状态(chronyc tracking)及时间偏移(chronyc sources)。注意避免ntpd与chronyd冲突,若宿主机已同步外部时钟,虚拟机层级无需额外配置外部NTP。
在VMware环境下设置Rocky Linux虚拟机时间同步的步骤如下:
-
关闭VMware Tools时间同步
- 在vSphere Client中选中虚拟机,依次点击“编辑设置” → “VMware Tools” → 取消勾选“同步客户机时间与主机”。
-
配置Rocky Linux系统服务
- 启用并启动chronyd服务:
sudo systemctl enable --now chronyd
- 验证服务状态:
sudo systemctl status chronyd
- 启用并启动chronyd服务:
-
设置NTP服务器
- 编辑配置文件:
sudo vi /etc/chrony.conf
- 添加公共NTP源(示例):
server pool.ntp.org iburst
- 保存后重启服务:
sudo systemctl restart chronyd
- 编辑配置文件:
-
强制同步并验证
- 手动触发同步:
sudo chronyc makestep
- 查看同步状态:
chronyc tracking chronyc sources
- 手动触发同步:
-
防火墙放行(如启用)
- 允许NTP流量:
sudo firewall-cmd --add-service=ntp --permanent sudo firewall-cmd --reload
- 允许NTP流量:
注意事项:若使用systemd-timesyncd,需禁用chronyd并通过timedatectl set-ntp true
启用同步。
是否考虑过利用VMware Tools自带的时钟同步功能替代操作系统层面的NTP配置?
在VMware环境下设置Rocky Linux虚拟机时间同步的实践经验及挑战如下:
一、核心配置步骤
-
VMware Tools时间同步
- 在vSphere Client中禁用虚拟机属性中的"客户机时间同步"(避免与操作系统服务冲突)
- 在.vmx文件中添加:
tools.syncTime = "0"
(强制依赖操作系统级同步)
-
Chrony服务配置
# 安装chrony dnf install chrony # 修改配置文件 vi /etc/chrony.conf
添加:
server ntp.aliyun.com iburst server time.google.com iburst # 关键参数 makestep 1.0 3 rtcsync # 忽略VMware宿主机时钟 refclock PHC /dev/ptp0 poll 3 dpoll -2 offset 0
-
时钟源优化
# 检查可用时钟源 cat /sys/devices/system/clocksource/clocksource0/available_clocksource # 永久设置 echo 'clocksource=tsc' >> /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg
二、关键验证命令
chronyc tracking # 查看同步状态
chronyc sources -v # 检查时间源层级
timedatectl # 验证系统时钟同步状态
dmesg | grep clock # 检查时钟源加载情况
三、典型挑战及解决方案
-
时间回跳问题
- 现象:VMware Tools与Chrony同时修改时钟导致分钟级偏差
- 解决方案:在Chrony配置中增加
nosourcedetect
参数,禁用本地时钟源检测
-
虚拟化时钟漂移
- 案例:高负载虚拟机出现每秒3ms的累积偏差
- 处理:启用
/etc/sysconfig/chronyd
中的OPTIONS="-s"
参数(启动时立即同步)
-
NTPD与Chrony冲突
- 关键检查:
systemctl status *timed* # 检查timedatectl服务状态 rpm -qa | grep -E 'ntp|chrony' # 确认没有混合安装
- 关键检查:
-
时区异常场景
- 现象:容器内时区与宿主机不一致导致日志时间错乱
- 根治方案:
timedatectl set-timezone Asia/Shanghai hwclock --systohc --localtime # 写入硬件时钟
四、高级调试技巧
- 使用
chronyc debug -v
生成详细同步日志 - 在ESXi主机侧执行:
esxcli system time get # 验证宿主机时间基准 esxcli network firewall ruleset set -r ntpClient -e true
- 对关键虚拟机启用VMware详细日志记录:
vmx.clock.period = 1000 vmx.clock.tolerance = 500
实践表明,采用Chrony+TSCC时钟源+禁用VMware底层同步的组合方案,可使Rocky Linux虚拟机在72小时测试周期内保持小于5ms的时间偏差。建议每月通过chronyc waitsync 5 0.01
命令验证亚秒级同步能力。
在VMware里给Rocky Linux同步时间,先装个VMware Tools(用命令 sudo yum install open-vm-tools),然后开时间同步服务。再运行 sudo systemctl enable --now chronyd 启动系统自带的时间同步。最后去VMware虚拟机设置里确认勾上【与主机同步时间】就行啦。如果还抽风,检查下这两个同步服务别打架,关一个就行。