当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

作者:精品下载站 日期:2024-12-14 23:21:26 浏览:13 分类:玩电脑

在 Windows Server 上配置 RDS 连接代理高可用性


远程桌面连接代理 (RDCB)是 Windows Server 中远程桌面服务 (RDS) 角色的组件。 RD 连接代理允许您对 RDS 场服务器进行负载平衡(当连接到 RDS 场时,用户将被重定向到负载最少的 RDS 主机),为用户提供对 VDI 和 RemoteApps 的访问,管理场中的 RDS 主机配置。此外,RDCB 允许用户重新连接到他们的会话:当连接到 RDS 时,RDCB 检查场的其他服务器上是否有任何不完整的会话,并将它们重定向到以前的会话。

在本文中,我们将展示如何配置容错高可用性 RD 连接代理实例,以便在其中一台具有 RDCB 角色的服务器发生故障时保持其功能。运行 MS SQL Server 2019 的数据库服务器将用于存储远程桌面连接代理数据。为了避免单点故障,RDCB SQL 数据库还应该部署在容错配置中。在此示例中,我们将使用两个配置了 SQL Always On 可用性组的 SQL Server 节点。

RD 连接代理高可用性要求和支持的配置:

  • 至少 2 台具有 RD 连接代理角色的服务器运行 Windows Server 2022/2019;

  • 如果要对 RDCB SQL 数据库使用高可用性,则需要至少 2 台装有 SQL Server 2014 或更高版本(标准版或企业版)的主机。在此示例中,我们在每台服务器上安装了独立的 MS SQL Server 2019 Enterprise 实例。如果您不打算拥有 HA SQL 数据库,一台带有 SQL Express 的服务器就足够了;

  • 在具有 RD 连接代理角色的服务器上安装 SQL Server Native Client;

  • 向 RD 连接代理服务器授予对 SQL 数据库和 SQL 安装文件夹的完全控制权;

  • 场中至少有一台具有远程桌面会话主机角色的服务器。

我们将创建两台服务器的高可用 RDCB 配置。它们都将安装 RD 连接角色和 SQL Server。 SQL Server 数据库的高可用性和灾难恢复将由 SQL Server Always On Availability 组提供。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在 Windows Server 2012 及更高版本中,RDS 连接代理在主动/主动模式下提供高可用性。在此模式下,所有 RDCB 服务器均处于活动状态并且可以处理传入连接。它允许在大型远程桌面环境中提供高 RDCB 可用性和可扩展性。

为远程桌面连接代理准备基础架构

将静态 IP 地址分配给具有 RD 连接代理角色的所有服务器,并将它们加入您的 Active Directory 域。

  • srv-rds1.a-d.site

    192.168.13.20
  • srv-rds2.a-d.site

    192.168.13.21

在 Active Directory 中创建新的安全组(

MUN_RD_Connection_Brokers

)并将所有 RDCB 服务器添加到其中。您可以使用 ADUC 管理单元创建组(

dsa.msc

)或使用 PowerShell:

New-ADGroup "MUN_RD_Connection_Brokers" -path 'OU=Groups,OU=Berlin,DC=a-d,DC=com' -GroupScope Global -PassThru -Verbose

将两台 RDS 主机添加到组中:

Add-AdGroupMember -Identity "MUN_RD_Connection_Brokers" -Members srv-rds1$,srv-rds2$

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在 DNS 中为 RDS 场的集群名称(在我们的示例中为 MUNRDCB)创建 A 记录。 DNS 记录必须包含所有 RDCB 服务器的 IP 地址。它支持 RD 连接代理服务器之间的负载平衡(循环)。我创建了以下条目:

  • A -

    MUNRDCB.a-d.site 192.168.13.20

    (第一个 RDCB 服务器的 IP 地址 — srv-rds1.a-d.site)

  • A -

    MUNRDCB.a-d.site 192.168.13.21

    (第二个 RDCB 服务器的 IP 地址 — srv-rds2.a-d.site)

您可以使用 PowerShell 在 DNS 中创建 A 记录:

Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.20 -ZoneName a-d.site
Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.21 -ZoneName a-d.site

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在所有具有 RDCB 角色的服务器上安装SQL Server Native Client。您可以从 Microsoft 网站下载适用于您的 SQL Server 版本的 SQL Server Native Client 或从 SQL Server 安装映像 (

D:33_ENU_LP\x64\Setup\x64\sqlncli.msi

)。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

然后运行SQL Server Management Studio并连接到您的第一个SQL服务器,将在该服务器上创建共享连接代理数据库(稍后我们会将其移至Always On高可用性组)。

打开安全 -> 登录以添加新登录。单击搜索,在位置中选择您的域,设置对象类型=组,然后找到域组MUN_RD_Connection_Brokers

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

分配

dbcreator

sysadmin

给团体的角色。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在 Windows Defender 防火墙中打开 SQL Server 端口(默认情况下,使用 TCP 1433 端口连接到 SQL Server)。

在 Windows Server 上安装远程桌面服务角色

然后您必须在服务器上安装 RDS 角色。打开服务器管理器控制台,选择管理 -> 添加角色和功能 -> 远程桌面服务安装

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

本文介绍了在独立主机上安装 RDS 角色。

选择标准部署 -> 基于会话的桌面部署

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

选择一台要安装 RD 连接代理角色的服务器。您现在不需要在第二台服务器上安装 RDCB 角色。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在同一服务器上安装 RD Web 访问角色。在两台服务器上安装 RD 会话主机角色。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

等待 RDS 角色安装完成。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

