2012R2 VM on Hyper-v 2008 R2錯誤解決

     在系統管理員日常管理Hyper-v中,可能會遇見各種各樣的錯誤。

    筆者這次遇見的錯誤現象是:一臺DB虛擬機無故連接不上,重啓,而且監控軟件也沒有監控到。

    從這個描述來看,問題可能不光出在Hyper-v這邊,也可能是出在監控軟件一端,我們姑且先從Hyper-v虛擬機這邊排查起,聽到這個問題的時候,感覺很奇怪,hyper-v虛擬機突然無故重啓,之前從沒遇見過

    初步分析,可能是由於虛擬網絡或者Hyper-v宿主機相關因素導致

    連接到VM虛擬機中,發現如下兩個錯誤事件


wKiom1VayZ6hUJxnAADZ9uVY-nU913.jpg



wKioL1Vayxig1SvYAADuFHM18lQ539.jpg


     經過google搜索,發現其中一個Event 2的事件日誌,可能爲罪魁禍首

    以下爲老外們的相關描述

     https://social.technet.microsoft.com/Forums/en-US/6ac83ecd-23cb-401a-931a-fc98e7285b2d/the-vm-and-host-networking-components-failed-to-negotiate-protocol-version-40?forum=winserverhyperv

     https://social.technet.microsoft.com/Forums/windowsserver/en-US/d4dcdc8b-107b-4175-a8a6-c529f4833d18/the-vm-and-host-networking-components-failed-to-negotiate-protocol-version-50?forum=winserverhyperv

     http://blogs.msdn.com/b/virtual_pc_guy/archive/2014/06/30/can-you-run-windows-server-2012-r2-on-windows-server-2008-r2.aspx

     通過描述,我們可以看到,出現這個錯誤的原因,很可能是因爲我們在2008R2的Hyper-v上,運行了2012R2的虛擬機。

     首先微軟是不建議這樣做的,微軟建議2012R2或者Win8.1最好在最新的hyperv平臺上運行,一旦我們在08R2的Hyper-v上運行了2012R2的虛擬機,就有可能會出現虛擬機停止響應或者重啓的情況

     以下爲微軟相關的KB說明

     https://support.microsoft.com/zh-cn/kb/2744129

     看過了KB和老外的描述之後,我們再來確定一下,物理機到底是什麼操作系統,但是目前我們只知道虛擬機的連接方法,並不知道物理機的IP地址或者FQDN,那麼如何在虛擬機上知道 虛擬機是運行在那一臺物理機呢?重點來了。

     相信這個也是很多朋友的需求,如何在虛擬機中,查詢到虛擬機位於那一臺物理機,實際上,如果虛擬機是Hyper-v虛擬機,會在虛擬機的註冊表中,寫入一些關於Hyper-v物理機的鍵值

     打開註冊表位置:

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters

wKioL1Vay5ji56dQAAUUfFIL57A992.jpg


     可以看到,關於物理機的相關信息,既然在註冊表中有鍵值,那就好說了,只需要打開註冊表,就可以看到虛擬機位於那一臺物理機了有沒有

     

     你可以在來賓OS中通過Powershell進行查詢,命令格式如下


     列出虛擬機位於的物理機

    (Get-ItemProperty –path “HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters”).PhysicalHostName

     

wKiom1VaydvhIGGKAAFFltg2S7E861.jpg

    

      列出虛擬機位於的物理機FQDN

     (Get-ItemProperty –path “HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters”).PhysicalHostNameFullyQualified


wKiom1VayefxZq_hAAEaDvLVQ_0115.jpg

     

      列出虛擬機的“虛擬機名稱”

     (Get-ItemProperty –path “HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters”).VirtualMachineName


wKiom1Vaye7jOGpRAAD0khznZIQ532.jpg

    

   經過查詢,我們得到了物理機爲 SYSVH-33-207,連接過去看到果然是2008R2

wKiom1VayfzSrkUqAAS0-DaQyZw101.jpg

    得知之後,我們就按照KB2744129中的要求,安裝KB2744129補丁,即可規避此問題。

    雖然說,在2008R2 物理機上安裝KB2744129可以避免問題,但是仍然建議將hyper-v2.0升級至最新的3.0,再運行最新的操作系統。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章