99 期 - 優化 Hyper-V 遠端桌面,確保 VDI 用戶效能體驗


網管人雜誌

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





文章目錄

1、前言
2、實作環境
3、RDS 桌面虛擬化運作架構
          RemoteFX 增強功能
          RemoteFX for WAN
          RemoteFX Adaptive Graphics
          RemoteFX USB Redirection
          RemoteFX Media Remoting
          RemoteFX Multitouch
          RemoteFX vGPU
4、如何選擇實體伺服器硬體規格
          中央處理器(CPU)
          記憶體(Memory)
          硬碟(Hard Disks)
          週邊匯流排及介面卡(Peripheral Bus & Adapter)
          電力配置優化
          VM 虛擬主機優化調校
5、VDI 虛擬桌面伺服器數量估算
6、結語





1、前言

隨著雲端運算以及 BYOD(Bring Your Own Device)等議題的推波助瀾之下,同時企業或組織部署及導入伺服器虛擬化平台也已經非常普及。通常在企業或組織導入虛擬化的階段中,第一階段便是伺服器虛擬化,也就是將公司正式營運的實體伺服器整併到虛擬化平台中。

隨著伺服器虛擬化整併作業完成之後,接著便會進入第二階段桌面虛擬化,將公司使用者日常工作的裝置,從需要大量 Desktop Help 維護人力的傳統 PC 主機,更換成不太需要人力維護且耗電更少的 Thin / Zero Client

圖 1、工作環境轉為 Zero Client,有效減少 Desktop Help 人力維護成本

本文將從如何選擇最適合運作 Windows Server 2012 R2 的實體伺服器硬體規格開始談起,進而說明及討論該如何進行哪些最佳化配置及調校,以幫助您建構出效能及彈性最佳化的 Hyper-V 3.0 R2 桌面虛擬化平台

圖 2、Microsoft 桌面虛擬化運作架構示意圖





2、實作環境

  • 發行公司: Microsoft
  • 官方網址: http://www.microsoft.com
  • 作業系統: Windows Server 2012 R2
  • 軟體版本: 6.3
  • 評估下載: http://technet.microsoft.com/zh-tw/evalcenter/dn205286.aspx

圖 3、下載 Windows Server 2012 R2 映像檔





3、RDS 桌面虛擬化運作架構

由於 BYOD 行動工作浪潮的席捲催化下,加上大部份公司及組織已經建置虛擬化平台。自然而然便將虛擬化工作階段推向至第二工作階段,也就是導入桌面虛擬化機制,以滿足使用者能夠在任何時間(Any Time)、任何地方(Any Where)、任何裝置(Any Device),隨時方便存取公司的「機敏資料(Sensitive Data)」及「應用程式(Application)」(而不像傳統遠端存取解決方案那般麻煩 !!)。

圖 4、Microsoft 桌面虛擬化管理

然而,在方便使用者存取公司機敏資料的前提下,除了要提供高度安全性並且符合法規要求之外,更重要的是必須有良好的使用者操作體驗才行,舉例來說 如果透過桌面虛擬化遠端工作階段,開啟一個 PDF 檔案卻需要等待長達三分鐘時間,相信是不會使用者想要使用這樣的技術。

早在 Windows NT Server 4.0 版本中,便已經開始有「終端機服務(Terminal Service)」。從 Windows Server 2008 R2 開始,便正式改名為「遠端桌面服務(Remote Desktop Services,RDS)」,除了新增或增強許多特色功能,例如,Windows Media Redirection、Multiple Monitors、Aero Glass Desktop、Enhanced Bitmap Codecs...等之外,可建立二種不同模式的遠端桌面架構,分別是 Virtual Desktop(VM Based)、Virtual Session(Session Based)。並在 Windows Server 2008 R2 SP1 中,導入 RemoteFX 技術進一步提升遠端桌面體驗。

圖 5、Windows Server 2012 R2 VDI 遠端桌面二種運作模式

現在,新一代的微軟 Windows Server 2012 R2 虛擬化平台,除了在 VM Level 提供更好的運作效能外,也加入許多特色功能,例如,智慧型更新(Intelligent Patching)功能,能自動更新 Pool Based 或 Session Based 的安全性更新,同時在更新過程中盡量減少資源及網路頻寬的耗用。公平共用(Fair Share)機制,能夠動態調整 Hyper-V 主機的 CPU、Network、Disk I/O 硬體資源使用,避免某些 Virtual Desktop 影響整台伺服器運作效能。

