首页主机资讯Linux虚拟机如何进行时间同步

Linux虚拟机如何进行时间同步

时间2025-12-18 10:02:04发布访客分类主机资讯浏览979
导读:Linux虚拟机时间同步实操指南 一、推荐方案与总体原则 首选通过 NTP/chrony 与互联网或内网 NTP 服务器进行持续自动同步,保证长期稳定与高精度。 在虚拟化环境中,建议同时启用 VMware Tools / VirtualB...

Linux虚拟机时间同步实操指南

一、推荐方案与总体原则

  • 首选通过 NTP/chrony 与互联网或内网 NTP 服务器进行持续自动同步,保证长期稳定与高精度。
  • 在虚拟化环境中,建议同时启用 VMware Tools / VirtualBox Guest Additions 的“与宿主机时间同步”作为兜底,弥补虚拟机挂起/恢复导致的时间跳变。
  • 保持 时区正确(如 Asia/Shanghai),并避免频繁手动改时;如需临时修正,先停同步服务,校正后再恢复。
  • 对需要审计/计费/分布式系统,优先使用 chrony(快速收敛、对虚拟化环境更友好)。

二、使用 chrony 与 systemd-timesyncd 的两种常用做法

  • 方案A(推荐)chrony
    1. 安装与启用
      Ubuntu/Debian: sudo apt-get update & & sudo apt-get install -y chrony
      CentOS/RHEL: sudo yum install -y chrony
      sudo systemctl enable --now chronyd
    2. 配置上游服务器(/etc/chrony/chrony.conf)
      server 0.pool.ntp.org iburst
      server 1.pool.ntp.org iburst
      server 2.pool.ntp.org iburst
      server 3.pool.ntp.org iburst
    3. 验证
      chronyc tracking(查看同步源与偏差)
      chronyc sources -v(列出上游源状态)
  • 方案B systemd-timesyncd(轻量,适合桌面/简单场景)
    1. 启用服务
      sudo timedatectl set-ntp true
    2. 可选:编辑 /etc/systemd/timesyncd.conf
      [Time]
      NTP=0.pool.ntp.org 1.pool.ntp.org
    3. 验证
      timedatectl status(应看到 “System clock synchronized: yes”)
      以上两种方案二选一,避免同时运行多个时间守护进程。

三、使用传统 NTP 服务

  • 安装与启用
    Ubuntu/Debian: sudo apt-get install -y ntp
    CentOS/RHEL: sudo yum install -y ntp
    sudo systemctl enable --now ntp
  • 配置上游(/etc/ntp.conf)
    server 0.centos.pool.ntp.org iburst
    server 1.centos.pool.ntp.org iburst
    server 2.centos.pool.ntp.org iburst
    server 3.centos.pool.ntp.org iburst
  • 验证
    ntpq -p(查看同步对端与延迟/抖动)
    timedatectl(确认 NTP 服务处于活动状态)
    该方式适合对 NTP 协议细节有控制需求的场景。

四、启用虚拟化工具的时间同步与宿主机协同

  • VMware
    • 安装 VMware Tools,在虚拟机设置中启用 “Synchronize guest time with host”。
    • 挂起/恢复或快照回滚后,工具会自动校正时间。
  • VirtualBox
    • 安装 Guest Additions
    • 建议将虚拟机 RTC 设置为 UTC(在“系统 -> 主板”中勾选 “Hardware Clock in UTC Time”),在来宾系统内设置本地时区(如 Asia/Shanghai),可减少夏令时/时区切换带来的偏差。
  • 协同建议
    • 若启用了虚拟化工具的时间同步,仍建议保留 NTP/chrony 作为主时钟;工具仅作兜底。
    • 当宿主机时间被校准后,来宾时间会在下次同步周期或事件触发时自动对齐。

五、常见排错与应急操作

  • 快速检查
    timedatectl(时区、NTP 启用状态、是否已同步)
    chronyc tracking / sources -v 或 ntpq -p(同步源与偏差)
  • 手动一次性校正(仅在极端偏差或 NTP 暂不可用时)
    sudo date -s “2025-12-18 15:30:00”
    sudo hwclock --systohc(将系统时间写入硬件时钟)
  • 防火墙与连通性
    NTP 使用 UDP 123 端口;如需对宿主机或其他虚拟机提供时间服务,请放行该端口(例如 firewalld: firewall-cmd --add-service=ntp --permanent & & firewall-cmd --reload)。
  • 虚拟机挂起/迁移后时间跳变
    先启用虚拟化工具的时间同步,再重启 chronyd/ntpd 以快速收敛。
  • 避免多个时间服务争用
    同时只保留 chronyntpdtimesyncd 之一,防止互相拉扯。
    以上命令与注意事项可快速定位大多数时间不同步与漂移问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux虚拟机如何进行时间同步
本文地址: https://pptw.com/jishu/774830.html
Linux虚拟机防火墙规则怎么配置 Linux虚拟机性能监控用什么工具

游客 回复需填写必要信息