05-Windows Server 2012 R2 會話遠程桌面-標準部署-RD連接代理高可用性(RemoteApp)

05-Windows Server 2012 R2 會話遠程桌面-標準部署-RD連接代理高可用性(RemoteApp)

馬博峯

在之前的文章中,我們以快速的部署方式和標準部署的方式完成了RemoteApp的部署,如果在企業正式環境中需要部署基於會話的遠程桌面,那麼最好採用標準部署。在標準的部署中,有一個重要的功能角色服務,那就是RD連接代理,RD連接代理是負載平衡RD會話主機服務器場中的會話負載平衡和會話重連。還可使用 RD 連接代理並通過 RemoteApp 和桌面連接讓用戶訪問RemoteApp程序和虛擬機,所以他在整體會話遠程桌面中起到重要的作用,從部署架構中可以看到,RD連接代理處於中間的位置,起到連接前端和後端應用或者桌面的連接,所以,當RD連接代理出現故障時,整個會話遠程就全部中斷了,無法使用。

clip_p_w_picpath001

在我們要考慮增加安全性和可用性的同時,也要同時考慮其中的某些服務的高可用性,可以使用多臺服務器或者虛擬機爲RD連接代理進行服務,遠程桌面連接代理(RD連接代理)支持負載平衡和會話重新連接到新的會話主機場, RD連接代理也用來提供用戶通過RemoteApp和桌面的連接,如果啓用了RD連接代理的均衡負載,則RD連接代理還會在每個RD會話主機或者RD會話場跟蹤用戶會話的數量。下圖就是RD連接代理的高可用性設計圖

clip_p_w_picpath002

Active/Active的RD連接代理模式是Windows Server 2012 R2是一個完整的高可用性部署,每個RD接代理服務器都是活躍的,提供共享負載。它提供了高可用性和高可用伸縮性,適合更大規模的部署。設置RD接代理服務高可用性需要SQL數據庫的支持,SQL數據庫用於存儲RD連接代理服務器運行時的情況和配置數據,這種Active/Active的RD代理爲管理員提供一個輕鬆部署高可用性和可伸縮性RD連接代理服務器的解決方案。

一、部署的前提條件:

1、 至少需要2臺windows server 2012 R2安裝RD連接代理服務。

2、 需要特定的數據庫服務器或SQL數據庫實例,SQL服務器版本爲2008 R2標準版或更高版本。

3、 所有RD連接代理服務器都必須安裝SQL客戶端。

4、 RD代理服務器擁有完全權限的SQL數據庫和SQL文件夾。

5、 至少需要一臺會話主機服務器。

6、 確保網絡中的防火牆沒有阻攔服務器的通信。

設置RD連接代理高可用性至少需要4臺服務器,其中1臺爲域控制器,並設置了DNS服務器,一臺爲SQL服務器,支持SQL server 2008 R2和SQL server 2012,剩下2臺服務器中,其中有一臺必須安裝了RD連接代理,並且這些服務器都加入了域環境,以域管理員的身份進行登陸。  

服務器名稱

操作系統

IP設置

功能

AD-DC.mabofeng.com

Windows Server 2012 R2

192.168.1.100

域控制器

RDCB01.mabofeng.com

Windows Server 2012 R2

192.168.1.110

遠程桌面連接代理01

RDCB02.mabofeng.com

Windows Server 2012 R2

192.168.1.111

遠程桌面連接代理02

SQL.mabofeng.com

Windows Server 2012 R2

192.168.1.120

數據庫服務器


二、連接代理部署


1、首先將RD連接代理的服務器、SQL服務器和會話主機加入到域環境中,我們需要把所有的RDCB服務器要具備對SQL的完全控制權,那麼我創建一個安全組RDCB computer,然後把所有的RDCB服務器添加進這個組當中,在Active Directory用戶和計算機管理器中,右鍵選擇User,在彈出的菜單中選擇新建,選擇組,在新建對象-組頁面中,輸入組的名稱,並選擇全局和安全組,最後點擊確定。

clip_p_w_picpath004

