服務器在虛擬機上運行多時,總是發現時間會不正常,調整好了,運行幾日,會出現日期時間不正確的情況,正常時間1分鐘,BSD上才走大約半分鐘,偏移得厲害。用ntpdate或ntpd都不能校正,無法正常同步時間。VMWare下普遍存在虛擬機CPU時鐘頻率慢於標准頻率的BUG,導致虛擬機系統時間不准確甚至出現大幅度的偏移。在虛擬Windows系統下可以通過安裝VMWare Tools並開啟時間同步功能解決。但是在FreeBSD的命令行下怎麼設置VMTool的強制時間同步。
經測試FreeBSD同樣也可以:
第一步、安裝VMWare Tools:
VMWare中選擇Settings > VMWare Tools Install.
mount /cdrom
cp /cdrom/vmware-freebsd-tools.tar.gz /tmp
umount /cdrom
解壓並安裝:
cd /tmp
tar zxf vmware-freebsd-tools.tar.gz
cd vmware-tools-distrib
./vmware-install.pl
第二步、修改配置:
這裡有兩種辦法可以修改VMWare tool guest daemon的運行參數:
1.使用命令行方式
Unix下VMWare Tool的命令行程序為vmware-guestd,默認目錄為/usr/sbin/vmware-guestd。這是一個通過腳本自動運行的後台程序,可以使用這個程序更改運行參數。
語法為:
在UNIX裡就是vmware-guestd,(在Windows系統下為VMwareService.exe,也可以執行該命令行方式).
是設置選項,這裡使用synctime,詳細信息可以參考官方說明。
舊參數,新參數,0為FALSE,1為TRUE。通過設定這兩個參數就可以更改指定選項的內容了。
要啟用VMWare tool的時間同步就可以運行:
2.直接修改虛擬機配置文件
如果只需要開啟時間同步,這是相對比較簡單直接的辦法:
停止虛擬機,然後在在虛擬機的.vmx文件中找到:
tools.syncTime = “FALSE”
將FALSE改為TRUE,再啟動虛擬機即可。
默認VMWare Tool後台程序每三分鐘與宿主主機同步更新一次時間。如何更改同步頻率還沒研究出來,貌似通過改運行參數是不行了,可能需要修改代碼重編譯吧。
注意:在虛擬機中最好不要啟用ntpd同步標准時間,可能會引起時鐘混亂。