河北 王曉洲 王春海
本文總結了近期筆者碰到的幾例VMware Horizon 虛擬桌面在版本升級或使用中的故障及其解決方法,希望對有同樣問題的讀者有所幫助。
某公司使用DELL Wyse 5030 Zero Client(瘦客戶機)登錄VMware Horizon 7.5的虛擬桌面。在將Horizon連接服務器、Composer 服務器升級到7.10 之后,有些工作站登錄到虛擬桌面時提示“View Connection Server communication error”,也有部分工作站登錄正常。
經過檢查,發(fā)現(xiàn)瘦客戶端固件版本5.51 的可以登錄,4.8 版本的不行。升級瘦客戶端固件可以解決。
在登錄到Horizon Administrator 后,在“目錄→桌面池”中,雙擊已經配置好的桌面池進行編輯時,出現(xiàn)“服務器錯誤→未知”的錯誤,如圖1 所示。

圖1 出現(xiàn)未知錯誤
如果新建桌面池,在“vCenter 設置”步驟中,在選擇“主機或群集”時出現(xiàn)“java.lang.IllegalAr gumentException:Invalid parameters”錯誤,如圖2 所示。

圖2 選擇“主機或群集”時出錯
出現(xiàn)這個錯誤的原因,一般是當前vCenter Server所管理的ESXi 主機中有離線主機。例如在當前的虛擬化環(huán)境中,由4 臺ESXi 6.7 主機組成的vSAN 環(huán)境,但其中1 臺主機出現(xiàn)故障離線。如果故障主機短期無法修復,應在vCenter Server 中暫時移除故障主機就可解決這個故障。等故障主機修好之后重新加入群集即可。
某環(huán)境中有兩臺Horizon 7.5 的連接服務器,一臺為Horizon 連接服務器,另一臺為第一臺連接服務器的副本服務器。
在將兩臺Horizon 連接服務器升級到7.10 時,其中第一臺連接服務器升級成功,在升級第二臺連接服務器(副本服務器)時,提示“LDAP 未就緒,發(fā)生與服務器VCS02 有關的復制問題”。
發(fā)生這種故障的主要原因是由于連接服務器(副本)長時間未與第一臺連接服務器同步導致。因為第一臺連接服務器是正常的,如果要解決這個問題,可以卸載第二臺連接服務器(副本)及AD LDS 實例,然后重新安裝連接服務器(副本),并重新從第一臺服務器復制數(shù)據(jù)即可。
1.在“程序和功能”中依次卸載VMware Horizon 7 Connection Server、VMware Horizon 7 HTML Access、AD LDS 實 例VMware VDMDS,如圖3 所示。

圖3 卸載連接服務器及其組件
2.在卸載“AD LDS 實例VMware VDMDS”組件時,選擇“全部跳過”,在“已成功刪除AD LDS”對話框中單擊“關閉”按鈕。
3.運 行Horizon 7.10連接服務器的安裝程序,選擇副本服務器,如圖4 所示。然后在“源服務器”中指定第一臺連接服務器的域名或IP 地址。

圖4 安裝副本服務器
4.在“VMware Horizon 7 Connection Server”對話框中彈出“指定的Horizon 7 連接服務器已包含該計算機的復制配置,是否要繼續(xù)并使用該計算機中的復制配置信息覆蓋該配置”警告提示中單擊“確定”按鈕。然后根據(jù)向導完成安裝。
最后,在 Horizon administrator 管理界面的“View 配置→服務器→連接服務器”中可以看到,兩臺服務器已經是7.10 的版本,如圖5 所示。

圖5 查看連接服務器版本
某大學圖書館多媒體教室,VMware vSphere 5.5 的環(huán)境,7 臺ESXi 主機,1 臺EMC 的存儲,使用VMware View 5.2 虛擬桌面(虛擬機操作系統(tǒng)是Windows XP)。有80 個終端使用桌面。有次存儲出故障修復之后,有些桌面能使用,有些桌面無法登錄。
1.登錄 Horizon Administrator,在“清單→桌面”中,發(fā)現(xiàn)有些桌面狀態(tài)為“無法訪問代理”,有些桌面狀態(tài)為“已部署(缺少),如圖6 所示。

