︿
Top

網管人雜誌

本文刊載於 網管人雜誌第 106 期 - 2014 年 11 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。





文章目錄

1、前言
2、實作環境
3、VDI 架構安裝及設定流程
          建構 vSphere 虛擬化平台
          建立 Windows AD 網域
          安裝 Connection 伺服器角色
          安裝 Composer 伺服器角色
          新增 vCenter 及 Composer 角色
          安裝 Security 伺服器角色
          設定 Event 資料庫
          設定 Persona 漫遊使用者設定檔
4、連線至 VDI 虛擬桌面
          以 Horizon View Client 連線
          以 HTML5 瀏覽器連線
5、確認 VDI 虛擬桌面套用快取機制
6、結語





1、前言

VMware 的 VDI 桌面虛擬化解決方案,從早期 2008 年發行的 VMware View Manager 3,至目前最新的版本,也就是 2014 年 6 月所發佈的 VMware Horizon 6.0 with View,已經逐漸演變為成熟的解決方案,並將相關特色功能再進行增強。

前期雜誌當中,筆者已經介紹過可以透過 VADC(View Agent Direct-Connection)機制,當您需要建立「小型」VDI 虛擬桌面環境時(例如,5 ~ 10 台 VDI 主機),可以不用建構完整的 VDI 管理及運作環境。然而,若企業或組織需要的是完整功能的 VDI 虛擬桌面運作環境時,就應該要建置完整的 VDI 管理及運作環境。

讓我們來看看 VMware Horizon with View 的完整架構示意圖,如下圖所示我們可以看到完整架構圖中,需要建置的角色有一般伺服器虛擬化環境的 ESXi 虛擬化平台、vCenter 伺服器,除此之外還需要 Windows AD 網域環境、View Connection 伺服器、View Composer 伺服器...等。

圖 1、VMware Horizon View 的完整架構示意圖

在 Horizon 完整運作架構中,每台伺服器角色都有其相關用途及運作機制,舉例來說,當使用者需要從網際網路端,存取企業或組織的 VDI 虛擬桌面服務時,便需要經過第一道防火牆與 View Security 伺服器溝通,接著通過第二道防火牆與 View Connection 伺服器溝通,順利通過 Windows AD 網域的驗證與授權程序後,View Connection 伺服器便會將 VDI VM 狀態為「可用」的 VDI 虛擬桌面主機,指派給使用者進行連線的動作。

圖 2、Horizon 架構伺服器運作機制示意圖





2、實作環境






3、VDI 架構安裝及設定流程

雖然建置 Horizon VDI 擬桌面運作架構,並沒有絕對的先後順序,不過如同蓋大樓一般有相關的工法可遵循,接下來我們將介紹整個 VDI 架構的安裝及設定流程:

     1. 安裝及設定 vSphere 虛擬化平台(ESXi、vCenter 伺服器)。
     2. 建立 Windows AD(Active Directory)網域環境。
     3. 安裝 View Connection 伺服器角色,並開啟相關防火牆連接埠。
     4. 安裝 View Composer 伺服器角色,並設定 Composer 資料庫連接事宜。
     5. 登入 Horizon View Administrator 管理介面,新增 vCenter 及 Composer 伺服器角色。
     6. 安裝及設定 View Security 伺服器角色。
     7. 設定 Event 資料庫連接事宜。
     8. 設定 View Persona 漫遊使用者設定檔管理事宜。

建構 vSphere 虛擬化平台

當然,在 Horizon VDI 虛擬桌面運作架構中,擔任整個基礎架構的部份,便是大家所熟悉的 vSphere ESXi 虛擬化平台,以及 vCenter 伺服器管理角色。如果你的環境中 ESXi主機數量不多的話,那麼用標準型交換器 vSS(vNetwork Standard Switch)的話,IT 管理人員可能還能負擔,但是若 ESXi 主機數量眾多時,就建議採用分佈式交換器 vDS(vNetwork Distributed Switch),否則將會造成管理上很大的負擔,舉例來說,在具備 16 台 ESXi 主機的網路環境中,當需要變更某個虛擬交換器名稱時,在 vDS 環境中只要修改一次即可,但在 vSS 環境中就必須要修改 16 次(逐台修改)。

