虚拟机未注册状态解决方法

发布时间:  2017-04-28 浏览次数:  367 下载次数:  3
问题描述

在测试环境中FA发放虚拟机后,用户登录不了虚拟机,虚拟机状态显示未注册。

此环境中,使用ITA hosts文件和虚拟机hosts文件来实现DNS解析功能。


处理过程

1.  进入未注册的虚拟机注册表目录/HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/HUAWEI/VirtualDesktopAgent


发现注册表里未出现ListOfHDCIps这项注册项

2.虚拟机无法解析hdc域名

3.修改主机的文件C:\Windows\System32\drivers\etc目录下的 hosts文件

根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有这个地址映射关系,如果有则调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析,也就

是说Hosts的请求级别比DNS高。

4.虚拟机可以pingHDC域名


5.重启虚拟机,查看注册表项出现了ListOfHDCIps项信息

6.虚拟机已注册并可以正常登陆


根因

1.虚拟机的agent服务检测指定的ListOfHDCs注册表项,构造注册请求参数对象,从中选中一个可用的HDC IP,如果注册表项未有ListOfHDCIps,会从注册表获取HDC对应的全称域名向DNS请求获取IP

2.通过IP检测HDC服务是否可用,向可用的HDC发送注册请求信息,如果注册失败,则选择备HDC IP并启动定时器循环反复注册

3.HDC定时将虚拟机注册信息写入数据库

注册表项信息:

注册表中指定的ListOfHDCs信息为HDC的全称域名,虚拟机通过ListOfHDCsDNS获取对应的IP地址,通过这个IP向其发送注册请求信息

注册表中的ListOfSIDs信息为虚拟机的SID

注册表中的ListOfHDCIps信息为HDCIP地址

建议与总结

虚拟机可以pinghdcIp但不能从DNS服务器上解析HDC域名,由于Hosts的请求级别比DNS高,所以通过修改Hosts文件可以使虚拟机通过域名获取的到hdcip完成虚拟机注册。

END