Windows Server 2008 終端機服務之負載平衡整合建置

**作者:**顧武雄,Microsoft MVP、MCITP 與 MCTS 認證專家、台灣微軟 Technet、TechEd、Webcast 特約資深顧問講師,讀者可以透過他的技術 Blog 與他聯絡。

**引言:**凡是用過 Windows Server 2008 所提供的終端機服務伺服器的企業 IT,都會一致肯定它的確是一個非常棒的 IT 服務部署解決方案,最起碼來說相較於前一版在功能上就已經有很大的突破,然而面對大流量與高可用性的建構需求來說,它同樣提供了能夠整合網路負載平衡 (NLB) 的運作機制。

打從 Windows Server 2003 所提供的終端機服務開始,許多企業IT對於它的使用就愛不釋手,其原因很簡單那就是藉由集中化的應用系統管理,能夠大幅減少 IT 維運的投資成本以及在硬體設備上的採購預算。

然而面對不同企業規模與使用量需求的終端機服務架構規話來說,中小型的企業環境可能只需要建置一兩部終端機服務主機便足以提供可靠的服務,而對於大型以上的企業使用環境來說,往往同一套應用系統就可能需要安裝在多台終端機服務主機上,來供大量的用戶端來連線存取,但是像這樣的規劃方式通常是在這一些終端機服務上的應用程式,有著共同連線存取的後端資料庫。

上述所提到架構設計方式,除了需要有共同連線存取的後端資料庫之外,在存取流量的負載平衡方式,還需要以手動劃分的方式來完成,例如規畫讓哪一些部門、小組的成員來連線特定的哪一部終端機服務主機,無論如何這種方式無法解決兩個主要問題,第一是高可用的目的以及連線存取流量的自動負載平衡。

想要在 Windows Server 2008 終端機服務的架構設計中,規劃出同時具有高可用性以及連線存取流量的自動負載平衡機制,只有使用內建的網路負載平衡 (NLB) 功能搭配終端機服務角色中的 TS 工作階段代理人主機建置即可達成。

請注意!採用硬體式的網路負載平衡設備 (例如:Layer 3 的網路交換器),在實際效能運作的整體表現上,往往會比採用內建的 NLB 功能來得好上許多,不過相對預算成本上也將高出許多。

為什麼 NLB 需要 TS 工作階段代理人
可能有讀者會有像這樣的疑問,那就是在 Terminal Service 的伺服器集區規劃中為什麼需要有一部擔任 Session Broker 的主機呢?不是應該只要結合 NLB 的機制就可以了嗎?
事實上 Session Broker 的用途便是用以確保先前被中斷的遠端 Terminal Service 連線的 Session 在被中斷之後,能夠再下一次進行連線時重新導向到原先 NLB 集區中的 Terminal Service 主機。

 

關於 Windows Server 2008 所提供的終端機服務的 TS 工作階段代理人運作機制,所有伺服器成員除了可以使用 Windows Server 2008 的標準版之外 (無需企業版本),所有的終端機服務伺服器成員都必在相同的網域中。

在接下來的操作說明中,我們假設您已經完成了前端兩部以上的終端機服務伺服器角色的安裝了,因此接下來我們要講解的一連串動作,將只會針對後端的 TS 工作階段代理人安裝設定、網路組態設定以及網路負載平衡設定進行說明。

安裝 TS 工作階段代理人

首先請在開啟 [伺服器管理員] 介面之後,在 [角色] 的節點頁面中請點選 [新增角色],然後在 [選取伺服器角色] 頁面中勾選 [終端機服務] 項目,點選 [下一步] 繼續。 接下來將會開啟 [終端機服務] 簡介頁面,這裡頭需要特別注意的是附註事項說明,內容清楚提到若我們只是要讓系統管理員透過遠端桌面,來進行遠端連線的維護管理,是不需要特別安裝終端機服務伺服器的,只要確認在 [電腦] 內容中的遠端連線設定有啟用即可。點選 [下一步] 繼續。

接下來在 [選取角色服務] 的頁面中,如圖 1 所示請唯一將 [TS 工作階段代理人] 項目勾選之後,點選 [下一步] 繼續。


圖1 安裝 TS 工作階段代理人

接下來在 [確認安裝選項] 頁面中,可以看到系統會提醒我們在完成 TS 工作階段代理人安裝之後,必須將所有終端機服務的主機,從 Active Directory 使用者與電腦的管理介面中,將這一些電腦物件加入到 Session Directory Computers 本機群組中,請點選 [下一步] 繼續。如果一切順利,那麼將會出現安裝成功的顯示頁面,請點選 [關閉] 按鈕完成安裝。