你可以依照所要架設的桌面虛擬化架構,決定將相關運作元件集中在同一台(快速入門)或者安裝在不同台(標準部署)主機當中。

圖 6、決定將遠端桌面服務部署在同一台主機或分散至多台主機

圖 7、採用快速入門方式將相關角色安裝至同一台主機

整個桌面虛擬化架構當中,遠端桌面服務運作元件及功能說明如下:

  • 遠端桌面工作階段主機(Remote Desktop Session Host): 簡稱為 RD 工作階段主機(RD Session Host),負責讓伺服器主機能夠控制 RemoteApp 程式及工作階段。使用者可以透過連線至提供集中工作階段的 RD 工作階段伺服器,以便在這些伺服器上執行應用程式、儲存檔案及使用相關資源。
  • 遠端桌面虛擬主機(Remote Desktop Virtualization Host): 簡稱為 RD 虛擬主機(RD Virtualization Host),需啟用 Hyper-V 3.0 R2 虛擬化技術,提供集區虛擬桌面(Pool Virtual Desktop)、個人虛擬桌面(Personal Virtual Desktop)及 RemoteApp 程式。
  • 遠端桌面連線代理人(Remote Desktop Connection Broker): 簡稱為 RD 連線代理人(RD Connection Broker),負責將使用者連線要求能夠自動進行負載平衡作業,平均分散使用者連線要求至 RD 工作階段主機或 VDI 虛擬桌面。
  • 遠端桌面Web存取(Remote Desktop Web Access): 簡稱為 RD Web 存取(RD Web Access),讓使用者透過瀏覽器便能存取虛擬桌面及 RemoteApp 程式。
  • 遠端桌面閘道(Remote Desktop Gateway): 簡稱為 RD 閘道(RD Gateway),讓經過授權的使用者能夠從網際網路或其它地方,連線至公司內部網路的虛擬桌面、RemoteApp程式以及以工作階段為基礎的桌面。
  • 遠端桌面授權(Remote Desktop Licensing): 簡稱為 RD 授權(RD Licensing),管理連線到遠端桌面工作階段主機或虛擬桌面時所需的軟體授權,您可以透過 RD 授權機制來安裝、簽發、追蹤授權的可用性。

圖 8、Microsoft 桌面虛擬化 – RDS 元件架構示意圖



RemoteFX 增強功能

在舊版 Hyper-V 2.0 時便已經新增 RemoteFX 機制,新一代 Hyper-V 3.0 R2 虛擬化平台中,除了將RDP通訊協定增加,並且能夠適應低頻寬(Low Bandwidth)、高延遲(High Latency)的網路環境之外,更增加如下圖所示等特色功能。

圖 9、RemoteFX 架構示意圖



RemoteFX for WAN

透過網路自動檢測(Network Auto-Detect)機制,偵測網路環境中的延遲時間(Latency)及可用頻寬(Available Bandwidth)後,自動偵測 End-to-End 的網路速度,然後結合動態流量檢測(Dynamic Transport Detection)機制,將根據傳輸的內容(Content Type),以及連線品質(Connection Quality),進行智慧型判斷採用 TCP 或 UDP 協定傳輸。因為防火牆規則中預設僅會開啟 TCP Port 3389,因此若選擇採用 UDP 時將會「自動新增 UDP Port 3389」 的防火牆規則,之後才進行資料傳輸。

然後,採用網路封包遺失補償(Compensation for Network Packet Loss)機制,來因應 RDP 協定發生封包遺失(Packet Loss)的情況,當發生時便採用 FEC(Forward Error Correction)技術來快速恢復封包傳送,而不用再重新傳送。因此,使用者即使在低頻寬的 WANs 環境(例如,子公司、飯店、家裡),仍能提供良好的使用者操作體驗。



RemoteFX Adaptive Graphics

當使用者身處 WANs 環境進行連接時,也能使用 Windows Aero 及 3D 圖形機制(採用 Microsoft Basic Display Adapter),預設情況下以提供「」品質的圖形品質給使用者。如果,希望調整預設處理行為,在群組原則管理編輯器中依序點選「電腦設定 > 原則 > 系統管理範本 > Windows 元件 > 遠端桌面服務 > 遠端桌面工作階段主機 > 遠端工作階段環境」項目,然後啟用「設定 RemoteFX Adaptive Graphics 的影像品質」選項即可。

