05-Windows Server 2012 R2 会话远程桌面-标准部署-RD连接代理高可用性(RemoteApp)

马博峰

在之前的文章中,我们以快速的部署方式和标准部署的方式完成了RemoteApp的部署,如果在企业正式环境中需要部署基于会话的远程桌面,那么最好采用标准部署。在标准的部署中,有一个重要的功能角色服务,那就是RD连接代理,RD连接代理是负载平衡RD会话主机服务器场中的会话负载平衡和会话重连。还可使用 RD 连接代理并通过 RemoteApp 和桌面连接让用户访问RemoteApp程序和虚拟机,所以他在整体会话远程桌面中起到重要的作用,从部署架构中可以看到,RD连接代理处于中间的位置,起到连接前端和后端应用或者桌面的连接,所以,当RD连接代理出现故障时,整个会话远程就全部中断了,无法使用。

在我们要考虑增加安全性和可用性的同时,也要同时考虑其中的某些服务的高可用性,可以使用多台服务器或者虚拟机为RD连接代理进行服务,远程桌面连接代理(RD连接代理)支持负载平衡和会话重新连接到新的会话主机场, RD连接代理也用来提供用户通过RemoteApp和桌面的连接,如果启用了RD连接代理的均衡负载,则RD连接代理还会在每个RD会话主机或者RD会话场跟踪用户会话的数量。下图就是RD连接代理的高可用性设计图

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,在弹出的菜单中选择新建,选择组,在新建对象-组页面中,输入组的名称,并选择全局和安全组,最后点击确定。

建立好新建的对象组RDCB computer后,点击RDCB computer组的属性,在RDCB computer属性对话框中,选择成员一栏,点击添加将所有RDCB服务器加入进来,然后点击应用,最后点击确定。

接着把这个安全组添加到RDCBSQL的SQL安全性当中,在安装了SQL server 2008 R2或者是SQL Server 2012的数据库服务器中,打开Microsoft SQL Server Management Studio管理工具,在对象资源管理器中选择“安全性”,在展开的树状结构中右键选择登录名,在弹出的菜单中选择“新建登录名”在登录名-新建对话框中,点击搜索,将之前建立的用户安全组加入到登录名中。

接下来在左侧的选择页中选择服务器角色选项,设置服务器角色用于向用户授予服务器范围内的安全特权,这里默认会有选项public,这里要勾选dbcreator选项,然后点击确定。

点击确定后,就可以在Microsoft SQL Server Management Studio管理工具中,在展开的树状结构登录名中就可以看到我们之前添加的安全组。

成功将安全组加入到SQL数据库中后,在SQL server服务器中的任意位置建立一个文件夹,这里在SQL server服务器中的C盘下建立RDCB文件夹。

将建立的RDCB文件夹设置共享,允许RDCB代理服务器能否在此文件夹中具有读写的权限,所以将RDCB computer安全组加入到RDCB文件夹中,并赋予读写的权限。

接下来就是创建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的数据地址。

接下来就是检查DNS管理器中是否开启了DNS循环,在DNS管理器中,右键单击AD-DC DNS名称,在弹出的菜单中选择属性,在AD-DC的属性页面中,选择高级,在高级页面中可以查看是否启用的循环,一般情况下,DNS循环是默认开启的,只需要进行确定检查即可。

在每台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

将Microsoft SQL Server 2012 Native Client或者是Microsoft SQL Server 2008 R2 Native Client下载后进行安装,知道完成Microsoft SQL Server Native Client的安装完成。

当我们成功安装Microsoft SQL Server Native Client,我们需要连接到数据库中,在开始界面中,点击管理工具,在管理工具文件夹中选择ODBC数据管理程序(64位),在ODBC数据管理程序中选择系统DSN,然后选择添加,在创建新数据源页面中,选择SQL Server Native Client 11.0,点击完成。

在接下来的向导中,要求输入数据源的名称和服务器地址,然后按照默认的方式点击下一步,知道完成数据库的连接,在最后的ODBC Microsoft SQL Server安装界面中,选择测试数据源,之后会弹出SQL Server ODBC数据源测试界面,在这界面中会显示测试成功,如果不显示成功或者显示无法连接到数据库,则需要检查下Native Client所在的服务器是否与SQL Server能正常的进行通信,检查防火墙的设置,直到测试成功。

测试成功后,点击确定,在ODBC数据管理程序(64位)中显示已经连接到的数据库,当成功连接后,一定要重新启动服务器,之后进行RD连接代理服务器的高可用设置。

