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

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

Active/Active的RD連接代理模式是Windows Server 2012 R2是一個完整的高可用性部署,每個RD接代理服務器都是活躍的,提供共享負載。它提供了高可用性和高可用伸縮性,適合更大規(guī)模的部署。設置RD接代理服務高可用性需要SQL數(shù)據(jù)庫的支持,SQL數(shù)據(jù)庫用于存儲RD連接代理服務器運行時的情況和配置數(shù)據(jù),這種Active/Active的RD代理為管理員提供一個輕松部署高可用性和可伸縮性RD連接代理服務器的解決方案。
一、部署的前提條件:
1、 至少需要2臺windows server 2012 R2安裝RD連接代理服務。
2、 需要特定的數(shù)據(jù)庫服務器或SQL數(shù)據(jù)庫實例,SQL服務器版本為2008 R2標準版或更高版本。
3、 所有RD連接代理服務器都必須安裝SQL客戶端。
4、 RD代理服務器擁有完全權限的SQL數(shù)據(jù)庫和SQL文件夾。
5、 至少需要一臺會話主機服務器。
6、 確保網(wǎng)絡中的防火墻沒有阻攔服務器的通信。
設置RD連接代理高可用性至少需要4臺服務器,其中1臺為域控制器,并設置了DNS服務器,一臺為SQL服務器,支持SQL server 2008 R2和SQL server 2012,剩下2臺服務器中,其中有一臺必須安裝了RD連接代理,并且這些服務器都加入了域環(huán)境,以域管理員的身份進行登陸。
服務器名稱
|
操作系統(tǒng)
|
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
|
數(shù)據(jù)庫服務器
|
二、連接代理部署
1、首先將RD連接代理的服務器、SQL服務器和會話主機加入到域環(huán)境中,我們需要把所有的RDCB服務器要具備對SQL的完全控制權,那么我創(chuàng)建一個安全組RDCB computer,然后把所有的RDCB服務器添加進這個組當中,在Active Directory用戶和計算機管理器中,右鍵選擇User,在彈出的菜單中選擇新建,選擇組,在新建對象-組頁面中,輸入組的名稱,并選擇全局和安全組,***點擊確定。

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

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

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

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

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

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

接下來就是創(chuàng)建RDCB的DNS輪循,在域控制器服務器里的DNS管理器總,在正向查找區(qū)域中添加DNS,例如環(huán)境中有2臺RD代理服務器,其中RDCB01的IP地址為192.168.1.110,RDCB02的IP地址為192.168.1.111,則需要建立2條DNS信息,分別建立名稱為HARDCB的2條不同IP地址,其地址為RDCB01和RDCB02的數(shù)據(jù)地址。

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

在每臺RD連接代理服務器中安裝SQL native client,如果使用的數(shù)據(jù)庫是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

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

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

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

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

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

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

在配置RD連接代理的高可用性頁面中,輸入數(shù)據(jù)庫連接字符串、存儲數(shù)據(jù)庫文件的文件夾路徑和DNS輪循機制名稱。由于使用不同版本的Microsoft SQL Server Native Client,所以在輸入數(shù)據(jù)庫連接字符串也有所不同。
如果使用的是SQL 2008 R2,則輸入如下字符串:
DRIVER=SQL Server Native Client 10.0;SERVER=<SQLserver名稱>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<要建立數(shù)據(jù)庫的名稱>
如果使用的是SQL 2008 R2,則輸入如下字符串:
DRIVER=SQL Server Native Client 11.0;SERVER=<SQLserver名稱>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<要建立數(shù)據(jù)庫的名稱>
在輸入存儲數(shù)據(jù)庫文件的文件夾路徑時,需要輸入我們在數(shù)據(jù)庫服務器上所建立的文件夾,***我們輸入在域控服務器中建立的DNS輪循機制名稱,然后點擊下一步。

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

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

注意1:在此配置過程中,可能會遇到幾種錯誤的情況,首先是在配置RD連接代理服務器的高可用性中報錯,其報錯內容為:
“配置RD連接代理服務器RDCB01.mabofeng.com中沒有使用數(shù)據(jù)庫連接字符串指定的數(shù)據(jù)庫,請確保網(wǎng)絡上的SQL服務器可用、RD連接代理服務器上安裝了SQL server native client,并且RD連接代理具有對此數(shù)據(jù)庫的寫入權限。”

遇到這種情況后,檢查一下內容:
1、 沒有安裝SQL server native client客戶端
2、 防火墻阻斷RD連接代理(端口1433)與SQL訪問
3、 指定了不正確的SQL Server Native Client的版本
4、 不正確的SQL Server名稱指定
5、 RD連接代理服務器是否在配置數(shù)據(jù)庫連接后重啟。
注意2:在此配置過程中,可能會遇到下面這種錯誤的情況,其錯誤提示為“無法創(chuàng)建數(shù)據(jù)庫RDBC”,并在事件日志事件32776提高。這意味著,在SQL Server權限不夠,遇到這種情況,檢查一下3個方面:
1、 RD連接代理服務器有適當?shù)腟QL(數(shù)據(jù)庫創(chuàng)建者)的權限。
2、 RD連接代理服務器在SQL數(shù)據(jù)庫服務器上創(chuàng)建的文件夾是否有讀寫的權限。
3、 SQL服務器中是否有重名的數(shù)據(jù)庫名稱。

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

我們到在SQL Server服務器上RDBC文件夾中創(chuàng)建的數(shù)據(jù)庫。

我們使用Microsoft SQL Server Management Studio打開數(shù)據(jù)庫進行查看。

設置到這里,我們發(fā)現(xiàn)這里并沒有把RDCB02添加進來,所以我們需要在SQL server中添加安全組與這個數(shù)據(jù)庫的關系吧,首先打開Microsoft SQL Server Management Studio,在“對資源管理中”選擇安全性-登錄名,右鍵選擇我們之間添加的安全組,在彈出的菜單中選擇屬性。在登錄屬性的常規(guī)頁面中,設置默認數(shù)據(jù)庫為rdcb。

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

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

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

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

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

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

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


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

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

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

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


如果要更改DNS輪循機制的名稱,則需要使用PowerShell命令來進行更改,無法在GUI界面中進行更改,更改DNS輪循機制的名稱的命令為:
Set-RDClientAccessName -ConnectionBroker <當前服務器名稱> -ClientAccessName <新DNS名稱>
本文出自 “讓"云"無處不在” 博客,請務必保留此出處http://mabofeng.blog.51cto.com/2661587/1338283