萬能技客
新增 Hyper-V 至 RDS 獲得廉價的虛擬桌上型電腦
Greg Shields
裝載虛擬桌上型電腦並不能解決所有的應用程式問題。
這些裝載在 Hyper-V 上並且透過遠端桌面服務 (RDS) 傳輸給使用者的虛擬化桌上型電腦耗用相當多的伺服器資源,而且所涉及的安裝和管理步驟比傳統 RDS 更繁多。相較之下,需要更多的伺服器硬體才能支援相同數量的同時使用者。它們額外所需的儲存空間,可能會外加一筆成本。
話雖如此,探索虛擬桌上型電腦的大小型組織始終在增加。如果把 2008 和 2009 年喻為 IT 媒體界的「伺服器虛擬化年」,那麼 2010 年以後可說是「桌上型電腦虛擬化年」。
有這麼多明顯的指標指出裝載的虛擬化桌上型電腦其實更複雜、成本更高,而且要投入的工作比傳統 RDS 更多,那為什麼我們還要討論它們呢?原因很簡單,它們的成效不凡。
RDS 跟它的原型終端機服務 (TS) 一樣,是將使用者連接到其應用程式的最佳化解決方案。建立 TS 或 RDS 伺服器,並安裝應用程式到這類伺服器,長久以來一直是將應用程式整併回資料中心的機制。以伺服器為基礎的運算在使用網路做為傳輸媒介提供豐富多樣的應用程式和資料存取方面有它悠久的歷史。
但是在 TS 和 RDS 中,有項限制仍舊是許多環境的絆腳石。簡單的說:有些應用程式就是無法與遠端服務技術順利搭配運作。其他應用程式可能需要自訂登錄或是其他非一般 IT 萬事通專家的經驗所能及的駭客技術,才能運作。消除 TS/RDS 的工作階段複雜度,並且以一對一的方式將應用程式安裝到虛擬桌上型電腦可避開許多這類問題。
透過虛擬桌上型電腦來擴充 RDS 的眾多理由當中,以著手處理應用程式衝突和管理問題應用程式的效能為最。將虛擬桌上型電腦加入將使用者連接到應用程式和資料的其他機制當中,對您的小型企業來說,可能是明智之舉。
現成虛擬桌上型電腦:一部伺服器四項角色服務
在 Windows Server 2008 R2 中加入虛擬桌上型電腦從預算的觀點來看相當吸引人,只要手頭邊有 Windows Server 授權就行了。
在本例中,我要向您示範如何使用該授權來建立一種「現成虛擬桌上型電腦」。您可以使用這種單一伺服器的環境來評估該項技術,甚或是用作為小型生產環境。使用者可透過遠端桌面 Web 存取自動產生的網頁,在這類環境內連接到其虛擬桌上型電腦。使用者可以從該單一網頁選取他們的個人虛擬桌面,這是特別連結到他們的使用者帳戶的虛擬桌上型電腦。
建立這類環境需要將 RDS 角色還有它的四項角色服務全都安裝到這一部伺服器:
- RD 工作階段主機。 這項角色服務會處理在過去與 RDS 或 TS 相關聯的工作階段功能。在本例中,RD 工作階段主機將在「重新導向模式」中使用遠端桌面通訊協定傳輸虛擬桌上型電腦的螢幕、鍵盤和滑鼠命令。
- RD 連線代理人。 連線代理人在這類環境中的主要工作是將使用者連接到其正確的虛擬桌上型電腦。
- RD Web 存取。 這項角色服務同時會安裝 IIS 的元件,建立和管理使用者連接到其虛擬桌上型電腦所存取的網頁。
- RD 虛擬主機。 這項角色服務會新增功能到 Hyper-V,使它可以將虛擬桌上型電腦供使用者使用。安裝這項角色服務也會安裝 Hyper-V 角色 (如果尚未安裝的話)。請記住,建立這種「現成」環境時,選定伺服器的硬體必須支援 Hyper-V 的最低需求。
要開始,請將這四種角色服務隨同其必要條件一起安裝到相同的電腦上。並在收到提示時選擇每項安裝的預設值,並允許電腦重新開機。
建立您的第一部虛擬桌上型電腦
這些服務都安裝好之後,要完成幾項不同的設定才能將它們互連。另外也需要建置及特別設定一部 Windows 7 桌上型電腦,這部電腦最終會變成您的第一部虛擬桌上型電腦。最好是先安裝和設定該桌上型電腦的虛擬機器和 OS,因為您在稍後的步驟中需要它的資訊。
建立 Windows 7 虛擬桌上型電腦跟建立任何新的虛擬桌上型電腦沒有什麼太大的差別。先是瀏覽至 Hyper-V 管理員,接著像建立其他任何虛擬機器一樣建立虛擬機器。為虛擬機器指派適當的 RAM 容量和硬碟空間,以及正確的網路。將它的實體 CD/DVD 磁碟機連接到您的 Windows 7 ISO 檔案,然後繼續安裝程序。請記下您指派給這台虛擬機器的唯一名稱,因為 RD 連線代理人需要這項資訊才能將使用者連接到其虛擬桌上型電腦。
為新虛擬桌上型電腦取名並提供 IP 位址,然後將它連接到您的網域。接下來,您需要完成幾項特殊設定來準備 OS,以成為可遠端存取的虛擬桌上型電腦。這些特殊設定詳述如下 (每項設定都應該在虛擬桌上型電腦的虛擬機器 OS 內完成):
- **啟用遠端桌面。**若要允許遠端連線至此電腦,顯然需要啟用它的遠端桌面服務。方法是檢視 [電腦] | [內容],選取 [遠端設定] 索引標籤,然後按一下 [僅允許來自執行含有網路層級驗證之遠端桌面的電腦進行連線] 選項按鈕。
- **將使用者新增到 Remote Desktop Users 群組中。**您必須特別將非系統管理員的使用者新增到電腦的本機 Remote Desktop Users 群組。方法是在 [本機使用者和群組] 中將該使用者的網域使用者帳戶新增到 Remote Desktop Users 群組。
- **針對 RDS 允許遠端 RPC。**您必須變更登錄以啟用桌上型電腦的遠端 RPC。在虛擬桌上型電腦的登錄路徑 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer 中,將 AllowRemoteRPC 的 REG_DWORD 值變更為 1。
- **啟用防火牆例外。**如果您的環境使用 Windows 防火牆,則必須新增程式例外以進行遠端服務管理。
- **修改 RDP 通訊協定權限。**在最後這項設定中,您必須在虛擬桌上型電腦上以較高的權限啟動命令提示並輸入一連串命令。這些命令依序列示如下。請在每個命令中,以您網域的 NetBIOS 名稱取代 {domain},並以 Hyper-V 伺服器的名稱取代 {rdv_host}:
wmic /node:localhost RDPERMISSIONS where TerminalName="RDP-Tcp" CALL AddAccount "{domain}\{rdv_host}$",1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='{domain}\\{rdv_host}$'" CALL ModifyPermissions 0,1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='{domain}\\{rdv_host}$'" CALL ModifyPermissions 2,1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='{domain}\\{rdv_host}$'" CALL ModifyPermissions 9,1
完成這些設定之後,重新開機並確定在電源開啟的狀態下登出。登出電腦後,使用者便能夠在最後設定完成後登入其虛擬桌上型電腦。
連接四項角色服務
建立並備妥您的第一部虛擬桌上型電腦後,要將這四項角色服務互連最後還有幾個步驟。這些步驟包括讓 RD 連線代理人和 RD Web 存取伺服器知道彼此的存在,設定私人虛擬桌上型電腦的連線,以及最後一步,指派使用者。
第一步是告知 RD 連線代理人您打算用哪部電腦做為 RD Web 存取伺服器。方法是瀏覽至伺服器的本機使用者和電腦帳戶,然後將其電腦帳戶新增到 TS Web Access Computers 群組。
[圖 1] 設定 RD Web 存取
第二步是在 RD Web 存取內設定 RD 連線代理人來源。這個程序會完成這兩項角色服務之間的連線。您可以瀏覽至 [系統管理工具] | [遠端桌面服務] | [遠端桌面 Web 存取設定] 來完成這個動作。這個連結會啟動 Internet Explorer,並將它連線到本機電腦的 RD Web 存取管理頁面。使用您的系統管理員認證登入之後,應該會看到類似於 [圖 1] 的畫面。確定已選取該處 RD 連線代理人伺服器旁邊的選項按鈕。由於這兩種角色是在同部電腦上,您可以安心地在 [來源名稱] 方塊中保留「localhost」。
完成第二項工作後,即可建立必要的連線,讓您的使用者能夠瀏覽到此伺服器的網頁,稍後找出他們的虛擬桌上型電腦。
第三步則是實際設定與您的虛擬桌上型電腦的連線。這是在名為遠端桌面連線管理員的新系統管理工具內完成 (請參閱 [圖 2])。如您所見,有幾項設定值都還沒有設定。我們現在就來設定這些設定值。
[圖 2] 遠端桌面連線管理員
這個主控台隨附一個精靈,會開始連接到虛擬桌上型電腦的程序。按一下標題為「設定虛擬桌面精靈」的 [執行] 窗格內的連結。精靈首先會要求輸入 RD 虛擬主機伺服器的名稱。這部伺服器會對應到驅動您的虛擬桌上型電腦的虛擬機器的 Hyper-V 主機。
[圖 3] 設定虛擬桌面精靈
在下個畫面中,精靈會要求您輸入 RD 工作階段主機伺服器的完整格式網域名稱 (請參閱 [圖 3])。您也會看到用於將下層用戶端 — 不是執行遠端桌面連線用戶端的 6.1 版的用戶端 — 重新導向替代伺服器的設定。在這個「現成」範例中,應該設定這個畫面和先前的畫面指向裝有全部四個角色服務的單一伺服器。
下一步是設定 RD Web 存取伺服器。在之前的設定中可能已經指定這部伺服器。按一下 [下一步] 和 [套用] 即可完成設定;不過另外還需要一項設定才能將虛擬桌上型電腦與使用者連結。只要確定核取標示為 [指派個人虛擬桌面] 方塊,即可在精靈的最後一頁中自動啟動這個主控台。
[圖 4] 個人虛擬桌面精靈
個人虛擬桌面是以一對一的方式特別連結到個別使用者。這表示任何特定的使用者會有一個個人虛擬桌面,而每個個人虛擬桌面只會有一名使用者。這個連結是使用「指派個人虛擬桌面精靈」建立的,如 [圖 4] 所示。此處的使用者名稱會與一台虛擬機器相關聯。您可以在圖中看到系統管理員使用者如何與名為 w7-vdesktop.contoso.com 的虛擬機器相連結。
[圖 5] 透過 RD Web 存取來存取個人虛擬桌面
精靈一完成後,您的使用者便能夠連線到 RD Web 存取網站 (https://localhost/RDWeb) 存取其個人虛擬桌面。使用者登入後,該虛擬桌上型電腦將在網頁上顯示成標示為 [我的桌面] 的圖示 (請參閱 [圖 5])。
個人虛擬桌面不過是個開端
本文開頭雖然抱怨桌面虛擬化的麻煩,但是您可能已經發現建立個人虛擬桌面的過程其實沒有那麼困難。這個「現成」設定不過是 Microsoft 的虛擬桌面解決方案的開端。只要多下點功夫,您就可以將環境擴展成多部 Hyper-V 伺服器,以及建置更適合特定需要的各種設定。
這類設定可能消除虛擬桌上型電腦及其使用者之間的直接連結。利用同樣的配備,您還可以建立集區虛擬桌面,在使用者起始連線時隨機將他們指派到類似設定的桌面。這些集區虛擬桌面對於使用 RDS 有問題的應用程式是絕佳的解決方案;不過因為使用者不保證每次都會連接到相同的虛擬桌面,因而需要審慎處理。
儘管有這些潛在問題,您應該從本月的專欄中獲取的最寶貴教訓是,桌面虛擬化會急遽增加將使用者連接到其應用程式和資料的各種不同的方式。針對您的需要尋找最恰當的方式則是您接下來的挑戰。
Greg Shields 是一位 MVP,他是 Concentrated Technology 的合夥人。若要了解更多 Shields 的《萬能技客》秘訣與技巧,請造訪 ConcentratedTech.com。