三、RD连接代理的高可用性设置

在完成之前一系列的所有工作后,接下来就进行RD连接代理的高可用性设置,首先我们以域管理员的形式登录到其中已经安装好的RD连接代理服务器中,在服务器管理器,远程桌面服务-概述中,查看部署概述,右键选择RD连接代理,在弹出的菜单中选择“配置高可用性”

在配置RD连接代理的高可用性向导中,完成RD连接代理的高可用性的配置,在开始页面中,显示了要完成配置工作前需要满足一些条件,包括Microsoft SQL server具有对所有RD连接代理服务器的写入权限,所有RD连接代理服务器上已经安装了Microsoft SQL Server Native Client,已为所有RD连接代理服务器分配了静态IP地址,已为具有单一DNS名称的所有RD连接代理服务器创建DNS记录,确保之前都完成了准备工作,然后点击下一步。

在配置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轮循机制名称,然后点击下一步。

在确认界面中,确认所设置的信息,然后点击配置。单击“配置”后,RD连接代理服务器的SQL数据库将被创建,所有的RD连接代理服务器从本地计算机上的数据将被迁移到RDCBSQL服务器的SQL上,然后在RD连接代理服务器将开始使用的SQL服务器。

在进度页面中,查看配置RD连接代理的高可用性进度,当成功完成后点击关闭,完成配置。

注意1:在此配置过程中,可能会遇到几种错误的情况,首先是在配置RD连接代理服务器的高可用性中报错,其报错内容为:

“配置RD连接代理服务器RDCB01.mabofeng.com中没有使用数据库连接字符串指定的数据库,请确保网络上的SQL服务器可用、RD连接代理服务器上安装了SQL server native client,并且RD连接代理具有对此数据库的写入权限。”

遇到这种情况后,检查一下内容:

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服务器中是否有重名的数据库名称。

四、添加RD连接代理

当我们成功配额完成后,在服务器管理器中就可以看到RD连接代理已经设置成了高可用性的模式,这在部署RD连接代理高可用性算是第一步,显然,有一个RD连接代理服务器不使其具有高可用性。第二步则是添加一个额外的RD连接代理。相较于第1步,这是安装程序的最简单的部分。 我们用鼠标右键单击RD连接代理的部署概述并选择“添加RD连接代理服务器”,但是在添加之前,我们先看下之前建立的数据库RDBC。

我们到在SQL Server服务器上RDBC文件夹中创建的数据库。

我们使用Microsoft SQL Server Management Studio打开数据库进行查看。

设置到这里,我们发现这里并没有把RDCB02添加进来,所以我们需要在SQL server中添加安全组与这个数据库的关系吧,首先打开Microsoft SQL Server Management Studio,在“对资源管理中”选择安全性-登录名,右键选择我们之间添加的安全组,在弹出的菜单中选择属性。在登录属性的常规页面中,设置默认数据库为rdcb。

在登录属性的服务器角色页面中,通过添加一个用户映射到包含RD连接代理服务器,以便该组具有db_owner权限的组来完成。

然后我们进行添加第二台RD连接代理服务器,首先在服务器管理器中,将第二台添加RD连接代理服务器与第一台添加RD连接代理服务器共同进行管理,将台RD连接代理服务器添加到已选计算机框中后点击确定。

在第一台添加RD连接代理服务器的服务器管理器中,我们右键单击RD连接代理的部署概述并选择添加RD连接代理服务器。

在添加在配置RD连接代理服务器向导中,完成RD连接代理的添加配置,在开始页面中,显示了要完成配置工作前需要满足一些条件,点击下一步。

在选择服务器页面中,选择向部署中添加RD代理的服务器,然后点击下一步。

在确认页面中,将在服务器上安装RD连接代理角色服务,并将此服务添加到部署中,之后点击添加。

点击添加后,会在第二台服务器上安装RD连接代理服务。

注意:在设置过程中可能会出现下面的错误,通常这是SQL Server的权限问题。 回想一下,先决条件之一是,所有的RD连接代理数据库所需的权限在数据库。第一台RD连接代理只需要数据库创建者权限才能成为数据库的所有者。有关更多的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名称>

