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,再运行最新的操作系统。



本文转自 老收藏家 51CTO博客,原文链接:http://blog.51cto.com/wzde2012/1652742


相关文章
|
虚拟化 Docker Windows
VMware Workstation Pro 启动虚拟机报错,您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstatio
原因 出现此问题可能是您安装的docker或其他软件启用了Hyper-V,导致虚拟机无法启动 解决方法 右键开始,选择【应用和功能】
1343 0
VMware Workstation Pro 启动虚拟机报错,您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstatio
|
6月前
|
虚拟化
VMware vSphere Client中虚拟机“Disc Found”解决方法
VMware vSphere Client中虚拟机“Disc Found”解决方法
|
11月前
|
Oracle 关系型数据库 数据安全/隐私保护
|
虚拟化 Windows
VMWare player启动虚拟机出错 - 模块Disk启动失败
VMWare player启动虚拟机出错 - 模块Disk启动失败
282 0
VMWare player启动虚拟机出错 - 模块Disk启动失败
|
Ubuntu Linux 虚拟化
基于VM14+ Ubuntu 16.04安装VMware Tools(VM同主机file交互的工具)以及使用的骚操作
首先,给已经装好的Ubuntu 16.04换上映像文件: 在安装VMware Tools时,需要修改指向VMware Tools所在(VMware Workstation\linux.iso),在这个路径下有个linux.iso文件,其中提供了linux操作系统平台需要的一些工具文件,当然包括VMware Tools安装文件。
1349 0