建立好新建的對象組RDCB computer後,點擊RDCB computer組的屬性,在RDCB computer屬性對話框中,選擇成員一欄,點擊添加將所有RDCB服務器加入進來,然後點擊應用,最後點擊確定。

clip_p_w_picpath005

接着把這個安全組添加到RDCBSQL的SQL安全性當中,在安裝了SQL server 2008 R2或者是SQL Server 2012的數據庫服務器中,打開Microsoft SQL Server Management Studio管理工具,在對象資源管理器中選擇“安全性”,在展開的樹狀結構中右鍵選擇登錄名,在彈出的菜單中選擇“新建登錄名”在登錄名-新建對話框中,點擊搜索,將之前建立的用戶安全組加入到登錄名中。

clip_p_w_picpath007

接下來在左側的選擇頁中選擇服務器角色選項,設置服務器角色用於向用戶授予服務器範圍內的安全特權,這裏默認會有選項public,這裏要勾選dbcreator選項,然後點擊確定。

clip_p_w_picpath009

點擊確定後,就可以在Microsoft SQL Server Management Studio管理工具中,在展開的樹狀結構登錄名中就可以看到我們之前添加的安全組。

clip_p_w_picpath011

成功將安全組加入到SQL數據庫中後,在SQL server服務器中的任意位置建立一個文件夾,這裏在SQL server服務器中的C盤下建立RDCB文件夾。

clip_p_w_picpath013

將建立的RDCB文件夾設置共享,允許RDCB代理服務器能否在此文件夾中具有讀寫的權限,所以將RDCB computer安全組加入到RDCB文件夾中,並賦予讀寫的權限。

clip_p_w_picpath015

接下來就是創建RDCB的DNS輪循,在域控制器服務器裏的DNS管理器總,在正向查找區域中添加DNS,例如環境中有2臺RD代理服務器,其中RDCB01的IP地址爲192.168.1.110,RDCB02的IP地址爲192.168.1.111,則需要建立2條DNS信息,分別建立名稱爲HARDCB的2條不同IP地址,其地址爲RDCB01和RDCB02的數據地址。

clip_p_w_picpath017

接下來就是檢查DNS管理器中是否開啓了DNS循環,在DNS管理器中,右鍵單擊AD-DC DNS名稱,在彈出的菜單中選擇屬性,在AD-DC的屬性頁面中,選擇高級,在高級頁面中可以查看是否啓用的循環,一般情況下,DNS循環是默認開啓的,只需要進行確定檢查即可。

clip_p_w_picpath019

在每臺RD連接代理服務器中安裝SQL native client,如果使用的數據庫是SQL server 2008 R2,則需要下載SQL native client 10的版本,如果是SQL server 2012,則需要安裝SQL Native client 11。

Microsoft SQL Server 2008 R2 Native Client下載地址爲: http://www.microsoft.com/zh-cn/download/details.aspx?id=26728

Microsoft SQL Server 2012 Native Client下載地址爲: http://www.microsoft.com/zh-cn/download/details.aspx?id=35580

clip_p_w_picpath020

將Microsoft SQL Server 2012 Native Client或者是Microsoft SQL Server 2008 R2 Native Client下載後進行安裝,知道完成Microsoft SQL Server Native Client的安裝完成。

clip_p_w_picpath021

當我們成功安裝Microsoft SQL Server Native Client,我們需要連接到數據庫中,在開始界面中,點擊管理工具,在管理工具文件夾中選擇ODBC數據管理程序(64位),在ODBC數據管理程序中選擇系統DSN,然後選擇添加,在創建新數據源頁面中,選擇SQL Server Native Client 11.0,點擊完成。

clip_p_w_picpath023

在接下來的嚮導中,要求輸入數據源的名稱和服務器地址,然後按照默認的方式點擊下一步,知道完成數據庫的連接,在最後的ODBC Microsoft SQL Server安裝界面中,選擇測試數據源,之後會彈出SQL Server ODBC數據源測試界面,在這界面中會顯示測試成功,如果不顯示成功或者顯示無法連接到數據庫,則需要檢查下Native Client所在的服務器是否與SQL Server能正常的進行通信,檢查防火牆的設置,直到測試成功。