當你將影像品質調整為「」時,雖然會提供高品質影像但是相對的會使用較多的網路頻寬,若調整為「不失真」時則除了耗用最多網路頻寬之外,Hyper-V Host 主機的 CPU 使用量也會升高,此設定值通常用於檢視特殊內容時才會使用(例如,X 光片)。

圖 10、透過 GPO 群組原則調整 RemoteFX Adaptive Graphics 影像品質

RemoteFX Adaptive Graphics 優化機制,會依照不同的網路環境及內容進行相關的優化動作及編碼,以調校不同的內容呈現方式,例如,文字內容(Text Content)、圖形內容(Image Content)、影像/動畫(Video/Animations)

圖 11、RemoteFX Adaptive Graphics 內容下載優化機制

並且在下載相關內容時,並不像傳統方式般下載完內容後才一次全部呈現,而是改為採用「漸進式呈現(Progressive Rendering)」的方式,如下圖所示會將下載內容先大致呈現出來,此時所呈現的內容雖然還很模糊,但是對於使用者操作體驗來說卻是馬上有回應的感覺(使用者便會耐心等待,而不是再次按下重新整理鈕 !!),接著再漸漸將下載內容慢慢進行清晰處理。

圖 12、RemoteFX Adaptive Graphics 漸進式呈現下載機制



RemoteFX USB Redirection

在舊版 Hyper-V 2.0 虛擬化平台中,僅 RD Virtualization Host 運作模式才支援此功能。新版 Hyper-V 3.0 R2 虛擬化平台中,已經將 RD Session/Virtualization Host 皆支援此機制,也就是讓 Standard USB Device 能夠重新導向至 Remote Session

目前,支援的 USB 裝置有 USB 隨身碟(USB Flash Drives)、照相機(Cameras)、印表機(Printers)、掃描器(Scanners)、生物辨識感應卡機(Biometric Readers)、網路攝影機(Webcams)、VoIP 電話及耳機...等,以及其它標準 USB 裝置。

預設情況下並未啟用 USB 裝置重新導向機制,若要啟用此特色功能可以透過 GPO 群組原則,在群組原則管理編輯器中依序點選「電腦設定 > 原則 > 系統管理範本 > Windows 元件 > 遠端桌面服務 > 遠端桌面連線用戶端 > RemoteFX USB 裝置重新導向」,啟用「允許其它支援的 RemoteFX USB 裝置從這部電腦執行 RDP 重新導向」項目即可。

圖 13、透過 GPO 群組原則啟用 USB 裝置重新導向功能



RemoteFX Media Remoting

除了使用新的動態影像編碼 Codec 傳輸聲音及影像之外,並且能夠減少 50% 網路頻寬耗用,因此在變動(variable)不可靠(unreliable)的網路環境中,仍能提供流暢的多媒體體驗(例如,H.264 編碼影像串流等)。請注意!! Hyper-V 虛擬化主機記得需要安裝「桌面體驗(Desktop Experience)」功能才行。



RemoteFX Multitouch

使用者在遠端桌面環境中,能夠採用支援多點觸控功能(Multitouch Enabled)、手勢功能(Gesture Enabled)的應用程式。Hyper-V 虛擬化主機記得需要安裝「桌面體驗(Desktop Experience)」功能才行。



RemoteFX vGPU

目前市場上主流的二種 GPU 應用方式,分別是共享式 GPU(Shared GPU)、專屬 GPU(GPU Pass-Through),而 RemoteFX vGPU 所支援的運作方式為「共享式 GPU(Shared GPU)」,來協助處理進階圖形的工作負載。舊版 Hyper-V 2.0 虛擬化平台中支援 DirectX 9,而新版 Hyper-V 3.0 R2 能支援至 DirectX 11、OpenGL 4.0、OpenCL 1.1,此外若採用的 Virtual Desktop 作業系統為 Windows 8 時,即使不採用 RemoteFX vGPU 功能,也能支援 DirectX 11。

下列表格中,整理目前主流 GPU 顯示卡且支援 RemoteFX 技術:

圖 14、目前市場上主流的 GPU 顯示卡且支援 RemoteFX 技術列表





4、如何選擇實體伺服器硬體規格

當你要選購運行桌面虛擬化平台的實體伺服器之前,應該要考慮哪些硬體規格及細項,以避免屆時發生工作負載上的效能瓶頸,舉例來說,在預算有限的情況下,與其追求處理器的「時脈(Clock Rate)」速度上,更應該著重在處理器「核心(Cores)」數量方面才是正確的。



