重啟後NTP時間總是錯誤的。即使使用 NTP 設置,它也會與 ESX 同步
我已經安裝了 NTP,內部 NTP 伺服器對等點是第 2 層。但是,每次我重新啟動伺服器時,VM 時間都會與 ESX 主機同步,然後提前 6 小時。
我確實執行了 ntpdate -s xxxx,並更正了它。儘管如此,重新啟動後,它又提前了 6 小時。
為什麼 NTP 不處理它?我啟用了 ntp 並且它在引導期間啟動,但時間始終是 ESX 時間。我在 Ubuntu 16.04 上。
此外
timedatectl
,不顯示 NTP,但systemd.timesyncd
顯示。systemd.timesyncd
在 VM 上被禁用並停止。root@host001:~# timedatectl Local time: Fri 2020-05-08 16:00:59 UTC Universal time: Fri 2020-05-08 16:00:59 UTC RTC time: Fri 2020-05-08 08:57:03 Time zone: UTC (UTC, +0000) System clock synchronized: no systemd-timesyncd.service active: no RTC in local TZ: no
雖然 VMWare 自己的白皮書建議在 Linux VM 安裝中執行 NTP 伺服器,但預設情況下,VM 時間與其所在的管理程序/主機的時間同步。
如果虛擬機管理程序的時間與實際時間存在差異,則在啟動時或如果 ntpd 守護程序未執行,則託管在受影響的虛擬機管理程序中的虛擬機將出現時間差異。
vSphere 文件中心 - 配置來賓和主機作業系統之間的時間同步,描述 VMWare預設行為:
發生時間同步後,VMware Tools 會每分鐘檢查一次,以確定客戶機和主機作業系統上的時鐘是否仍然匹配。如果不是,則客戶機作業系統上的時鐘將與主機上的時鐘同步。
如果客戶機作業系統上的時鐘落後於主機上的時鐘,VMware Tools 會向前移動客戶機上的時鐘以匹配主機上的時鐘。如果客戶機作業系統上的時鐘早於主機上的時鐘,VMware Tools 會導致客戶機上的時鐘執行得更慢,直到時鐘同步為止。
無論您是否打開 VMware Tools 定期時間同步,時間同步都會在某些操作之後發生:
- VMware Tools 守護程序啟動時(例如在重新引導或開機操作期間)
- 從掛起操作恢復虛擬機時
- 還原為快照後
- 縮小磁碟後
如果實際時間、管理程序時間和 VM 時間之間存在這種差異,則應執行幾個操作:
- 在 VMware 主機/管理程序中更正時間、時區/啟用 NTP;
- 在VM的VMWare side/vmx文件中禁用VM/Linux和hypervisor之間的同步;
- 無法訪問管理程序,禁用虛擬機與管理程序的同步,在 VM/Linux 端,在啟動時,使用vmtools ,因為它不會**一直競爭,與 NTP 守護程序設置/漂移 VM 時間:
vmware-toolbox-cmd timesync disable
如果您無法更正主機/管理程序時間,則必須禁用 timesync ,並且當這些差異更大時更加緊迫。
從 vSphere 文件中心再次引用- 配置客戶機和主機作業系統之間的時間同步
本機時間同步軟體(例如網路時間協議 (NTP) …)通常比 VMware Tools 定期時間同步更準確,因此是首選軟體。在客人中僅使用一種形式的定期時間同步。如果您使用的是本機時間同步軟體,請關閉 VMware Tools 定期時間同步。
至於虛擬機端的 NTP 服務,如果時間差太大, ntpd會中止,或者如果被告知忽略它,則同步非常慢。
在 boot/NTP 服務啟動時,要立即自動更改時間,添加為 ntp.conf 的第一行:
tinker panic 0
也可以看看:
VMWare KB - 禁用時間同步 (1189),用於完全禁用主機和 VM 之間的時間同步。
超過 30 分鐘不同步時的 11 分鐘模式更詳細的解釋
tinker panic 0
附錄
儘管如此,再次說明,如果與多學科團隊合作,強烈建議糾正主機端的時間概念,並引起 VMWare 團隊的注意。
讓一個管理程序關閉時間確實會影響由該 VMWare 主機生成的日誌時間戳和虛擬機/內務文件創建/修改時間。
使用錯誤時間的管理程序的含義可能更加複雜,尤其是在以下情況下:
- VMWare 文件所在的儲存空間由多個 VMWare 主機共享;
- 日誌被發送到中央系統日誌伺服器;
- 多個 VMWare 主機由同一個 vCenter 管理。