clip_p_w_picpath025

測試成功後,點擊確定,在ODBC數據管理程序(64位)中顯示已經連接到的數據庫,當成功連接後,一定要重新啓動服務器,之後進行RD連接代理服務器的高可用設置。

clip_p_w_picpath027

三、RD連接代理的高可用性設置

在完成之前一系列的所有工作後,接下來就進行RD連接代理的高可用性設置,首先我們以域管理員的形式登錄到其中已經安裝好的RD連接代理服務器中,在服務器管理器,遠程桌面服務-概述中,查看部署概述,右鍵選擇RD連接代理,在彈出的菜單中選擇“配置高可用性”

clip_p_w_picpath029

在配置RD連接代理的高可用性向導中,完成RD連接代理的高可用性的配置,在開始頁面中,顯示了要完成配置工作前需要滿足一些條件,包括Microsoft SQL server具有對所有RD連接代理服務器的寫入權限,所有RD連接代理服務器上已經安裝了Microsoft SQL Server Native Client,已爲所有RD連接代理服務器分配了靜態IP地址,已爲具有單一DNS名稱的所有RD連接代理服務器創建DNS記錄,確保之前都完成了準備工作,然後點擊下一步。

clip_p_w_picpath031

在配置RD連接代理的高可用性頁面中,輸入數據庫連接字符串、存儲數據庫文件的文件夾路徑和DNS輪循機制名稱。由於使用不同版本的Microsoft SQL Server Native Client,所以在輸入數據庫連接字符串也有所不同。

如果使用的是SQL 2008 R2,則輸入如下字符串:

DRIVER=SQL Server Native Client 10.0;SERVER=<SQLserver名稱>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<要建立數據庫的名稱>

如果使用的是SQL 2008 R2,則輸入如下字符串:

DRIVER=SQL Server Native Client 11.0;SERVER=<SQLserver名稱>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<要建立數據庫的名稱>

在輸入存儲數據庫文件的文件夾路徑時,需要輸入我們在數據庫服務器上所建立的文件夾,最後我們輸入在域控服務器中建立的DNS輪循機制名稱,然後點擊下一步。

clip_p_w_picpath033

在確認界面中,確認所設置的信息,然後點擊配置。單擊“配置”後,RD連接代理服務器的SQL數據庫將被創建,所有的RD連接代理服務器從本地計算機上的數據將被遷移到RDCBSQL服務器的SQL上,然後在RD連接代理服務器將開始使用的SQL服務器。

clip_p_w_picpath035

在進度頁面中,查看配置RD連接代理的高可用性進度,當成功完成後點擊關閉,完成配置。

clip_p_w_picpath037

注意1:在此配置過程中,可能會遇到幾種錯誤的情況,首先是在配置RD連接代理服務器的高可用性中報錯,其報錯內容爲:

“配置RD連接代理服務器RDCB01.mabofeng.com中沒有使用數據庫連接字符串指定的數據庫,請確保網絡上的SQL服務器可用、RD連接代理服務器上安裝了SQL server native client,並且RD連接代理具有對此數據庫的寫入權限。”

clip_p_w_picpath039

遇到這種情況後,檢查一下內容:

1、 沒有安裝SQL server native client客戶端

2、 防火牆阻斷RD連接代理(端口1433)與SQL訪問

3、 指定了不正確的SQL Server Native Client的版本

4、 不正確的SQL Server名稱指定

5、 RD連接代理服務器是否在配置數據庫連接後重啓。

注意2:在此配置過程中,可能會遇到下面這種錯誤的情況,其錯誤提示爲“無法創建數據庫RDBC”,並在事件日誌事件32776提高。這意味着,在SQL Server權限不夠,遇到這種情況,檢查一下3個方面:

1、 RD連接代理服務器有適當的SQL(數據庫創建者)的權限。

2、 RD連接代理服務器在SQL數據庫服務器上創建的文件夾是否有讀寫的權限。

3、 SQL服務器中是否有重名的數據庫名稱。

