rss logo

How set up a Windows RDS Farm architecture

Microsoft logo

Nowadays, it is quite common to see RDS environments in companies. Generally for smaller organizations (with fewer than 30 users) a single server is sufficient. However, in the case of a larger number of concurrent users, performance issues may arise despite increasing hardware configuration. Upgrading the architecture in case of user expansion can also become complicated.

Therefore, if you want to establish a scalable solution capable of handling a significantly high number of simultaneous connections, it becomes necessary to set up an RDS Farm. This involves segregating various services (broker, license server, session host, etc.…) across multiple servers. It also allows you to create a pool of RD Session Host servers to handle user load. In the following article, we will explore this setup in detail.

RDS Farm Architecture

Here is the architecture that we will put in place.

Windows rds farm architecture
RDS Farm Architecture.

Install (broker.std.local)

We can either install our RDS architecture from the PowerShell command line or from the graphical interface.

Install from GUI

Add servers to managed

  • From Server Manager do a right click to All Servers > Add Servers :
the server manager window, from which the add servers menu is launched
  • Add Servers :
adding servers in windows

Install

  • Still from Server Manager go to Manage > Add Roles and Features :
the add roles and functions menu of the windows server manager
  • At the first windows click Next :
Before you start step in the Windows Role and Feature Wizard window
  • Choose Remote Desktop Services installation :
Step select the type of installation from the Add Windows Role and Functionality Wizard window with Remote Desktop Services installation of selected
  • Choose Standard deployment :
Typical deployment step in the Windows Role and Feature Wizard window, with the standard deployment option selected.
  • Select Session-based dektop deployment :
Deployment scenario step in the Add Windows Role and Functionality Wizard window, with the option of deploying desktops based on a selected session.
  • Simply click Next :
Role services step in the Add Windows Role and Functionality Wizard window
  • Add the broker server :
Step Specify the Broker service server in the Windows Role and Feature Wizard window
  • Also add the broker server as the RD Web Access server :
Step Specify a Remote Desktop Services Web Access Server from the Windows Role and Feature Wizard window
  • Now add the RDS servers as Hosts servers :
Step Specify remote desktop session host servers in the Windows Role and Feature Wizard window
  • Check the Restart the destination box and click Deploy to install :
Step confirm the selections in the Windows role and functionality wizard window, with the option for automatic server restart checked

Install with PowerShell

  • Install RDS Services via PowerShell :
PS C:\> Add-WindowsFeature -Name RDS-Connection-Broker,RDS-Licensing,RDS-RD-Server -IncludeManagementTools -Restart
  • Then deploy via PowerShell :
PS C:\> Import-Module RemoteDesktop
PS C:\> New-RDSessionDeployment -ConnectionBroker broker.std.local -WebAccessServer broker.std.local -SessionHost rds01.std.local

Post-Install

Once installed we need to configure.

RD Licensing (broker.std.local)

  • From Server Manager go to Remote Desktop Services > Overview and click to RD Licensing icon to add a Licensing Server :
remote desktop service configuration window with license manager identified by a red arrow
  • Select the broker server as the RD Licensing server :
add license manager window server selection step
  • Click Add :
add license manager step confirm selections
  • Then Close :
add session host server step window with installation results

Adding RD Session Host Servers

  • From the Deployment Overview, do a right click to RD Session Host and click to Add RD Session Servers :
remote desktop service configuration window session host menu
  • Add the others RDS servers :
add session host server window server selection step
  • Check the Restart remote computers box and click to Add :
add session host server step confirm selections
  • Once installed we can close the Window :
add session host server step window with installation results

Set Users Profiles Share (rdsprofiles.std.local)

  • Do a right click on the User_Profiles folder and go to Properties :
windows pop-up menu when right-clicking on a folder in windows explorer, with the properties parameter highlighted
  • Then set the share as shown here :
steps to activate folder sharing under windows

Create Collection

  • From the Deployment Overview, do a right click to RD Session Host and click to Create Session Collection :
session host server menu in the Deployment Overview window, with the Create session collection option highlighted
  • Click Next :
step before starting the RDS collection creation window
  • Give a name to the RDS Collection :
step name of the collection in the RDS collection creation window
  • Add the RDS Servers to the Collection :
adding session host servers step in the RDS collection creation window
  • Specify the user groups that should connect to the RDS farm :
User groups step in the RDS collection creation window
  • Specify the folder share that we previously set up on the RDSPROFILES server :
Disk profile step in the RDS collection creation window
  • Click Create :
RDS collection creation window confirmation step
  • Then Close once all operations are terminated :
RDS collection creation window progress step

Add DNS entry (AD Server)

⚠️Note that the new host name should be the same as the collection name previously defined. In this example : RDSfarm⚠️
  • Open the DNS Manager console from an Active Directory server :
windows run window with dnsmgmt.msc entered in the open field
  • From the domain zone, add new Host (A) DNS entries :
Windows DNS manager window with new host creation menu
  • For example with three RDS Session Host :
DNS configuration windows for RDS hosts

Alternative to DNS Entry (Client)

There is another way to inform the server about the collection we want to connect to. It involves customizing an RDP icon. The simplest way to do this is to edit a RDP file with Notepad.

RDP desktop icon with a Windows Notepad

Once opened, check if you already have any lines containing "loadbalanceinfo," "full address," "gatewayhostname," "use redirection server name," or "alternate full address." If any of these lines exist, remove them.

Next, add the following lines and update the information based on your own server and collection names:

loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RDSFarm full address:s:broker.std.local gatewayhostname:s:broker.std.local use redirection server name:i:1 alternate full address:s:broker.std.local

Save the modified file, and open the RDP icon.

Client Connection

With DNS entry

  • The client will use the rdsfarm dns entry to connect to one of the RDS Session Host :
remote desktop connection window

Alternative, without DNS entry

  • The client will use the RDP icon previously created to connect to one of the RDS Session Host:
remote desktop connection window
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address