完成了 TS 工作階段代理人安裝之後,最後我們可以同樣在 [伺服器管理員] 介面中,切換到 [終端機服務] 頁面中如圖所示來查看到目前 [Terminal Service Session Broker] 這個服務是否已經啟動,並且可以查看到有哪一些終端機服務的相關元件已經安裝。

設定 TS 工作階段代理人主機

完成了 TS 工作階段代理人的安裝之後,接下來要開始有關於這個部份的相關設定了。如果您是安裝在成員伺服器上,請由本機使用者與群組的管理中來開啟 [Session Directory Computers] 群組,如果是像筆者一安裝在測試用的網域控制站主機上 (DC),那麼請由 [Active Directory 使用者和電腦] 介面中的 [Users] 節點下來開啟。

在開啟了 Session Directory Computers 群組內容之後,請切換到 [成員] 頁面中將前端的每一部終端機服務主機加入,接下來就讓我們來看看這一部份的設定步驟說明。

在上一步驟的 [成員] 頁面中我們必須點選 [新增] 按鈕,接下來將會開啟如圖 2 所示的頁面,在預設的狀態下我們必須點選 [物件類型] 按鈕來將 [電腦] 加入,才能夠搜尋到像範例中的結果。


圖2 挑選 Session Directory Computers 群組成員

設定前端終端機服務組態

完成了 TS 工作階段代理人的設定之後,接下來當然需要來到前端每一部終端機服務主機的面前,來完成它們與後端 TS 工作階段代理人主機的連線。首先請在 [系統管理工具] \ [終端機服務] 下拉選單中點選開啟 [終端機服務設定]。執行之後請在 [TS 工作階段代理人] 區域中連續點選 [TS 工作階段代理人的伺服器陣列成員] 項目繼續。

接下來將會開啟如圖 3 所示的 [TS 工作階段代理人] 頁面,在此請將 [加入 TS 工作階段代理人中的伺服器陣列] 選像勾選,然後輸入那部主機的 FQDN 或 IP 位址,以及伺服器陣列的名稱,而這個名稱就是後續要結合網路負載平衡 (NLB) 的共用連線名稱,後面我們會進一步談到有關這部份的 DNS 設定。

接著請將 [參與工作階段代理人負載平衡] 的設定勾選,然後可以在下方下拉選單中設定相對權數,這個值設定越大即表示這部終端機服務的主機,所願意承擔的連線負載越大,因此可以根據實際不同主機的規格與效能表現來做調整,最後請在最下方的窗格中將要進行重新連線導向的本機 IP 位址勾選即可,點選 [確定] 完成設定。


圖3 TS 工作階段代理人設定

安裝網路負載平衡 (NLB) 功能

完成了終端機服務主機與 TS 工作階段代理人的相關設定之後,接下來我們必須在這一些前端的 Windows Server 2008 終端機服務主機上,安裝網路負載平衡 (NLB) 的功能,來準備讓這個服務可以正式上線提供給用戶端來連線存取。

首先請從 [系統管理工具] 下拉選單中開啟 [伺服器管理員] 介面,然後在 [功能] 節點頁面中點選 [新增功能],接著在如圖 4 所示的 [選取功能] 頁面中將 [網路負載平衡] 勾選,點選 [下一步] 繼續完成安裝即可。


圖4 安裝網路負載平衡 (NLB) 功能

設定 TS 網路負載平衡 (NLB)

緊接著我們必須來設定網路負載平衡的組態,這部份的設定只需要在其中的一部網路負載平衡主機上來統一設定即可。請從 [系統管理工具] 下拉選單中點選開啟 [網路負載平衡管理員] 介面。開啟之後請在最上層的節點上按下滑鼠右鍵點選 [新增叢集] 繼續。

接下來將會開啟如圖 5 所示的 [新增叢集:連線] 設定頁面,請在 [主機] 欄位中輸入第一部終端機服務電腦的名稱,然後點選 [連線] 按鈕。如果成功連線它將會在下方的窗格中列出目前所有可用的網路介面卡資訊,請在正確選取之後點選 [下一步] 繼續。


圖5 設定第一步 NLB 成員主機

接下來將會來到 [新增叢集:主機參數] 的頁面中,如圖 6 所示在此您可以設定它連線被存取的優先順序,或是編輯相關的網路卡 TCP/IP 設定,最重要的是要確定 [預設狀態] 的下拉選單中是設定為 [已啟動]。點選 [下一步] 繼續。


圖6 主機參數設定