clip_p_w_picpath041

四、添加RD連接代理

當我們成功配額完成後,在服務器管理器中就可以看到RD連接代理已經設置成了高可用性的模式,這在部署RD連接代理高可用性算是第一步,顯然,有一個RD連接代理服務器不使其具有高可用性。第二步則是添加一個額外的RD連接代理。相較於第1步,這是安裝程序的最簡單的部分。 我們用鼠標右鍵單擊RD連接代理的部署概述並選擇“添加RD連接代理服務器”,但是在添加之前,我們先看下之前建立的數據庫RDBC。

clip_p_w_picpath043

我們到在SQL Server服務器上RDBC文件夾中創建的數據庫。

clip_p_w_picpath045

我們使用Microsoft SQL Server Management Studio打開數據庫進行查看。

clip_p_w_picpath047

設置到這裏,我們發現這裏並沒有把RDCB02添加進來,所以我們需要在SQL server中添加安全組與這個數據庫的關係吧,首先打開Microsoft SQL Server Management Studio,在“對資源管理中”選擇安全性-登錄名,右鍵選擇我們之間添加的安全組,在彈出的菜單中選擇屬性。在登錄屬性的常規頁面中,設置默認數據庫爲rdcb。

clip_p_w_picpath049

在登錄屬性的服務器角色頁面中,通過添加一個用戶映射到包含RD連接代理服務器,以便該組具有db_owner權限的組來完成。

clip_p_w_picpath051

然後我們進行添加第二臺RD連接代理服務器,首先在服務器管理器中,將第二臺添加RD連接代理服務器與第一臺添加RD連接代理服務器共同進行管理,將臺RD連接代理服務器添加到已選計算機框中後點擊確定。

clip_p_w_picpath053

在第一臺添加RD連接代理服務器的服務器管理器中,我們右鍵單擊RD連接代理的部署概述並選擇添加RD連接代理服務器。

clip_p_w_picpath055

在添加在配置RD連接代理服務器嚮導中,完成RD連接代理的添加配置,在開始頁面中,顯示了要完成配置工作前需要滿足一些條件,點擊下一步。

clip_p_w_picpath057

在選擇服務器頁面中,選擇向部署中添加RD代理的服務器,然後點擊下一步。

clip_p_w_picpath059

在確認頁面中,將在服務器上安裝RD連接代理角色服務,並將此服務添加到部署中,之後點擊添加。

clip_p_w_picpath061

點擊添加後,會在第二臺服務器上安裝RD連接代理服務。

clip_p_w_picpath063

clip_p_w_picpath065

注意:在設置過程中可能會出現下面的錯誤,通常這是SQL Server的權限問題。 回想一下,先決條件之一是,所有的RD連接代理數據庫所需的權限在數據庫。第一臺RD連接代理只需要數據庫創建者權限才能成爲數據庫的所有者。有關更多的RD連接代理,我們需要添加這些權限。

clip_p_w_picpath067

五、編輯RD連接代理屬性

我們可以手動設置活動的RD連接代理服務器,在服務器管理器中,部署概述中點擊任務,在彈出的菜單中選擇設置活動的RD連接代理服務器。

clip_p_w_picpath069

在設置活動的RD連接代理服務器界面中,可以看到當前活動的RD連接代理服務器爲RDCB01.mabofeng.com,可以切換到其他的RD連接代理服務器,如果將其他RD連接代理設置爲活動,則會取消所有與粗部署相關的正在運行以及計劃的任務。

clip_p_w_picpath071

除此之外,我們也可以更改RDCB高可用性的DNS別名,但是,如果要更改RDCB高可用性的DNS別名,則不可以在圖形化的界面下進行更改,而是需要進行在PowerShell模式下進行更改。

clip_p_w_picpath073

clip_p_w_picpath075

如果要更改DNS輪循機制的名稱,則需要使用PowerShell命令來進行更改,無法在GUI界面中進行更改,更改DNS輪循機制的名稱的命令爲:

Set-RDClientAccessName -ConnectionBroker <當前服務器名稱> -ClientAccessName <新DNS名稱>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章