圖 3、採用分佈式交換器 vDS 以降低管理負擔

此外,在儲存資源的部份,除了以往常用的傳統共享儲存設備之外,現在您還可以導入 VMware vSAN (Virtual SAN),它是「軟體定義儲存(Software-Defined Storage,SDS)」的運作架構,具備「垂直擴充(Scale-Up)」及「水平擴充(Scale-Out)」的特色。

值得注意的是,雖然 vSAN 是以「儲存原則管理(Storage Policy Based Management,SPBM)」方式運作,也就是可以針對不同運作需求的VM虛擬主機,套用不同的 vSAN 儲存原則。但是,最新發行的 vSAN 1.0 版本,若是結合 Horizon VDI 一起運作時,那麼屆時透過 Composer 伺服器角色,利用 Linked Clones 機制所產生的 VDI 虛擬桌面,目前僅能套用「vSAN 預設儲存原則」。

圖 4、Horizon VDI 架構結合 vSAN 運作機制示意圖

建立 Windows AD 網域

以往在建構 vSphere 伺服器虛擬化環境時,可以選擇要或不要建置 Windows AD 網域環境。但是,當你需要建構 Horizon VDI 虛擬桌面環境時,便「必須」要建置 Windows AD 網域環境,因為我們必須透過 Windows AD 網域,當中的網域控制站 DC(Domain Controller),來達成使用者「驗證(Authentication)及授權(Authorization)」的機制。

舉例來說,當你建置的 VDI 虛擬桌面有分教師用及學生用,若沒有網域控制站的驗證及授權機制幫助下,該如何處理? 當你需要指派使用者登入桌面開啟瀏覽器後,首頁便是公司網站首頁時該如何處理? 使用者登入虛擬桌面後,便自動連結至所屬的網路磁碟機及印表機....等,這些後續的維運及管理機制,便需要透過網域控制站的驗證及授權,以及群組原則(Group Policy)等機制協同合作後達成。

圖 5、網域控制站驗證及授權運作機制示意圖

此外,在你的運作環境當中,可能已經有 Windows AD 網域運作架構,因此您可以針對 VDI 虛擬桌面的部份,額外建立相關的 OU 容器,如圖所示便額外建立 Horizon-VDI OU 容器,並於其下再建立 VDI Users、VDI Computers 二個子 OU 容器,以便存放會使用 VDI 虛擬桌面的使用者及群組,以及 VDI 虛擬桌面的電腦帳戶。這樣設計的好處為方便後續套用 GPO 群組原則時,可以依 OU 容器進行套用,而不致影響到現有的實體運作架構。

圖 6、針對 VDI 虛擬桌面額外建立相關的 OU 容器

安裝 Connection 伺服器角色

IT 管理人員在初次接觸 VDI 虛擬桌面技術時,通常第一個產生的技術困惑點便是,VDI 虛擬桌面與一般用於管理的遠端桌面有何不同? 簡單來說,當IT管理人員透過遠端桌面連線至主機時,需要進行 1 對 1 的連接埠對應,舉例來說你有 10 台主機要提供對外的遠端桌面服務,那麼必須在防火牆端開啟 10 個連接埠,並分別對應到內網中 10 台主機的 Port 3389,若有 100 台主機需要對應時呢? 相信會造成不小的管理負擔。

但 VDI 虛擬桌面技術便不是這樣的運作概念,在 Horiozn 運作架構中 Connection 伺服器,是負責擔任「代理人(Broker)」的角色,在平常運作時 VDI 虛擬桌面透過「代理程式(Agent)」,隨時將目前的運作狀況回報給 Connection 伺服器,如此一來 Connection 伺服器便能得知每台 VDI 虛擬桌面的狀態,例如,該桌面目前狀態為可用、更新中、重開機中...等。

當使用者端送出 VDI 連線需求,並且通過 Windows 網域控制站的驗證及授權機制後,此時 Connection 伺服器便會指派一台(可預先指派或隨機安排),目前運作狀態為「可用」的 VDI 虛擬桌面給該使用者。

圖 7、Connection 伺服器運作機制示意圖

