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

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

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

建立好新建的對象組RDCB computer后,點(diǎn)擊RDCB computer組的屬性,在RDCB computer屬性對話框中,選擇成員一欄,點(diǎn)擊添加將所有RDCB服務(wù)器加入進(jìn)來,然后點(diǎn)擊應(yīng)用,***點(diǎn)擊確定。

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

接下來在左側(cè)的選擇頁中選擇服務(wù)器角色選項(xiàng),設(shè)置服務(wù)器角色用于向用戶授予服務(wù)器范圍內(nèi)的安全特權(quán),這里默認(rèn)會有選項(xiàng)public,這里要勾選dbcreator選項(xiàng),然后點(diǎn)擊確定。

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

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

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

接下來就是創(chuàng)建RDCB的DNS輪循,在域控制器服務(wù)器里的DNS管理器總,在正向查找區(qū)域中添加DNS,例如環(huán)境中有2臺RD代理服務(wù)器,其中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)是默認(rèn)開啟的,只需要進(jìn)行確定檢查即可。

在每臺RD連接代理服務(wù)器中安裝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下載后進(jìn)行安裝,知道完成Microsoft SQL Server Native Client的安裝完成。

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

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

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

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

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

在配置RD連接代理的高可用性頁面中,輸入數(shù)據(jù)庫連接字符串、存儲數(shù)據(jù)庫文件的文件夾路徑和DNS輪循機(jī)制名稱。由于使用不同版本的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í),需要輸入我們在數(shù)據(jù)庫服務(wù)器上所建立的文件夾,***我們輸入在域控服務(wù)器中建立的DNS輪循機(jī)制名稱,然后點(diǎn)擊下一步。

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

在進(jìn)度頁面中,查看配置RD連接代理的高可用性進(jìn)度,當(dāng)成功完成后點(diǎn)擊關(guān)閉,完成配置。

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

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

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

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

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

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

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

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

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

在添加在配置RD連接代理服務(wù)器向?qū)е?,完成RD連接代理的添加配置,在開始頁面中,顯示了要完成配置工作前需要滿足一些條件,點(diǎn)擊下一步。

在選擇服務(wù)器頁面中,選擇向部署中添加RD代理的服務(wù)器,然后點(diǎn)擊下一步。

在確認(rèn)頁面中,將在服務(wù)器上安裝RD連接代理角色服務(wù),并將此服務(wù)添加到部署中,之后點(diǎn)擊添加。

點(diǎn)擊添加后,會在第二臺服務(wù)器上安裝RD連接代理服務(wù)。


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

五、編輯RD連接代理屬性
我們可以手動(dòng)設(shè)置活動(dòng)的RD連接代理服務(wù)器,在服務(wù)器管理器中,部署概述中點(diǎn)擊任務(wù),在彈出的菜單中選擇設(shè)置活動(dòng)的RD連接代理服務(wù)器。

在設(shè)置活動(dòng)的RD連接代理服務(wù)器界面中,可以看到當(dāng)前活動(dòng)的RD連接代理服務(wù)器為RDCB01.mabofeng.com,可以切換到其他的RD連接代理服務(wù)器,如果將其他RD連接代理設(shè)置為活動(dòng),則會取消所有與粗部署相關(guān)的正在運(yùn)行以及計(jì)劃的任務(wù)。

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


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