接下來在 [新增叢集:叢集 IP 位址] 的頁面中,必須點選 [新增] 按鈕來定義叢集 IP 的組態設定,範例中是筆者已經新增設定好的,請點選 [下一步] 按鈕繼續。

接下來如圖 7 所示在 [新增叢集:叢集參數] 頁面中,在從下拉選單中選擇了前面所設定的 IP 位址之後,必須設定完整網際網路名稱,也就準備要讓用戶端連線的 FQDN 位址,至於在 [叢集操作模式中] 請選擇 [單點傳播] 即可,點選 [下一步] 繼續。


圖7 NLB 叢集參數設定

接下來在 [新增叢集:連接埠規則] 頁面中,可以讓我們設定在此指定的叢集 IP 位址中,有哪一些通訊埠以及通訊協定的連線要進行網路負載平衡,在預設的狀態下會全部開放,如果需要修改可以點選 [編輯] 或 [新增] 按鈕來定義。請點選 [完成] 按鈕。

完成了上述的操作便可以成功加入了網路負載平衡叢集中的第一部伺服器,接下來請在此網域名稱的節點上,按下滑鼠右鍵點選 [新增主機到叢集],來開始加入叢集中的第二部終端機服務主機。

接下來在 [新增主機到叢集:連線] 頁面中,必須在 [主機] 欄位中輸入所要加入的第二部終端機服務主機的名稱,然後點選 [連線] 即可。點選 [下一步] 繼續。

接下來在 [新增主機到叢集:主機參數] 頁面中,在此同樣必須先設定唯一的優先順序,然後確定 [預設狀態] 目前設定為 [已啟動] 即可。點選 [下一步] 繼續。

接下來在 [新增主機到叢集:連接埠規則] 頁面中,在此一樣可以設定所要篩選的網路流量組態,這包括了連接埠範圍、通訊協定、相似性等等。請點選 [完成] 按鈕。如圖 8 所示便是成功在網路負載平衡叢集中,完成兩部終端機服務主機加入後的顯示頁面。


圖8 完成 TS NLB 建置

接下來請開啟這個網路負載平衡叢集的內容,然後如圖 9 所示來修改相關的連接埠規則設定,在此我們主要必須將其中的 [相似性] 設定,從預設的 [單一] 變更為 [無] 即可。完成設定請點選 [確定] 按鈕。

有關於這個頁面中的篩選模式設定的用途,請參考以下說明:

  • 多重主機:設定由叢集內的多部主機來處理通訊埠規則的網路流量。
  • 相似性:此參數使用在多重主機的模式下,它可以依照不同的規則設定來處理用戶端的流量,分別如下:
    • **無:**設定讓相同用戶端電腦的流量,可以經由不同的叢集主機來處理,請注意!如果所選取的通訊協為UDP或兩者時,在其它類型的應用系統連線需求下應避免選擇此項目。
    • **單一:**設定讓相同用戶端電腦的流量,交由相同的叢集主機來處理流量。
    • **網路:**將相同用戶端位址範圍(Class C)的網路流量,交由相同的叢集主機來處理。
  • 單一主機:透過優先順序的設定,讓通訊埠規則的網路流量交由單一主機來處理。


圖9 相似性設定

接下來建議您檢查一些這一些作為網路負載平衡叢集成員的終端機服務主機,它們的 Windows 防火牆設定 (如果有啟用的話)。在 [例外] 的頁面中請確認已經勾選了 [網路負載平衡] 項目,以便於讓它們可以確實的正常運作。

最後別忘了我們在前面所為終端機服務網路負載平衡,所設定的一個共用完整連線網域名稱,您必須手動在 DNS 伺服器中加入這一筆主機 (A) 記錄。如圖 10 所示以本篇內容的範例來說,筆者所設定的主機記錄名稱便是 [TSFARM],至於 IP 位址當然就是前面所新增的叢集 IP 位址了。


圖10 新增 DNS 主機記錄

IT 人員管理上可能面臨的問題

當完成了 TS 工作階段代理人的部署之後,IT 人員可能會發現當我們想要以遠端桌面連線管理前端任一部 Terminal Service 主機時,它會出現導向錯誤的訊息或是幫我導向至非我們想要連線的主機上,面對這個困擾您有以下兩種方法可以解決此問題:

  1. 預先在這一些前端的 Terminal Service 主機上安裝遠端遙控軟體來進行管理,例如 VNC 或 Team viewer 這一類的工具。
  2. 對於所要連線的 Terminal Service 主機,使用 mstsc 命令搭配 admin 與 v 參數來強制連線,例如:mstsc /admin /v:ts2008-1。

 

TS 用戶端連線測試

