網管人雜誌
本文刊載於 網管人雜誌第 156 期 - 2019 年 1 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。文章目錄
前言新版 Horizon 7.6 特色功能
實戰 Horizon 7.6 基礎架構組態設定
建立 Windows AD 網域環境
建構 vSphere 虛擬化平台
建構 SQL Server 資料庫
建構 Composer 伺服器角色
建構 Connection 伺服器角色
新增 Horizon 7 軟體授權
新增 vCenter / Composer 伺服器角色
組態設定 Event 資料庫
結語
前言
VMware 官方在 2018 年 9 月,發佈桌面和應用虛擬化平台的最新版本 Horizon 7.6。在最新版本中,除了企業及組織地端資料中心所需的 VDI 虛擬桌面功能強化之外,隨著公有雲應用的趨勢日漸增溫,管理人員也可以選擇將 Horizon 部署在 Amazon AWS、IBM Cloud、Microsoft Azure 等雲端環境中。
VMware VDI 虛擬化桌面的最初版本,為 2008 年發佈的 VMware View Manager 3。
簡單來說,當管理人員希望部署 Horizon VDI 虛擬桌面解決方案時,可以選擇「自行部署」或「Horizon Cloud Service」這二大部署模式(如圖 1 所示)。
圖 1、VMware Horizon VDI 虛擬桌面解決方案部署模式示意圖
首先,「自行部署」的部分可以在企業及組織內部的資料中心內,自行建置傳統的 VMware Horizon 虛擬桌面運作環境,另一種選擇則是採用「VMware Cloud on AWS」雲端部署模式,管理人員可以在 Amazon AWS 雲端環境中部署及管理 Horizon 虛擬桌面環境。
至於「Horizon Cloud Service」部署模式,則分別支援「Horizon Cloud on IBM Cloud」及「Horizon Cloud on Microsoft Azure」等二種雲端部署模式,讓使用者可以直接在這二家雲端供應當運作環境中使用 VDI 虛擬桌面及應用服務。
此時,管理人員應該會感到納悶,將 Horizon 虛擬桌面環境運作在 AWS、IBM Cloud、Azure 這三者有何不同? 簡單來說,採用 VMware Cloud on AWS 雲端部署模式時(如圖 2 所示),管理人員就像管理地端資料中心的傳統 Horizon 虛擬桌面環境一樣,將能夠擁有「充分」的管理及部署權限。
至於,採用 Horizon Cloud Service 部署模式時,則 Horizon 虛擬桌面環境將由「VMware 負責主要管理」,因此對於管理人員來說在組態設定及管理部署時將會受限而缺少靈活性。
圖 2、VMware Cloud on AWS 運作架構示意圖
新版 Horizon 7.6 特色功能
那麼,讓我們來看看最新發佈的 VMware Horizon 7.6 版本中,有哪些新增亮眼特色功能或增強哪些原有特色功能:
- 增強的 Horizon Connection Server: 除了新增支援 vSphere 6.5 U2 虛擬化平台版本,以及 vMotion 也可遷移啟用 vGPU 的虛擬桌面之外,現在管理人員可以透過 Horizon 7 Cloud Connector 機制,來管理 VMware Horizon Cloud Service 上代管的訂閱服務。
- Horizon Agent for Linux: 除了支援新版 Ubuntu 18.04、RHEL / CentOS 6.10、RHEL / CentOS 7.5 版本之外,建立的 RHEL 7 及 CentOS 7 Linux 虛擬桌面已經支援 True SSO 機制,達到真正 SSO 單一登入的目。此外,從 RHEL 7.1 及後續版本開始支援 Instant-Clone 機制,幫助管理人員更快部署大量 Linux 虛擬桌面。
- Horizon Agent on RDS Host: 現在當管理人員在 RDS 主機上安裝 Horizon Agent 時,可以啟用重新導向「Serial Port」及「地理位置」的功能,值得注意的是必須搭配 Horizon Client 4.9 for Windows 的版本才行。
圖 3、Horizon 7.6 邏輯架構運作示意圖
實戰 Horizon 7.6 基礎架構組態設定
了解最新發佈的 Horizon 7.6 虛擬桌面運作架構及特色功能後,在開始進行 Horizon 7.6 基礎架構的組態設定作業之前,管理人員必須先知道在 VMware Horizon 基礎運作架構中,需要建構的角色有 ESXi 虛擬化平台、vCenter Server、Windows AD 網域環境(DNS / DHCP / Certificate Authority)、Identity Manager、View Connection Server、View Composer Server、AirWatch、App Volume、vSAN、Unified Access Gateway……等。
事實上,建置 VMware Horizon 虛擬桌面基礎架構,擔任各項應用服務的伺服器角色並沒有絕對的建置先後順序,不過一般來說在建構 Horizon 基礎架構時建議採用下列流程:
1. 建立 Windows AD(Active Directory)網域環境,並且新增 VDI 虛擬桌面的使用者帳號和群組以及管理者帳號和群組。
2. 建構及組態設定 vSphere 虛擬化基礎架構,包含 ESXi 虛擬化平台及 vCSA 管理平台。
3. 安裝及組態設定 SQL Server 資料庫。
4. 安裝及組態設定 View Composer 伺服器角色,並且設定 Composer 資料庫連接事宜。
5. 安裝及組態設定 View Connection 伺服器角色,並且設定 Event 資料庫。
6. 建立 Full-Clone 或 Linked-Clone 或 Instant-Clone 虛擬桌面資源池。
7. 安裝及組態設定 RDSH 伺服器角色,並且設定遠端使用者所需應用程式。
8. 建立 RDSH 用途虛擬桌面資源池或應用程式資源池。
9. 授權使用者或群組使用指派的虛擬桌面資源池或已發佈的應用程式,同時建立及組態設定其它管理員帳號,以便針對特定對象組態設定不同層級的存取權限。
10. 在使用者端為他們的連線裝置安裝及組態設定 Horizon Client,以便存取虛擬桌面資源池或已發佈的應用程式。
11. 組態設定 GPO 群組原則,以便管控使用者或群組存取虛擬桌面資源池或已發佈的應用程式的行為。
12. 當企業及組織允許由外部網路存取虛擬桌面資源池或已發佈的應用程式時,考量安全性建議應整合 Smart Card 身份驗證機制或 RADIUS 雙因素身份驗證機制。
圖 4、Horizon 7.6 基礎架構運作示意圖
建立 Windows AD 網域環境
事實上,使用者身份驗證的機制非常多樣化,然而一般來說企業及組織達成 SSO 單一登入最普遍的機制便是採用 Windows Active Directory,因此在本文實作環境中也將建置 Windows AD 網域環境,以便透過 Windows AD 網域的網域控制站 DC(Domain Controller),達成使用者身份的「驗證(Authentication) / 授權(Authorization)」機制,後續也可以搭配 Horizon True SSO 機制。
建議採用的 Windows DC 網域控制站版本及資源配置如下:
- Windows Server 2016 或後續版本。
- VMware Virtual Hardware 13 或後續版本。
- 2 vCPU、6 GB vRAM、1 vNIC(VMXNET 3)、40 GB vDisk(LSI Logic SAS)。
圖 5、Windows AD 搭配 True SSO 使用者身份驗證及授權邏輯架構運作示意圖
在 Windows 網域環境中,為了確保使用者登入時操作環境的一致性通常會透過使用者設定檔的方式來達成,在 Windows 使用者設定檔中共有 3 種類型,分別是強制使用者設定檔(Mandatory User Profiles)、本機使用者設定檔(Local User Profiles)、漫遊使用者設定檔(Roaming User Profiles)。
在 Horizon VDI 虛擬桌面運作環境中,保持使用者登入時操作環境一致性的部分,通常不適合使用「強制使用者設定檔」和「本機使用者設定檔」,而是採用「漫遊使用者設定檔」(Roaming User Profiles)的方式,以便確保使用者登入 Horizon VDI 虛擬桌面時能有一致的操作環境。
圖 6、使用者操作環境配置策略架構示意圖
此外,基於管理考量也會為 Horizon VDI 虛擬桌面運作環境建立額外的 OU 容器,在本文實作環境中建立名稱為「Horizon-VDI」的 OU 容器,並且再建立名稱為「VDI Users、VDI Computers」的 2 個子 OU 容器,用於存放 Horizon VDI 虛擬桌面的使用者帳號和群組及 VDI 虛擬桌面電腦帳戶,以便屆時能夠針對 VDI 虛擬桌面環境套用 GPO 群組原則。
圖 7、針對 Horizon VDI 虛擬桌面建立專用的 OU 容器以利後續管理需求
建構 vSphere 虛擬化平台
vCenter Server 管理平台
在 Horizon VDI 正式營運環境中,VMware 建議應該將擔任「管理」用途的 VM 虛擬主機,以及擔任 VDI 虛擬桌面的 VM 虛擬主機,分別採用「不同台」vCenter Server 進行分拆管理,原因在於避免 vSphere 基礎架構複雜化之外,在管理思維上也可以避免 SPOF 單點失敗的影響,舉例來說,倘若管理 VDI 虛擬桌面環境的 vCenter Server 發生故障損壞事件,短期之間難以修復時可以先讓管理環境的 vCenter Server 暫時接手管理作業達到備援的效果。
雖然,在 Horizon VDI 運作架構「每個 Pod」可以承載「20,000 Sessions」,倘若採用 CPA(Cloud Pod Architecutre)架構將多個 Pod 串連時,更可以承載高達「140,000 Sessions」。然而,有鑑於組態配置及高可用性管理需求,VMware 最佳作法中「每個 Block」當中每台 vCenter Server,在管理 VDI 虛擬桌面數量方面建議為 4,000 ~ 5,000 台。
有關 Horizon 運作架構規模大小的詳細資訊,請參考 VMware KB2150348 - VMware Horizon 7 sizing limits and recommendations 文章內容。
有關 vCenter Server 建議採用的版本及資源配置如下:
- vCenter Server 6.5(SUSE Linux Enterprise 12)或後續版本。
- VMware Virtual Hardware 13 或後續版本。
- 8 vCPU、24 GB vRAM、1 vNIC(VMXNET 3)、300GB vDisk(LSI Logic Parallel)。
圖 8、Horizon Pod 及 Block 運作架構示意圖
ESXi 虛擬化平台
本文實作環境中,將採用最新發佈的 vSphere ESXi 6.7.0 Update 1 版本,以便提供最新穩定的虛擬化平台,並且運作的 Horizon VDI 虛擬桌面也因為採用最新 ESXi 虛擬化平台,得以使用最新虛擬硬體版本以便獲得最大硬體資源及延展性。
圖 9、採用最新 vSphere ESXi 6.7.0 Update 1 虛擬化平台版本
此外,管理人員應該好奇如何估算每台 ESXi 主機能夠運作多少台 VDI 虛擬桌面? 舉例來說,倘若我們希望每台 ESXi 主機,能夠同時承載 40 台 VDI 虛擬桌面時應該如何估算,假設我們為每台 VDI 虛擬桌面配置 2 vCPU,並且使用 500 MHz 的 CPU 運算資源,同時預估 vCPU 額外工作負載為 10 %。
在 ESXi 主機 CPU 硬體資源的部分,配置 2 顆 Intel Xeon E5-2699v4 高效能 CPU 處理器且每顆處理器擁有 22 個運算核心,每個運算核心的時脈為 2.2GHz,所以每顆 CPU 擁有 48.4 GHz 的運算能力,每台 ESXi 主機擁有 96.8 GHz的運算能力,扣除 ESXi 主機額外工作負載 10 % 的運算資源,保留 90 % 的運算資源後為「87.12 GHz」。因此,每台 ESXi 主機在 CPU 運算資源方面,可以運作的 VDI 虛擬桌面為「87 台」。
同樣的,我們估計每台 VDI 虛擬桌面,運作 Windows 10 作業系統(64位元)配置 16 GB 虛擬記憶體,每台 VDI 虛擬桌面的 vRAM 額外工作負載為 143.98 MB,並且未設定「Memory Reservation」記憶體空間預先保留機制。
在 ESXi 主機記憶體硬體資源的部分,配置 768 GB 記憶體空間扣除額外工作負載 10 % 後,保留 90 % 的記憶體資源為「691.2 GB」。因此,每台ESXi主機在Memory記憶體資源方面,可以運作這樣的VDI虛擬桌面為「41台」。
圖 10、VM 虛擬主機虛擬記憶體額外工作負載資訊
vSphere Cluster(Block)
在 Horizon VDI 虛擬桌面運作架構中,針對 vSphere Cluster 的部分建議將「管理」(Management)用途及「VDI 虛擬桌面」(Desktop)用途分開建立,並且由「不同台」vCenter Server 主機進行管理。
舉例來說,建立第 1 個 vSphere Cluster 名稱為「Management」,此 vSphere Cluster 除了由多台 ESXi 主機組成,並運作所有管理工作任務的 VM 虛擬主機,例如,Connection Server、Composer Server……等。同時,除了應用服務建立高可用性機制之外,此 vSphere Cluster 也必須啟用「vSphere HA」及「vSphere DRS」機制,以確保管理用途的 VM 虛擬主機提供的服務具備高可用性。
接著建立第 2 個 vSphere Cluster 名稱為「Desktop」,此 vSphere Cluster 由多台 ESXi 主機組成並運作數百台 VDI 虛擬桌面。值得注意的是,此 vSphere Cluster 中通常只會啟用「vSphere DRS」機制,以便針對 VDI 虛擬桌面進行工作負載自動平衡機制即可,「不」建議啟用 vSphere HA 高可用性機制,原因在於每台 ESXi 主機已經運作數量眾多的 VDI 虛擬桌面,倘若啟用 vSphere HA 高可用性機制,當某台 ESXi 成員主機發生故障損壞的情況時,將會因為 vSphere HA 高可用性機制的緣故,造成其它台 ESXi 主機的工作負載瞬間加重,因此這個 vSphere Cluster 不建議開啟 vSphere HA 機制。
圖 11、Horizon 7.6 vSphere Cluster 運作架構規劃示意圖
Networking
在 Horizon VDI 虛擬桌面運作架構中,建議採用分佈式交換器 vDS(vNetwork Distributed Switch),搭配 vDS 分佈式交換器中的 NIOC(Network I/O Control)網路流量管控機制。舉例來說,在每台 ESXi 主機上配置 2 張單一連接埠的 10 Gbps 網路卡,並分別連接到不同台實體網路交換器上,以避免 10 Gbps 網路卡或實體網路交換器發生故障損壞事件造成 SPOF 單點失敗的問題,同時依據流量用途規劃出「4 種」Port Group,以利管理人員能輕鬆掌握各種網路流量的傳輸情況及方便進行故障排除作業:
- Management: 負責 ESXi 主機的管理流量,建議組態設定網路流量共享層級為「Normal」共享數值為「50」。
- Virtual Machine: 管理用途的 VM 虛擬主機以及 VDI 虛擬桌面對外提供服務的流量,建議組態設定網路流量共享層級為「High」共享數值為「100」。
- vSAN: vSAN(或傳統 iSCSI MPIO)儲存網路傳輸流量,建議組態設定網路流量共享層級為「Normal」共享數值為「50」。
- vMotion: 用於 vSphere vMotion 線上即時遷移 VM 虛擬主機的傳輸流量,建議組態設定網路流量共享層級為「Normal」共享數值為「50」。
圖 12、Horizon VDI 虛擬桌面網路流量規劃示意圖
建構 SQL Server 資料庫
在 Horizon VDI 虛擬桌面運作架構中,SQL Server 資料庫用途為存放「Connection Server Event、Composer Server、Identity Manager、App Volumes」等組態設定資料。建議採用的 SQL Server 版本及資源配置如下:
- Windows Server 2016 或後續版本。
- SQL Server 2016 或後續版本。
- VMware Virtual Hardware 13 或後續版本。
- 2 vCPU、8 GB vRAM、1 vNIC(VMXNET 3)、40 GB / 50 GB vDisk(LSI Logic SAS)。
在本文實作環境中採用 SQL Server 2016 SP2 版本,並且分別建立 Composer Server 使用的「Composer-DB」資料庫,以及後續存放 Connection Server 中 VDI 虛擬桌面事件用途的「Event-DB」資料庫。
建構 Composer 伺服器角色
在 Horiozn 運作架構中,透過 Composer Server「連結複製」(Linked Virtual Machine Clones)的運作機制,為每台 VDI 虛擬桌面主機建立「唯一指標」(Unique Pointers),因此每台 VDI 虛擬桌面主機所佔用的空間只會有「差異」的部份而已,與 Master Image 佔用空間相較之下通常可以減少 50 % ~ 70 % 的空間大小。建議採用的 View Composer Server 版本及資源配置如下:
- Windows Server 2016 或後續版本。
- VMware Virtual Hardware 13 或後續版本。
- Horizon 7 Composer Server 7.3.2 或後續版本。
- 4 vCPU、12 GB vRAM、1 vNIC(VMXNET 3)、40 GB vDisk(LSI Logic SAS)。
在本文實作環境中,採用最新 Horizon 7.6 的 View Composer Server 版本。值得注意的是,為了能夠順利將 Composer Server 的資料庫,指向至剛才所建立專用的 SQL Server 資料庫主機,所以必須先為 Composer Server 組態設定 ODBC,稍後才能將 Composer Server 資料庫指向至剛才所規劃的「Composer-DB」資料庫中。
圖 14、為 Composer Server 組態設定 ODBC 資料庫連線工作任務
建構 Connection 伺服器角色
在 Horiozn 運作架構中 Connection Server,為負責擔任 VDI 虛擬桌面「代理人」(Broker)的角色,因為 VDI 虛擬桌面中的「代理程式」(Agent),隨時會將目前的運作狀態回報給 Connection Server,所以 Connection Server 可以得知每台 VDI 虛擬桌面的運作狀態,例如,桌面目前狀態為可用、更新中、重新啟動中……等。
在 VMware 最佳作法中,建構 Connection Server 負載平衡或高可用性運作架構時,建議採用「N + 1」的方式進行規劃。下列為「每台」Connection Server 建議採用的版本及資源配置如下:
Windows Server 2012 R2或之後的版本。
在 VMware 最佳作法中,建構 Connection Server 負載平衡或高可用性運作架構時,建議採用「N + 1」的方式進行規劃。下列為「每台」Connection Server 建議採用的版本及資源配置如下:
Windows Server 2012 R2或之後的版本。
- VMware Virtual Hardware 11或之後的版本。
- Horizon View 7.0或之後的版本。
- 4 vCPU、12 GB vRAM、1 vNIC(VMXNET 3)、40 GB vDisk(LSI Logic SAS)。
有關 Connection Server 負載平衡運作架構的詳細資訊,請參考 VMware KB2146312 – Load Balancing for VMware Horizon View 文章內容。
圖 15、高可用性 Connection Server 負載平衡運作架構示意圖
在本文實作環境中,採用最新 Horizon 7.6 的 Connection Server 版本,在安裝流程中於安裝選項頁面時,請選擇「Horizon 7 Standard Server」並勾選「Install HTML Access」項目,以便屆時也可以透過 HTML 網頁連接至 VDI 虛擬桌面,最後請確認採用「IPv4」通訊協定即可。
圖 16、安裝 Horizon 7 Connection Server
安裝完成後,雖然整個 Horizon VDI 虛擬桌面運作架構還在建構當中,但是因為 Connection Server 已經安裝完畢,所以可以先確認及登入至 Horizon Administrator 管理平台,以便確認 Connection Server 及相關服務正常運作。
圖 17、登入 Horizon Administrator 管理平台
新增 Horizon 7 軟體授權
登入 Horizon 7 管理介面後,首先必須要新增 Horizon 7 軟體授權才行,否則後續將無法使用 Horizon 相關特色功能,例如,Composer、Instant Clone……等。請在 Horizon 管理介面中,依序點選「View 組態 > 產品授權及使用 > 編輯授權」後,填入你所擁有的 Horizon 7 軟體授權即可。
圖 18、新增 Horizon 7 軟體授權
新增 vCenter / Composer 伺服器角色
當管理人員新增完 Horizon 7 軟體授權後,便可以準備新增 vCenter 及 Composer 伺服器資訊,以利後續 VDI 虛擬桌面的佈建作業。請在 Horizon 管理介面中,依序點選「View Configuration > Server > vCenter Server > Add」,在彈出的新增 vCenter Server 視窗中,填入 vCenter 伺服器管理者資訊。
通過 vCenter 伺服器的驗證程序後,接著填入 Composer 伺服器的管理資訊,此實作環境中因為 Composer 伺服器,並未跟 vCenter 伺服器安裝在同一台主機中,因此選擇「Standalone View Composer Server」選項。最後,在儲存空間頁面中詢問勾選是否啟用相關特色功能,例如「Reclaim VM disk space」或「Enable View Storage Accelerator」,請管理人員依照運作架構環境需求勾選即可。
通過 vCenter 伺服器的驗證程序後,接著填入 Composer 伺服器的管理資訊,此實作環境中因為 Composer 伺服器,並未跟 vCenter 伺服器安裝在同一台主機中,因此選擇「Standalone View Composer Server」選項。最後,在儲存空間頁面中詢問勾選是否啟用相關特色功能,例如「Reclaim VM disk space」或「Enable View Storage Accelerator」,請管理人員依照運作架構環境需求勾選即可。
圖 19、新增 vCenter 及 Composer 伺服器資訊
組態設定 Event 資料庫
在 Horizon 運作架構中,系統運作狀態及組態設定和 VDI 虛擬桌面運作資源,都會記錄於 Horizon Event 資料庫當中。然而,當你點選 Horizon View Administrator 管理介面中的「事件」項目時,將會發現無法看到任何事件記錄於其中,原因是必須先指定 Event DB 事件資料庫之後才行。在目前 Horizon 事件資料庫中,支援 Microsoft SQL Server 及 Oracle 資料庫。
在本文實作環境中採用 Microsoft SQL Server 2016 SP2 所建構的資料庫環境。請於 Horizon 管理介面中,依序點選「View Configuration > Event Configuration > Event Database > Edit」,此時將彈出編輯事件資料庫視窗,請填入資料庫伺服器主機名稱或 IP 位址、連接埠、資料庫名稱……等資訊,設定事件資料庫完成後,此時再度點選「事件」項目便可以看到相關事件,以幫助你進行故障排除任務。
此外,管理人員也可以在 Horizon 7 Administrator 管理介面上方按下「Horizon Console」,便會開啟新的「Horizon Console UI」管理介面,後續也可以透過新的管理介面建立及監控 VDI 虛擬桌面資源池及應用程式資源池。
在本文實作環境中採用 Microsoft SQL Server 2016 SP2 所建構的資料庫環境。請於 Horizon 管理介面中,依序點選「View Configuration > Event Configuration > Event Database > Edit」,此時將彈出編輯事件資料庫視窗,請填入資料庫伺服器主機名稱或 IP 位址、連接埠、資料庫名稱……等資訊,設定事件資料庫完成後,此時再度點選「事件」項目便可以看到相關事件,以幫助你進行故障排除任務。
圖 20、組態設定 Horizon Event 事件組態資料庫
此外,管理人員也可以在 Horizon 7 Administrator 管理介面上方按下「Horizon Console」,便會開啟新的「Horizon Console UI」管理介面,後續也可以透過新的管理介面建立及監控 VDI 虛擬桌面資源池及應用程式資源池。
圖 21、新的 Horizon Console UI 管理介面
結語
透過本文的說明及實作相信讀者已經了解,在最新 Horizon 7.6 VDI 虛擬桌面解決方案有哪些特色功能,能夠幫助企業及組織建立更靈活、高擴充性、高可用性的 VDI 虛擬桌面運作環境,同時也剖析如何規劃 Horizon 7.6 運作架構及資源管理的部分,最後進行實戰演練以便協助管理人員更深入了解整個運作架構及建置流程。