即使在 Centos 7.3 的 /etc/ntp.conf 中使用 tinker panic 0
時,NTP 也不會同步時間 - 從暫停狀態恢復虛擬機
似乎不可能在從暫停狀態恢復 VirtualBox VM 時進行時間更新。
在網上閱讀了幾天並嘗試了許多不同的東西後,我得出了這個結論,但特別是
tinker panic 0
在$$ /etc/ntp.conf $$文件。之後我重新啟動了 ntpd 服務,然後通過暫停機器狀態幾分鐘然後恢復來繼續對其進行測試。時間從停止的地方開始(並且沒有同步)。 以前很多人都問過這個問題,但他們似乎都變成了一些非常輕微的不同變體。
- NTP 未在 VM 中同步
- https://stackoverflow.com/questions/14629704/ntp-client-undisciplined-local-clock/14634941#14634941
- https://serverfault.com/questions/686087/ntp-running-server-time-is-wrong-on-vm
我的虛擬機中的客人:CentOS Linux 版本 7.3.1611
[root@CentOS7 ~]# systemctl list-unit-files ntpd* UNIT FILE STATE ntpd.service enabled
以防萬一有人想知道,我確實禁用了 chrony 服務,因此不會有任何衝突,因為由於可用的文件,我更喜歡 NTPD。
[root@CentOS7 ~]# systemctl list-unit-files chron* UNIT FILE STATE chrony-dnssrv@.service static chrony-wait.service disabled chronyd.service disabled chrony-dnssrv@.timer disabled
在我考慮 cronjob 之前,有人有任何最後的建議嗎?雖然絕對不是最優的,但它至少會起作用。
== 策略更改 - 嘗試使用訪客添加來同步主機時間 ==
所以我按照建議在 VirtualBox 中安裝了 Guest Additions iso。令人驚訝的是在那裡遇到了問題。
Unable to insert the virtual optical disk C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso into the machine Centos. Could not mount the media/drive 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED). Result Code: E_FAIL (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed} Callee: IMachine {b2547866-a0a1-4391-8b86-6952d82efaa0}
解決方法是啟動我看到 ISO 的 Centos 桌面 GUI。我右鍵點擊,點擊“使用執行軟體打開”並成功安裝。即使在禁用 ntpd 之後,它仍然沒有同步時間。
所以我找到了這個執行緒: https ://www.virtualbox.org/ticket/15179
在終端上使用詳細輸出啟動 VBoxService 程序:
/usr/sbin/VBoxService -fvvv
這導致:
00:00:00.010360 timesync vgsvcTimeSyncWorker: Host: 2017-02-11T21:39:17.257000000Z (MinAdjust: 100 ms) 00:00:00.010428 timesync vgsvcTimeSyncWorker: Guest: - 2017-02-11T21:30:01.781953000Z => 555 475 047 000 ns drift 00:00:00.010491 timesync vgsvcTimeSyncAdjust: adjtime by 555 475 047 000 ns
但它實際上並沒有調整時間,或者這可能意味著它在納秒內調整它,這將需要永遠。嗯……
作為最後的手段,我嘗試了:
/usr/sbin/VBoxService -fvvv --timesync-set-on-restore 1
我想我已經在這上面浪費了足夠多的時間。我將嘗試使用 ntpd -g 進行 cronjob。
可以使用我的 VirtualBox 5.1.14 附帶的 VirtualBox Guest Additions 從主機同步時間。請參閱我編輯的問題,了解有關在嘗試安裝 Guest Additions 時解決錯誤的更多資訊。
我的回答的大結局:我試圖讓它成為一個 systemctl 服務,但它一直拋出錯誤,所以我把它放在我的 .bashrc 文件中:
/usr/sbin/VBoxService --timesync-set-on-restore 1 --timesync-set-threshold 5000 > /dev/null
它工作得很好,並且做了它應該做的事情。