完成了所有伺服端的建置工作之後,接下來我們當然要來開始進行用戶端的連線測試了。首先請在用戶端電腦上開啟命令提示字元,然後在接下來輸入 Ping 網路負載平衡網路名稱的動作,藉此確認目前的基本連線是正常的。

接下來請開啟遠端桌面的連線程式,請在 [電腦] 的頁面中,輸入終端機服務網路負載平衡的連線位址 (FQDN),然後點選 [連線位址]。

緊接著將會彈跳出如圖 11 所示的 [Windows 安全性] 頁面,請輸入所要進行連線登入的帳號密碼,然後將 [記住我的認證] 項目勾選並且點選 [確定] 按鈕。


圖11 輸入您的認證

當我們連線進來之後便可以在 [電腦] 內容或是伺服器管理員介面中,看到我們實際連線的是哪一部終端機服務主機的電腦名稱了。

對於系統管理員來說,則可以在終端機服務管理員的介面中,如圖 12 所示先將這一些前端的終端機服務主機加入到 [我的群組] 中,然後便可以從 [工作階段] 頁面中,分別去檢視到在這一些不同主機上,目前正在連線的用戶端電腦有哪一些。


圖12 檢視目前工作階段

關於用戶端與終端機服務結合 TS 工作階段代理人的測試部份,我們除了要測試 NLB 所帶來的高可用性機制之外,更重要的是要仔細測試在用戶端未完成的 TS 工作階段部份,是否能夠在每一次中斷而重新連線時,能夠再一次回到相同的工作階段中呢?藉此了解到整個 TS 工作階段代理人,所能夠為企業 IT 營運帶來令人滿意的效益。

如何遠端控制或監視終端機服務使用者的工作階段

終端機服務的使用可以為企業大幅節省掉資訊預算的編列,以及降低 IT 管理上的成本,在一般使用的狀況下多半是讓使用者可以同時多人連線,來存取上面所預先安裝好的應用系統,然而也因為如此,有些時候對於目前連線的使用者來說,在應用程式操作的過程中可能會遭遇到一些使用上的問題而需要 IT 人員協助處理,而在 IT 人員又無法立刻親自前往到使用者端電腦面前協助時,該怎麼辦呢?

別擔心!這時候就可以善用 Windows Server 2008 在終端機服務中所提供的遠端控制功能,來遠端協助使用者在登入終端機服務後的各項操作上的問題。

關於遠端控制這項功能的使用,首先必須先開啟 [Active Directory 使用者和電腦] 介面,來確認這一些使用者的帳戶屬性有勾選 [啟用遠端控制] 功能,在使用者內容的 [遠端控制] 頁面中,我們可以發現在預設的狀態下這一項功能是勾選的,並且在 [控制等級] 部份式設定為 [與工作階段互動],也就是說系統管理員可以與這一位使用者共同操作目前終端機服務上的工作階段,相對的如果設定為 [檢視使用者工作階段],那麼系統管理員便只能夠唯一檢視這一位使用者。目前在終端機服務工作階段上的操作情形


圖13 執行遠端控制

確認與完成終端機服務上的使用者在 [遠端控制] 上的組態設定之後,接下來系統管理員便可以同樣使用遠端桌面登入連線到與使用者相同的終端機服務上,然後請從系統管理工具中開啟 [終端機服務管理員] 介面,緊接著便可以如圖 13 所示在目前連線的使用者頁面中,查看到所有連線中的使用者清單,這時候我們便可以針對需要協助或查看的使用者按下滑鼠右鍵點選 [遠端控制]。

執行之後將會出現快速鍵設定視窗,在此您可以決定按下什麼按鍵的組合之後,可以立即切換回到原來自己的終端機服務桌面上 (例如:[Ctrl]+[Tab]),點選 [確定] 完成設定。


圖14 遠端控制要求確認

至於將受遠端控制的使用者工作階段,將會立即出現如圖 14 所示的 [遠端控制要求] 的確認對話框,一旦點選了 [是] 之後將可以成功完成遠端控制的需求。

相對的如果使用者點選 [否],那麼系統管理員的工作階段中將會出現 [要求的工作階段拒絕遠端控制] 訊息。

結 論

Windows Server 2008 所提供的三項終端機服務功能是筆者最引以推薦的,分別是終端機服務閘道 (TS Gateway)、TS RemoteApp、TS Web 存取,然而這三項存取機制對於擁有大流量與高可用性連線需求的企業來說,如果能夠進一步整合 TS 工作階段代理人的 NLB 架構,便可以有效的提供絕佳效能的終端機服務運作環境。