您好,登錄后才能下訂單哦!
小編給大家分享一下如何解決kvm中windows系統時間偏移8小時問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
現象:
1、私有云系統使用的是utc+0時間,時鐘源是tsc
2、windows云主機新創建出來的clock offset=localtime
3、云主機沒進行重啟的情況下,windows云主機內部的時間從utc+8時間變為utc+0時間
4、windows云主機出現日志,來源kernel-general,事件為1,記錄時間是當前時間,記錄內容是,將當前的utc+8時間變為utc+0時間(換句話說,就是將原本的utc+0時間當做了utc+8時間,然后系統時間向過去跳躍)
5、windows Time service沒有啟用(windows默認更新時間是一星期一次)
分析:
1、windows云主機時間改變的原因
首先確定windows時間變更的原因,一般有兩種 (1) windows 上一些軟件更改了系統時間 (2)系統時間隨硬件時間改變
這個需要在windows系統中的win32Time設置debug 并安裝日志轉儲之類的軟件才行
2、這里認為云主機的錯誤是系統時鐘導致的
(1)據傳(這個的需要研究windows系統的啟動過程):windows操作系統啟動的時候會將cmos的時間(硬件時間),直接當做當前的系統時間,不再根據時區進行變換,所以這個時間會比正常時間慢8個小時(默認傳遞的是宿主機的系統時間(宿主機的時間是utc+0)),但是需要知道的是,時間變更是在云主機運行過程中發生的,并不是開機就是錯誤的,當然我們需要了解win32Time的運行機制,有可能他會輪詢硬件時間也是正常的。
(2)虛擬化技術對于guest機器時鐘的模擬(因為宿主機的虛擬化系統的時鐘與guest機器的時鐘源并不協調導致的)
解決方法(待驗證):
1、更改windows系統的注冊表,更改windows系統啟動時對待硬件時間的方式,將localtime改成utc (這個關掉win32time服務,設置之后的確時間不會偏移8小時,但是不能確定是否在運行過程中會有時間變更的問題)
登錄windows虛擬機內部,點擊“開始-運行”當運行窗口彈出后,在窗口輸入“regedit”,并點擊確認打開注冊表
進入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\”中添加一項類型為 REG_DWORD(64位系統這個值要REG_QWORD)的值,名稱為RealTimeIsUniversal,值設為 1。
2、更改windows云主機的時鐘源(從頭tsc改為rtc)(這個被證實,windows系統偏移8小時時間的問題,這個是解決不了的,但是能夠盡可能的確保時間精度,也就是云主機運行過程中,在不使用ntp的情況下,云主機的時間不會偏移的太多)
以管理員身份運行terminal
運行 bcdedit /set {default} USEPLATFORMCLOCK on
可以使用bcdedit /enum {default}查看結果
3、更改windows系統時間更新頻率(默認windows的時間更新頻率為一星期一次) (另外這個方法不是我提出的,虛擬化kvm官方建議的,他們建議guest和宿主機都要運行ntp更新時間),保險起見,這個時間同步是必須的
windows的時間同步默認時間很長,更改為3分鐘或者幾分鐘一次為好,更改方法為
注冊表 regedit
[ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient ] 分支,并雙擊 SpecialPollInterval 鍵值,將對話框中的“基數”欄選擇到“十進制”上 ,值正是自動對時的間隔(以秒為單位),比如默認的604800就是由7(天)×24(時)×60(分)×60(秒)計算來的。設定時間同步周期(180),填入對話框,點擊確定保存關閉對話框
停止w32time服務
net stop w32time
bcdedit /unregister
以上是“如何解決kvm中windows系統時間偏移8小時問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。