中央處理器(CPU)

請選擇具備更多「定址空間(Address Space)」的 64 位元處理器,以及大容量的 L2/L3/L4「快取(Last Level Cache)」。此外,為了因應虛擬化平台的工作負載,請至少選擇支援第一代硬體輔助虛擬化技術的中央處理器,例如,Intel-VTxAMD-V(否則伺服器將無法啟用 Hyper-V 角色!!),當然若支援第二代硬體輔助虛擬化技術,例如,Intel EPT(Extended Page Tables)AMD NPT(Nested Page Tables)更好,將能有效降低虛擬化工作負載。



記憶體(Memory)

伺服器的實體記憶體部份當然是愈多愈好!! 因為當實體伺服器記憶體空間不足時,便會迫使 Windows Server 採用硬碟空間產生「分頁檔案(Paging Files)」,以補足不夠的記憶體空間,直接影響並降低了實體伺服器的運作效能。

同時,選擇支援 NUMA(Non-uniform memory access)架構的實體伺服器,以避免 CPU 處理器與記憶體之間的資料存取行為,因為匯流排頻寬不足的問題而產生存取瓶頸。

圖 15、虛擬主機正確感知實體主機 NUMA Node 架構



硬碟(Hard Disks)

在虛擬化架構中另一個重要的環節就是「硬碟」,不同的硬碟種類、轉速、磁碟陣列類型、控制器快取...等,都會影響整體的 IOPS(Input/Output Operations Per Second)效能表現。

下列表格為目前市面上常見的硬碟其 IOPS 效能表現,你可以透過下列表格進行估算儲存裝置總體的 IOPS 數值:


此外,當採用不同的磁碟陣列(Redundant Array of Independent Disks,RAID)模式時,也會造成不同程度的資料「寫入效能處罰(Write I/O Penalty)」需要考量,舉例來說,建立 RAID-5、RAID-6 磁碟陣列類型時,雖然整體磁碟空間損失較少,但是 IOPS Write I/O Penalty 損失較多。


所以,若採購一台 2U 實體伺服器,配備 16 顆 300GB SAS 介面 10,000 RPM 轉速的硬碟(單顆硬碟取 130 的 IOPS 數值),資料的讀取及寫入狀況採 50% / 50% 的比例,並分別採用了 RAID 5、RAID10 二種磁碟陣列模式進行比較。

這樣的一台 2U 實體伺服器,經過下列概算公式後可以看到採用 RAID 5 磁碟陣列,雖然可以得到較大磁碟空間「4.5 TB」,但是 IOPS 資料讀寫能力為「832」。

圖 16、採用 RAID 5 磁碟陣列模式 IOPS 簡易估算值

但是,同樣的 2U 實體伺服器在採用不同的磁碟陣列模式 RAID 10,並經過同樣的概算公式後可以看到,雖然得到較小的磁碟空間「2.4 TB」,但是 IOPS 資料讀寫能力則大幅提升為「1,387」。

圖 17、採用 RAID 10 磁碟陣列模式 IOPS 簡易估算值

此外,當磁碟陣列卡(RAID Card)或儲存設備,加裝了「快取Cache(RAID Card Memory)」及「智慧型電池 BBU(Battery Backup Unit)」之後,通常便能開啟資料「寫入快取 (Write Cache with BBU)」機制,這樣的機制也能有效降低資料寫入效能處罰的影響。



週邊匯流排及介面卡(Peripheral Bus & Adapter)

在伺服器週邊介面卡方面,請採用通過 Windows Hardware Certification 驗證流程的介面卡,且速度較快的「快速週邊組件互連(PCI Express,Peripheral Component Interconnect Express)」規格介面卡,例如,PCIe x8 或 x16。

此外,盡量挑選可降低 Hyper-V 主機 CPU 工作負載的網路介面卡,例如,支援 RSS(Receive Side Scaling )、VMQ(Virtual Machine Queue)...等卸載功能的介面卡。

在介面卡的埠方面,該選擇單埠(Single Port)、多埠(Dual Port、Quad Port)? 若實體伺服器的 PCIe Slot 插槽足夠的情況下,建議採用單埠(Single Port)的介面卡較適合,主因是為了避免傳輸瓶頸卡在 PCIe Slot 匯流排。因為目前速度最快的 PCIe x16 在全雙工的情況下傳輸也只有 8Gb/s,若在 PCIe Slot 中插上 2 埠 10G 網路卡,可想而知當工作負載升高時,勢必會造成傳輸瓶頸卡在 PCIe Slot 匯流排的現象。