圖6 桌面清單
2.在檢查“桌面池”并編輯桌面池時,在“vCenter Server 設置”的“父虛擬機”中,沒有找到原來該桌面池的父虛擬機。這個桌面池的父虛擬機的名稱為XP_SP3。
經過詢問管理員得知存儲出故障時,有一個LUN 數(shù)據(jù)全部丟失。而名為XP_SP3的桌面池的父虛擬機以及部分桌面就保存在這個存儲中。因為LUN 數(shù)據(jù)全部丟失,部分虛擬桌面虛擬機丟失,但使用重構功能后,找不到父虛擬機所以重構失敗。
因為當前存儲有多個LUN,同時有的虛擬桌面仍然可以使用。可以將一個能使用的虛擬桌面為基礎,克隆出新的虛擬機用做新的父虛擬機用于桌面池。
另外,在部署克隆鏈接的虛擬桌面池時,Horizon 會復制出一個名為replicaxxxx 的虛擬機為基礎,并以此為基礎創(chuàng)建克隆鏈接的虛擬機。此時可以在當前的環(huán)境中查找名為replicaxxxx 開頭的虛擬機,檢查哪一個為從XP_SP3 父虛擬機克隆后的模板虛擬機就可以。經過檢查發(fā)現(xiàn)有4 個以replica-xxxx 開頭的虛擬機,如圖7 所示。這里面應該有一個虛擬機是我們所需要的模板虛擬機。

圖7 查找replica 開頭的虛擬機
通過瀏覽存儲對比,發(fā)現(xiàn)名為replica-5ec3b233-836e-437e-8370-8b9449c814ea 是我們需要的虛擬機,如圖8 所示。

圖8 查找XP_SP3 克隆出來的基準虛擬機
找到XP_SP3 的克隆虛擬機后,用鼠標右鍵單擊該虛擬機選擇“克隆”,并設置新的虛擬機名稱為XP_SP3_New,克隆虛擬機完成后,打開虛擬機的電源,進入控制臺查看該虛擬機是否為所需要的虛擬機,檢查無誤之后,關閉虛擬機的電源,然后為名為XP_SP3_New 的虛擬機創(chuàng)建快照,設置快照名稱為fix01。
再次編輯虛擬機桌面池,在“vCenter 設置”中,父虛擬機選擇新克隆出的名為XP_SP3_new 的虛擬機,選擇快照名稱為fix01(如圖9所示),其他選擇虛擬機文件夾、主機或群集、資源池、數(shù)據(jù)存儲等,這些與原來的設置相同。
編輯桌面池設置之后,在“清單→桌面”中,用鼠標右鍵選中狀態(tài)為“已部署(缺少)”的虛擬機,在彈出的右鍵菜單中選擇“移除”命令,如圖10 所示。刪除出故障的虛擬桌面,虛擬桌面會重新創(chuàng)建。

圖9 vCenter 設置

圖10 移除故障的虛擬桌面虛擬機
將所有有問題的桌面移除之后,Horizon 會重建刪除的桌面,然后重新部署虛擬桌面。最后在“狀態(tài)”中所有桌面為“可用”,桌面重建完成。
在重新配置了一些虛擬桌面之后,用戶發(fā)現(xiàn)瘦客戶端無法訪問虛擬桌面,通過重新啟動連接服務器虛擬機解決了這個問題。
對于部分虛擬桌面無法使用,通過重置虛擬桌面,或重構虛擬桌面的方法解決。
在大批量重新生成新的虛擬桌面過程中,可能個別的桌面會出現(xiàn)錯誤。對于出現(xiàn)錯誤的虛擬桌面,通過移除故障虛擬桌面、重新生成的方式解決即可。