完成角色安装后,将 RDCB 主机和“NT AUTHORITY\NETWORK SERVICE”帐户添加到两台服务器上的本地 RDS 管理服务器组。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

在场中的第一台服务器上安装 RD 连接代理角色期间,将在

C:\Windows\rdcbDb\rdcms.mdf

在 RD 连接代理服务器的本地驱动器上。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

该数据库保存有关场和终端用户会话的信息。由于它位于本地计算机上,其他 RDCB 服务器将无法使用它。要提供 RDCB HA,您必须将其移动到其他服务器可以访问它的专用 SQL 服务器。

部署 RD 连接代理高可用性

在将具有 RD 连接代理角色的第二台主机添加到场之前,必须将本地 RDCB 数据库迁移到外部 SQL Server。

要将连接代理数据库从本地数据库移动到专用 SQL Server,请打开服务器管理器 -> 远程桌面服务 -> 概述。要运行远程桌面连接代理故障转移配置向导,请单击 RD 连接代理角色图像并选择配置高可用性

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

然后选择专用数据库服务器。指定将移动本地 RDCB 数据库的 SQL Server 连接设置。

填写两个字段:

  • DNS RD 连接代理集群的名称:我们已为其创建循环 DNS 记录的 RDCB 场的 FQDN 名称(在我们的示例中,它是

    MUNRDCB.a-d.site

    )。这是 RDP 客户端连接到 RD 连接代理服务器时将使用的地址;

  • 数据库连接字符串 - 指定 SQL Server 数据库的连接字符串。这是字符串格式:

    DRIVER=SQL Server Native Client 11.0;SERVER=<SQL Server Name>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<DB Name>

    在此示例中,SQL Server 名称是要在其上创建数据库的 SQL 服务器的名称,DB 名称是新数据库的名称:

    DRIVER=SQL Server Native Client 11.0;SERVER=srv-rds2.a-d.site;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

启用 RD 连接代理 HA 配置后,如果不停用整个 RDS 服务器场配置,您将无法恢复到内部 RDCB 数据库。

在下一步中点击配置

然后使用 SQL Management Studio 连接到您的 SQL Server 实例,并确保已创建新数据库 RDCB_DB

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

授予两个 RD 连接代理服务器对数据库的写入权限。打开数据库 -> RDCB_DB -> 安全 -> 用户 -> 新用户。

创建两个新用户:

BUILTIN\RDS Management Servers

a-d\MUN_RD_Connection_Brokers

。授予两者

db_owner

public

特权。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

为了在第一台服务器发生故障时提供高可用性,请将第二台 RD 连接代理服务器添加到当前配置中。

单击 RD 连接代理图标并选择添加 RD 连接代理服务器

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

输入要安装连接代理角色的第二台服务器的名称,然后单击下一步。然后,两台具有 RDCB 角色的服务器将出现在 RDS 场主机列表中。您还将看到RD 连接代理(高可用模式) 消息。

这样就完成了远程桌面连接代理的高可用性配置。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

配置 RD 连接代理 HA 的 SQL Server 故障转移配置

然后设置 SQL 数据库的故障转移配置。同时,它仅在一台服务器上运行。将 RD 连接代理数据库放置在 SQL 集群中。它可以是经典的 Microsoft 故障转移群集或 SQL Server Always On 高可用性组。

本文介绍了 SQL Server 2019 中的基本 Always On 配置。我们在这里仅展示主要步骤:

  1. 安装故障转移集群角色,并在任意文件服务器上构建两个具有见证和仲裁的RDCB主机的SQL-RDS集群(上面提到的Always On一文中有介绍);

  2. 在两台服务器上的 SQL Server 配置管理器设置中启用选项启用 Always On 可用性组

    [玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

  3. 运行新建可用性组向导;

  4. 输入可用性组的名称 (SQL-RDS);

  5. 选择要放入高可用性组的数据库 (RDCB_DB);

    [玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

  6. 将第二台SQL Server添加到高可用性组中,并勾选自动故障转移选项;

    [玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

  7. 侦听器选项卡上,输入客户端将用于连接到 Always On 组中的数据库 (SQL-RDSDB-liste) 的名称和 IP 地址;

    [玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

  8. 打开故障转移集群管理器管理单元 (

    FailoverClusters.SnapInHelper.msc

    )并确保新资源已出现在角色列表中。

    [玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

然后在连接代理设置中更改 SQL Server 与 RDCB 数据库的连接字符串。您只能通过 PowerShell 更改 RDCB 连接字符串:

Set-RDDatabaseConnectionString [-DatabaseConnectionString] <String> [[-ConnectionBroker] <String>] [ <CommonParameters>]

在我的示例中,将 RDCB 场切换到 SQL 数据库高可用性组的命令如下所示:

Set-RDDatabaseConnectionString -ConnectionBroker srv-rds1.a-d.site -DatabaseConnectionString "DRIVER=SQL Server Native Client 11.0;SERVER=SQL-RDSDB-liste;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB"

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

如果该命令没有返回错误,则一切正常。现在,您的 RDS 连接代理集群已配置为使用 SQL Always On 可用性组。

打开 RDS 场设置并确保将新的连接字符串用于 HA(任务 -> 编辑部署属性)。

[玩转系统] 在 Windows Server 上配置 RDS 连接代理高可用性

因此,我们在 Windows Server 2022/2019 上创建了高可用性 RDS 连接代理服务。您可以通过关闭 RDS 场中的一台主机来测试 RDCB 的高可用性。

然后,您可以继续配置 RDS 场、部署 RDS 许可服务器、添加 RDSH 服务器、设置 RDS 集合、发布 RemoteApps、为 RDS 启用 HTML5 Web 客户端等。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