此外,在先前舊版的 View 運作環境中,Connection 服器並無法跨地域進行溝通(例如,一台在紐約一台在倫敦)。現在,新版 Horizon 6 已經支援 Connection 伺服器可以跨地域的功能了,所以若企業或組織的規模夠大,需要將 Connection 伺服器分別架設在不同的地域,並且透過 WAN 網路進行互相溝通作業,現在也不用擔心 Connection 伺服器會發生 AD LDS 資料不同步的情況。

圖 8、Connection 伺服器跨地域運作機制示意圖

安裝 Composer 伺服器角色

如果你的 VDI 虛擬桌面,一台主機需要使用 100GB 的儲存空間,那麼建置 100 台 VDI 虛擬桌面的運作環境,是否需要「10 TB」的儲存空間呢? 透過 Composer 伺服器角色,所提供的「連結複製(Linked Virtual Machine Clones)」機制,它會為每個 VM 虛擬主機建立「唯一指標(Unique Pointers)」,因此每台 VM 虛擬主機所佔用的空間只有「差異」的部份而以,與 Master Image 佔用空間相較之下通常可以減少 50 ~ 70 % 的空間大小。

圖 9、連結複製運作機制示意圖

它的運作機制(如圖 10 所示),管理人員先將屆時的 VDI 虛擬桌面範本映像檔(Base Image)安裝設定好,接著為該台VM虛擬主機建立「快照(Snapshot)」,透過該份快照產生出複本虛擬主機(Replica VM),之後再透過連結複製的運作機制,大量產生出多台 VDI 虛擬桌面,而 Persistent / Disposable 磁碟的部份,則視使用者需求再決定是否導入。

圖 10、VDI 虛擬桌面範本運作機制示意圖

新增 vCenter 及 Composer 角色

當您將 VDI 虛擬桌面架構中,相關伺服器角色安裝及設定完成後,便可以登入 Horizon View Administrator 管理介面(安裝完 Connection 伺服器角色後便具備),新增 vCenter 及 Composer 伺服器資訊,以利後續 VDI 虛擬桌面的佈建作業。

登入管理介面後,請依序點選「View 組態 > 伺服器 > vCenter Server > 新增」,在彈出的新增 vCenter Server 視窗中,填入 vCenter 伺服器管理者資訊。

圖 11、填入 vCenter 伺服器管理者資訊

通過 vCenter 伺服器的驗證程序後,接著填入 Composer 伺服器的管理資訊,此實作環境中因為 Composer 伺服器,並未跟 vCenter 伺服器安裝在同一台主機中,因此選擇「獨立式 View Composer Server」選項。

圖 12、填入 Composer 伺服器管理者資訊

最後,勾選是否啟用相關特色功能,例如「回收虛擬機器磁碟空間」或「啟用 View 儲存加速器」。事實上,從 VMware vSphere 5.0 版本開始,便支援 ESXi Host Caching 機制「CBRC (Content-Based Read Cache)」,也就是 VMware vSphere 內建的「讀取快取」機制,並且在 Horizon 6.0 版本中(從舊版 VMware View 5.1 版本便開始支援此功能),能將底層的 ESXi Host Caching CBRC 機制整合進來,也就是 View 儲存加速器(View Storage Accelerator)特色功能。

圖 13、勾選是否啟用相關特色功能

安裝 Security 伺服器角色

如果,企業或組織所建立的 VDI 虛擬桌面,僅供「內部(Internal)」進行連接存取作業的話,那麼其實不必安裝 Security 伺服器,但是若有從「網際網路(Internet)」存取 VDI 虛擬桌面的需求時,那麼便必須要建置 Security 伺服器角色。

因為 Security 伺服器,會直接接觸到網際網路來的 VDI 連線需求,所以會置放於非軍事區 DMZ(Demilitarized Zone),並且此台主機不會加入 Windows AD 網域中,同時視連線需求在第一道防火牆中開啟相關連接埠號,舉例來說,開啟 Port 443 以允許 HTTPs 流量通過,也就是允許 Horizon View Client 及 HTTPs Security Gateway 流量,開啟 Port 4172 以允許 PCoIP 流量通過。詳細的相關防火牆連接埠號,請參考 VMware KB 102676620619131027217 及相關文件。

