本文总结了近期碰到的几例VMware Horizon虚拟桌面在版本升级或使用中碰到的故障及其解决方法,希望对有同样问题的读者有所帮助。
1 Horizon 连接服务器升级到7.10后瘦客户端无法登录
某公司使用DELL Wyse 5030 Zero Client(瘦客户机)登录VMware Horizon 7.5的虚拟桌面。在将Horizon连接服务器、Composer服务器升级到7.10之后,有些工作站登录到虚拟桌面时提示“View Connection Server communication error”,如图1所示。也有部分工作站登录正常。
图1 部分瘦客户机无法登录
经过检查,发现瘦客户端固件版本5.51的可以登录,4.8版本的不行。升级瘦客户端固件可以解决。如图2所示。
图2 升级瘦客户端
2 无法编辑虚拟桌面池
登录Horizon Administrator,在“目录→桌面池”中,双击已经配置好的桌面池进行编辑时,出现“服务器错误→未知”的错误,如图3所示。
图3 出现未知错误
如果新建桌面池,在“vCenter设置”步骤中,在选择“主机或群集”时出现“java.lang.IllegalArgumentException:Invalid parameters”错误,如图4所示。
图4 出错
出现这个错误的原因,一般是当前vCenter Server所管理的ESXi主机中有离线主机。例如在当前的虚拟化环境中,由4台ESXi 6.7主机组成的vSAN环境,但其中1台主机出现故障离线。如果故障主机短期无法修复,应在vCenter Server中暂时移除故障主机就可解决这个故障。等故障主机修好之后重新加入群集即可。
3 连接服务器副本不同步
某环境中有两台Horizon 7.5的连接服务器,一台为Horizon连接服务器,另一台为第一台连接服务器的副本服务器。在将两台Horizon连接服务器升级到7.10的时候,其中第一台连接服务器升级成功,在升级第二台连接服务器(副本服务器)的时候,提示“LDAP未就绪,发生与服务器VCS02有关的复制问题”,如图5所示。
图5 复制问题
发生这种故障的主要原因是由于连接服务器(副本)长时间未与第一台连接服务器同步导致。因为第一台连接服务器是正常的,如果要解决这个问题,可以卸载第二台连接服务器(副本)及AD LDS实例,然后重新安装连接服务器(副本),并重新从第一台服务器复制数据即可。
(1)在“程序和功能”中依次卸载VMware Horizon 7 Connection Server、VMware Horizon 7 HTML Access、AD LDS实例VMware VDMDS,如图6所示。
图6 卸载连接服务器及其组件
(2)在卸载“AD LDS实例VMware VDMDS”组件时,选择“全部跳过”,如图7所示。
图7 全部跳过
(3)在“已成功删除AD LDS”对话框中单击“关闭”按钮,如图8所示。
图8 成功删除AD LDS
(4)运行Horizon 7.10 连接服务器的安装程序,选择副本服务器,如图9所示。
图9 安装副本服务器
(5)在“源服务器”中指定第一台连接服务器的域名或IP地址,如图10所示。
图10 指定源服务器
(6)在“VMware Horizon 7 Connection Server”对话框中弹出“指定的Horizon 7连接服务器已包含该计算机的复制配置,是否要继续并使用该计算机中的复制配置信息覆盖该配置”警告提示中单击“确定”按钮,如图11所示。然后根据向导完成安装。
图11 确定
最后在Horizon administrator管理界面的“View配置→服务器→连接服务器”中可以看到,两台服务器已经是7.10的版本,如图12所示。
图12 查看连接服务器版本
4 父虚拟机丢失导致桌面重构失败
某大学图书馆多媒体教室,VMware vSphere 5.5的环境,7台ESXi主机,1台EMC的存储,使用VMware View 5.2虚拟桌面(虚拟机操作系统是Windows XP)。有80个终端使用桌面。有次存储出故障修复之后,有些桌面能使用,有些桌面无法登录。
(1)登录Horizon Administrator,在“清单→桌面”中,发现有些桌面状态为“无法访问代理”,有些桌面状态为“已部署(缺少),如图13所示。
图13 桌面清单
(2)在检查“桌面池”并编辑桌面池时,在“vCenter Server设置”的“父虚拟机”中,没有找到原来该桌面池的父虚拟机。这个桌面池的父虚拟机的名称为XP_SP3,如图14所示。
图14 无法找到父虚拟机
经过询问管理员,得知存储出故障时,有一个LUN数据全部丢失。而名为XP_SP3的桌面池的父虚拟机以及部分桌面就保存在这个存储中。因为LUN数据全部丢失,部分虚拟桌面虚拟机丢失,但使用重构功能后,因为找不到父虚拟机所以重构失败。
因为当前存储有多个LUN,同时有的虚拟桌面仍然可以使用。可以将一个能使用的虚拟桌面为基础,克隆出新的虚拟机用做新的父虚拟机用于桌面池。另外,在部署克隆链接的虚拟桌面池时,Horizon会复制出一个名为replica-xxxx的虚拟机为基础,并以此为基础创建克隆链接的虚拟机。此时可以在当前的环境中查找名为replica-xxxx开头的虚拟机,检查哪一个为从XP_SP3父虚拟机克隆后的模板虚拟机就可以。经过检查发现有4个以replica-xxxx开头的虚拟机,如图15所示。这里面应该有一个虚拟机是我们所需要的模板虚拟机。
图15 查找replica开头的虚拟机
通过浏览存储对比,发现名为replica-5ec3b233-836e-437e-8370-8b9449c814ea是我们需要的虚拟机,如图16所示。
图16 查找XP_SP3克隆出来的基准虚拟机
找到XP_SP3的克隆虚拟机后,用鼠标右键单击该虚拟机选择“克隆”,并设置新的虚拟机名称为XP_SP3_New,如图17所示。
图17 克隆虚拟机
克隆虚拟机完成后,打开虚拟机的电源,进入控制台查看该虚拟机是否为所需要的虚拟机,检查无误之后,关闭虚拟机的电源,然后为名为XP_SP3_New的虚拟机创建快照,设置快照名称为fix01。
再次编辑虚拟机桌面池,在“vCenter 设置”中,父虚拟机选择新克隆出的名为XP_SP3_new的虚拟机,选择快照名称为fix01(如图18所示),其他选择虚拟机文件夹、主机或群集、资源池、数据存储等,这些与原来的设置相同。
图18 vCenter设置
编辑桌面池设置之后,在“清单→桌面”中,用鼠标右键选中状态为“已部署(缺少)”的虚拟机,在弹出的右键菜单中选择“移除”命令,如图19所示。删除出故障的虚拟桌面,虚拟桌面会重新创建。
图19 移除故障的虚拟桌面虚拟机
在弹出的“移除虚拟机”对话框中单击“确定”按钮,如图20所示。
图20 删除虚拟机
将所有有问题的桌面移除之后,Horizon会重建删除的桌面,然后重新部署虚拟桌面。最后在“状态”中所有桌面为“可用”,如图21所示,桌面重建完成。
图21 虚拟桌面状态正常
在重新配置了一些虚拟桌面之后,用户发现瘦客户端无法访问虚拟桌面,通过重新启动连接服务器虚拟机解决了这个问题。
对于部分虚拟桌面无法使用,通过重置虚拟桌面,或重构虚拟桌面的方法解决。
在大批量重新生成新的虚拟桌面过程中,可能个别的桌面会出现错误。对于出现错误的虚拟桌面,通过移除故障虚拟桌面、重新生成的方式解决即可。
关于VMware Horizon桌面更多的内容,请看以下图书或视频:
VMware Horizon虚拟桌面应用指南
https://item.jd.com/13038424.html
使用NVIDIA RTX8000配置GPU的虚拟桌面
https://edu.51cto.com/sd/952a9
其他图书和视频
==========视频==================
VMware ESXi与vCenter Server安装与升级实验视频课程
https://edu.51cto.com/sd/e1e6b
VMware vSphere 6.7虚拟化入门视频课程
https://edu.51cto.com/sd/22fe0
VMware vSAN 6.7实战演练
https://edu.51cto.com/sd/c6449
深入学习VMware Horizon View7虚拟桌面
https://edu.51cto.com/sd/225f2
中小企业vSphere虚拟化数据中心规划设计与产品选型
https://edu.51cto.com/sd/04e53
VMware服务器虚拟化提高篇之虚拟化基础架构配置视频课程
https://edu.51cto.com/sd/b9594
忘记VMware ESXi与vCenter Server密码的解决方法视频教程
https://edu.51cto.com/sd/993e5
=======图书================
VMware vSAN超融合企业应用实战
https://item.jd.com/12842654.html
VMware vSphere 6.5企业运维实战
https://item.jd.com/12329944.html
VMware虚拟化与云计算:vSphere运维卷
https://item.jd.com/12237563.html
VMware虚拟化与云计算:故障排除卷
https://item.jd.com/12478965.html