電力配置優化

除了實體伺服器本身的硬體元件電力損耗之外,所安裝的 Windows Server 2012 R2 雲端作業系統的電源設定,也同樣會影響整體的運作效能及電力損耗表現,預設情況下 Windows Server 2012 R2 電源計劃為「平衡」,也就是自動在運作效能及電力損耗之間取得一個平衡點。

若希望屆時運作的VM虛擬主機擁有高效能表現,應該要將電源計劃調整為「高效能」,此時便觸發實體伺服器的硬體功能,例如,Intel Turbo BoostAMD Turbo CORE 技術,讓實體伺服器工作負載即使處於滿載情況時,效能表現仍維持最佳甚至更好,但缺點就是會消耗較多的電力。反之,若是電源計劃設定為「省電」,便會自動停用實體伺服器所支援的 Turbo 技術。

圖 18、Windows Server 2012 R2 預設情況下電源計劃設定值為平衡



VM 虛擬主機優化調校

由於每台 Hyper-V 虛擬化主機屆時將運作多台 VM 虛擬桌面,經過相關優化調校程序後,除了 VM 虛擬主機本身運作效能增加之外,對於 Hyper-V 主機整體的效能提升也很有幫助,雖然這些優化調校作業可能看似不起眼,假若優化調校作業完成後每台VM虛擬主機可以提升 0.2% 效能,當一台 Hyper-V 主機運作了 150 台 VM 虛擬桌面時,將可以帶來「30%」的整體效能提升。

VM 虛擬主機優化調校項目:
  • Guest OS 應安裝或升級為最新版本整合服務,以便與 Hyper-V Hypervisor 形成最佳化運作模式。
  • 移除傳統網路介面卡(Emulated Network Adapter),改採與整合服務最佳化驅動程式的網路介面卡(Microsoft Hyper-V Specific Adapter)。
  • 移除或中斷連接未使用的媒體裝置,例如,SCSI 控制器、CD-ROM、COM Port、Floppy。
  • 停用 Guest OS 螢幕保護、排程備份、磁碟重組...等機制。
  • 停用 Hyper-V Host 及 Guest OS 開機時,自動開啟伺服器管理員的機制,並延長重新整理的間隔時間。
  • 在 Hyper-V Host 上避免持續開啟 Hyper-V 管理員視窗,因為它必須不斷更新 VM 虛擬主機相關資料(例如,動態記憶體使用數值),以及 VM 虛擬主機的運作畫面縮圖。
  • 停用 Guest OS 當中不必要的系統服務,例如,SuperFetch、Windows Search、Scheduled Defrag...等。

圖 19、將 VM 虛擬桌面中不必要的媒體裝置如 CD-ROM 進行移除





5、VDI 虛擬桌面伺服器數量估算

當您將虛擬桌面相關的運作元件及功能了解之後,那麼便可以協助估算出當環境中需要多少台 VM 虛擬桌面時,整個 VDI 架構中負責承載虛擬桌面的伺服器需要進行怎樣的等比擴充。

下列表格中用於 VDI 虛擬桌面的實體伺服器,硬體資源部份採用的 CPU 為 E5-2690(2.90GHz)並配置 192GB 記憶體,在硬碟方面為 10 顆 SAS 介面 15,000 RPM (採用 RAID 10)。在 VM 虛擬桌面部份,採取中度使用量行估算,安裝作業系統為 Windows 8(32位元)及 Office 2013,以每台實體伺服器的 CPU Coer 將負責 10 個 VM 虛擬桌面,並配置 1GB 記憶體及耗用 10 IOPS 資料讀寫效能,至於傳輸協定的 RDP 網路耗用頻寬則為每個連線「400 Kbit/second」。

圖 20、VDI 虛擬桌面實體伺服器主機資源估算表





6、結語

雖然伺服器虛擬化與桌面虛擬化都是虛擬化解決方案,但是在硬體規劃或運作架構上都有些許不同,舉例來說 伺服器虛擬化在硬體規劃上,比較偏重於伺服器主機的 CPU/Memory 等運算資源。但桌面虛擬化在硬體規劃上,則首要偏重於儲存設備的 IOPS 工作負載能力。

希望透過本文的分析及討論,能夠幫助讀者在規劃桌面虛擬化解決方案時,架構出功能更全面運作效能更佳的 VDI 桌面虛擬化平台。