在防火牆連接埠號中,最常被管理人員遺忘的部份,便是 Port 4172 的通訊協定,因為必須要同時開啟 TCP 及 UDP 通訊協定後,那麼 PCoIP 網路流量才能正確運作,但管理人員常常會忘記開啟「UDP」通訊協定。此時,就會造成使用者能順利通過 Windows AD 的驗證及授權程序,也可以登入並連接 VDI 虛擬桌面,但是因為 PCoIP 是透過 UDP 協定傳送 VDI 畫面,防火牆未開啟的情況下便會造成畫面無法顯示,所以使用者便會看到「黑畫面(Black Screen)」然後斷線。

圖 14、Security 伺服器運作機制示意圖

設定 Event 資料庫

你可能已經發現,在 Horizon View Administrator 管理介面中,點選監視區塊中的「事件」項目時,並無法看到任何事件記錄於其中,原因是你必須先指定事件資料庫(Event DB),目前 Horizon 的事件資料庫支援的類型有 Microsoft SQL Server 及 Oracle

請登入管理介面後,依序點選「View 組態 > 事件組態 > 事件資料庫 > 編輯」,此時將彈出編輯事件資料庫視窗,請填入資料庫伺服器主機名稱或 IP 位址、連接埠、資料庫名稱...等資訊,設定事件資料庫完成後,此時再度點選「事件」項目便可以看到相關事件,以幫助你進行故障排除任務。

圖 15、設定事件資料庫

設定 Persona 漫遊使用者設定檔

熟悉 Windows AD 網域環境的管理者,一定覺得很納悶,因為在 Windows 網域環境中,已經有預設的「漫遊使用者設定檔(Roaming User Profile)」機制,為何還需要採用 Horizon 當中的 Persona 機制? 事實上,在 Horizon 所建構的 VDI 虛擬桌面環境中,管理人員仍然可以使用 Windows 原有的漫遊使用者設定檔機制,也可以採用 Persona 機制。那麼這二種漫遊使用者設定檔機制之間,到底有哪些不同的地方?

圖 16、View Persona Management 運作機制示意圖

舉例來說,當採用 Windows 內建的漫遊使用者設定檔機制時,在使用者登入進行相關操作行為之後,必須要執行「登出」的動作,此時才會一口氣的將相關變更寫回所指定的存放路徑中(網路流量大且密集),而 Persona 機制則可以設定每隔一段時間如 10 分鐘,便「自動」將相關變更寫回存放路徑中(網路流量小且分散)。

預設情況下,在群組原則設定中並不會有 View Persona 等相關設定項目,請先解開由官網上下載的 View GPO Bundle 壓縮檔,此時便會看到許多 GPO 的範本檔案,接著便可以執行匯入的動作。

圖 17、View GPO 範本檔

請開啟群組原則管理,接著編輯準備要匯入 View GPO 範本檔的 OU 容器(此實作為 Horizon-VDI),接著依序點選「電腦設定 > 原則 > 系統管理範本 > 新增/移除範本 > 新增」,然後選擇剛才解壓縮的 View GPO 範本檔,匯入完成後便會出現「傳統系統管理範本(ADM)」項目,其中 Persona 的群組原則設定路徑在「VMware View Agent Configuration > Persona Management」,如果你要採用的是 Persona 的漫遊使用者設定檔機制,請設定「Persona repository location」群組原則項目,如果你想要設定每隔一段時間(預設為 10 分鐘),便自動將相關變更寫回漫遊使用者設定檔存放路徑中,請設定「Manage user persona」群組原則項目。

圖 18、匯入 View GPO 範本檔





4、連線至 VDI 虛擬桌面

以 Horizon View Client 連線

順利將前置作業都完成後,如果你是在區域網路內部直接連接的話,那麼請開啟 Horizon View Client 後,直接輸入 Connection 伺服器的 FQDN 或 IP 位址即可。若是從外部網際網路進行連線的話,請輸入 Security 伺服器的 FQDN 或 IP 位址,確認無誤後按下連線鈕。

圖 19、由網際網路連線至內部 VDI 虛擬桌面

