問題描述
由于 Azure 虛擬機(jī)的特殊性,物理主機(jī)會實時同步虛擬機(jī)的時間和日期。當(dāng)有特殊需求時,客戶想要停止日期時間的同步,但是一些常見的關(guān)閉 NTP 服務(wù)等操作都會失敗。
解決方案
Important
強(qiáng)烈不建議禁用 Azure 虛擬機(jī)的日期時間同步以避免不可預(yù)測的潛在風(fēng)險。 如果有特殊需求的客戶,請參照如下步驟來實現(xiàn)。
Windows 虛擬機(jī)
點擊 “開始” -> “運(yùn)行” -> “services.msc”
在打開的 Windows 服務(wù)管理列表中,找到服務(wù) “Hyper-V Time Synchronization Service”。
選擇該服務(wù),右鍵選擇“關(guān)閉”。
之后,物理主機(jī)與虛擬機(jī)的日期時間同步就會停止。
重新啟動該服務(wù),就會恢復(fù)日期時間的同步。
Linux 虛擬機(jī)
執(zhí)行下列命令,獲取 lsvmbus 工具:# wget https://raw.githubusercontent.com/torvalds/linux/master/tools/hv/lsvmbus # chmod u+x lsvmbus
執(zhí)行命令,獲取同步日期時間的驅(qū)動設(shè)備:
復(fù)制
# python lsvmbus -vvv? |grep -A 4 -i "Time Synchronization"VMBUS ID 11: Class_ID = {9527e630-d0ae-497b-adce-e80ab0175caf} - [Time Synchronization]? ? ? ? Device_ID = {2dd1ce17-079e-403c-b352-a1921ee207ee}? ? ? ? Sysfs path: /sys/bus/vmbus/devices/vmbus_11Rel_ID=11,target_cpu=0
記錄上述高亮顯示的設(shè)備 ID。
執(zhí)行命令:
復(fù)制
# echo2dd1ce17-079e-403c-b352-a1921ee207ee >/sys/bus/vmbus/drivers/hv_util/unbind
至此,日期時間同步已被禁用,可以通過 date 等命令來自行調(diào)整。
重啟虛擬機(jī),即可恢復(fù)日期時間同步,如果需要永久禁用,可以在 rc.local 文件中,手工編輯啟動腳本來實現(xiàn)。
立即訪問http://market.azure.cn