05-Windows Server 2012 R2 会话远程桌面-标准部署-RD连接代理高可用性(RemoteApp)相关推荐

  1. 06-Windows Server 2012 R2 会话远程桌面-标准部署-RD网关(RemoteApp)

    Windows Server 2012 R2 会话远程桌面-标准部署-RD网关(RemoteApp) 马博峰 一.什么是RD网关 远程桌面网关(RD 网关),在早期版本的远程桌面连接中称为TS网关,在 ...

  2. 07-Windows Server 2012 R2 会话远程桌面-标准部署-RD授权

    Windows Server 2012 R2 会话远程桌面-标准部署-RD授权 马博峰 当完成所有的部署后,在实际操作中没有任何问题,并完成所有的测试,在所有工作的最后一步就是需要安装RD授权服务器, ...

  3. 08-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-1

    08-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-1 马博峰 PowerShell一直是微软windows Server产品中重要的一部分 ...

  4. 09-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-2

    在上一篇的文章中,我讨论了如何使用 PowerShell 建立了一个基本的远程桌面服务环境.在那篇文章中,我们讨论了如何做一个快速的 RDS 部署,添加会话集合和 RemoteApp.在这篇文章我们会 ...

  5. 04-Windows Server 2012 R2 会话远程桌面-标准部署-CA证书(RemoteApp)

    在之前的博客中,已经按照标准部署进行了配置,基本上标准的部署已经完成,但是在IT环境中,细节决定成败,在我们通过Web进行访问RemoteApp程序时候,总会有一些警告和阻拦,这些问题虽然不影响到用户 ...

  6. 02-Windows Server 2012 R2 会话远程桌面-快速部署(RemoteApp)

    02-Windows Server 2012 R2 会话远程桌面-快速部署(RemoteApp) 作者:马博峰 在 Windows Server 2012 中,远程桌面服务中的会话虚拟化部署包括高效的 ...

  7. Windows Server 2008 R2无法远程桌面解决方法

    问题现象:Windows Server 2008 R2无法远程桌面解决方法 排查方法: 1. 检查远程桌面的服务是否运行 查看下remote相应的服务是否启用,查看日志是否存在异常. 2. 检查防火墙 ...

  8. 服务器系统2012桌面怎么弄,Windows Server 2012 R2配置成桌面操作系统的详细设置

    用Windows Server 2012 R2 做桌面操作系统已经有一段时间,感觉它和Windows8.1还是存在一些不同点的,你可能需要设置很多地方去调整这些不同点,下面将个人调整的地方罗列出来,希 ...

  9. 一台服务器多人远程桌面连接,Windows Server 2008 R2多用户远程桌面连接授权

    这篇文章主要介绍了Server 2008 R2多用户远程桌面连接授权,解决120天过期问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中,我们往往需要远程服务器,经常会遇到以下这两个麻烦 ...

最新文章

  1. Ubuntu下makefile及gcc生成静态库动态库的简单使用举例
  2. cocos creator 安卓原生平台环境_竞技对抗小游戏单挑篮球开发历程 | Cocos技术派第12期...
  3. 陈道明还原度最高!AI 脑补宋明清皇帝长相,四大模型构想真实五官
  4. HTML基础学习(一)—HTML
  5. 学习人工智能不走捷径,走大道的方式
  6. python位运算符_详细介绍Python语言中的按位运算符
  7. oracle 数字类型行转列,oracle行转列
  8. dynamic 找不到编译动态表达式所需的一种或多种类型。是否缺少引用?
  9. [C++基础]039_C++异常处理初级出门+中级进阶
  10. 解决系统之间Session不共享问题的几种方案
  11. mysql 分布式 生成序号_分布式唯一ID生成方案
  12. 使用阿里云镜像仓库构建国外 Docker 镜像
  13. C++ 虚函数表浅析
  14. 【Unity编辑器扩展】查找场景和资源内挂载某脚本的所有对象
  15. OSAL操作系统分析(添加自定义任务)
  16. Scintilla的使用c++ build
  17. 单树莓派/双树莓派+USRP+srsLTE分布式搭建4G LTE微基站
  18. Maven插件 [WARNING] 'parent.relativePath' of POM 类似警告处理
  19. mysql的字段空格是null_空字符与空格字符、NULL、空字符串
  20. python setup.py bdist_wheel生成wheel文件,示例:安装webrtcvad

热门文章

  1. 调制优缺点_复合铝基润滑脂和普通润滑脂的区别,复合铝基脂有什么优缺点
  2. 网络编程学习笔记(recv和send函数)
  3. 题目1178:复数集合
  4. HDU2019 数列有序
  5. 在Web界面中实现Excel数据大量导入的处理方式
  6. 浅析ajax原理与用法
  7. MyEclipse 设置字体
  8. Windows 7系统垃圾清理自写程序
  9. web touch 事件
  10. 空间复杂度分段分段有序数组合并成有序(空间复杂度为O(1))