成功連接後,首先會彈出視窗顯示憑證訊息詢問你是否要繼續,原因是預設會採用 Self-Signed Certificate 的方式自行簽署 SSL 憑證,如果環境中有 CA 憑證的話也可以進行導入。順利通過連線驗證程序後,接著為使用者帳戶驗證程序,請輸入在 Windows AD 網域中允許連接 VDI 虛擬桌面的使用者帳號及密碼,此實作填入使用者帳號 Weithenn 及密碼,輸入完畢後按下登入鈕即可。

圖 20、鍵入有權限可連接 VDI 虛擬桌面的使用者帳號及密碼

順利登入 VDI 虛擬桌面之後,你能進行怎樣的操作行為完全取決於,你所登入的使用者帳號擁有哪些權限所決定,舉例來說,如果你所登入的帳號僅具備一般使用者的「Users」權限,當你嘗要調整防火牆設定時,便會彈出使用者帳戶控制(User Account Control,UAC)的驗證視窗,當然若擁有本機 Administrator 權限的話,便不會發生任何問題。

圖 21、登入後相關操作,取決於登入的使用者帳號所擁有的權限

以 HTML5 瀏覽器連線

當使用者人在外面出差,可能筆記型電腦作業系統當機,或者其它原因導致無法透過 Horizon View Client,連線回公司的 VDI 虛擬桌面時,有沒有其它更簡單的方式可以進行連接? 沒問題,只要透過支援 HTML 5 技術的瀏覽器即可:

  • Chrome 28 或更新版本
  • Internet Explorer 9或更新版本
  • Safari 6或更新版本
  • Firefox 21或更新版本


先前在安裝 Connection 伺服器角色時,預設便會啟動 HTML Access 功能,並且為 VDI 虛擬桌面安裝 Horizon View Agent 代理程式時,預設也會安裝 HTML Access 項目,最後在新增桌面集區時,在集區設定中請確認有勾選「HTML 存取」項目即可。

完成所有前置作業後,便可以使用支援 HTML 5 技術的瀏覽器連接到 VDI 虛擬桌面。同樣的,看到使用者帳號及密碼驗證頁面時,請輸入具有連接 VDI 虛擬桌面權限的使用者帳號及密碼,輸入完畢後按下登入鈕即可。

圖 22、以網頁方式登入 VDI 虛擬桌面

順利登入 VDI 虛擬桌面後,能進行怎樣的操作完全取決於你所登入的使用者帳號,擁有哪些權限所決定。此外,你可能會發現有些功能無法正常使用例如 USB 重新導向...等,且聲音(Audio)的部份必須使用支援 WebSockets 的瀏覽器才能正常運作。所以,如果你想要使用及測試全部功能,那麼還是使用 Horizon View Client 比較全面。





5、確認 VDI 虛擬桌面套用快取機制

先前有提到 Horizon 6.0 版本中,可以將 vSphere 內建的 CBRC 讀取快取機制整合,也就是 View 儲存加速器(View Storage Accelerator)機制。那麼該如何確認 VDI 虛擬桌面,真的有使用到讀取快取機制? 請登入 Horizon View Administrator 管理介面,依序點選【詳細目錄 > 桌面 > 任一台虛擬桌面 > vCenter 設定】在一般設定區塊中會看到「View 儲存加速器」欄位,該欄位便是虛擬桌面目前是否有使用快取機制的狀態:

  • Off(關閉): 表示沒有採用 ESXi Host 的快取機制。
  • Current(目前): 表示採用 ESXi Host 的快取機制,且 Digest Cache 機制作用中。 
  • Out of date(過期): Digest Cache 機制可能有問題,需要 Regenerated Digest 內容。
  • Error(錯誤): 快取機制或 CBRC 運作過程中發生錯誤

圖 23、確認 VDI 虛擬桌面是否使用讀取快取機制





6、結語

雖然,建置完整的 VDI 虛擬桌面運作架構,一開始對於管理人員來說可能覺得有點複雜或架構龐大,但隨著每個伺服器角色建置完成後,透過相關機制確實可以有效管理上百上千台 VDI 虛擬桌面。因此,希望透過本篇文章的說明及實作,能夠協助讀者建置完整的 VDI 虛擬桌面運作架構,以方便企業或組織進行 VDI 環境的導入評估及測試作業。
文章標籤: , ,