Adding additional session hosts to a Remote Gateway on Server 2012

Adding additional session hosts means that your users can have their sessions load balanced across two or more server supporting larger numbers with better performance.

Before you start

The first time I added a second session server (onto the DC VM) I lost RDP access to DC.  It came back when I uninstalled the session host which I could do from the second VM– but risky … - so maybe good idea to install UltraVNC (and test it !)  if you are using Azure as the only access is via RDP maybe to allow a console method of access.

Basic architecture

I have one VM setup as a domain controller. (VMDC)

I have a second VM (VMRDS) set up as server joined to the domain on VMDC.  This server has Remote Desktop services setup and installed on it as in this article https://www.esdm.co.uk/server-2012-setting-up-remote-gateway-remote-desktop-and-remoteapp

Adding additional session hosts

One I actually figured out what I needed to do and which components needed to be on additional servers the process was actually very simple.  One of the really nice features of Server 2012 is the ability to easily manage and install services on other remote servers.  In this case I’m installing a session host on one additional server – but I’m pretty sure that I could have installed to multiple other servers at the same time.

Make sure other server(s) are in list – if necessary add them by going to Manage, Add servers

image

Go to the Remote desktop services overview and then right click – Session host and select “Add server”.  This will install the RD Session Host on the selected servers if its not already there.

image

Once the servers have the session host installed – you need to assign them to one or more collections in order for them to be used by the remote apps of that server.

image

As sever users log on you can watch the connections and should see them being executed on both servers.

image

The collection settings allows you to control how applications are shared but by default they are all given equal weighting.

Setting up remoteApps on multiple session hosts

When you add a new remoteApp into a collection, you browse the current gateway server.  Its your responsibility to make sure that the application is installed on all servers being used by this collection. 

With a little care you can use a network share or mapped drives to use the same installation for multiple servers in many cases making maintenance easier.  Or you can just have it setup so you just have to copy any updates round to each server.

Connecting to the server

Connecting to a RemoteApp is exactly the same (and using exactly the same FQDN) as if you have everything installed on a single server.  The gateway and broker take care of all subsequent communication with other servers. 

However if you want to have an RDP connection which connects to a specific collection through a broker its slightly more complicated.

From http://tech.jesseweeks.me/2013/07/configuring-custom-rdp-shortcuts-for.html

  • Create an RDP connection as usual – entering the FQDN (e.g. test.esdm.co.uk) for both the gateway and the machine name.
  • Save the connection
  • Open the connection file in notepad
  • add/update the following information, substituting your RDS collection name for  QuickSessionCollection if different

 use redirection server name:i:1 
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.QuickSessionCollection

  • Save the .rdp file and test.

Connecting to a specific session host server

By default when you try to connect the session host will direct you to a machine according to its balancing rules.  If you want to perform some maintenance on a specific server this is a bit of an issue.

Fortunately simply using the /Admin switch allows you to connect to a specific server.

mstsc /v:server /admin

Is used for administration of a terminal server. In this version of Remote Desktop Connection, if the Terminal Server role service is installed on the remote computer, running mstsc /admin will do the following (for the current connection only):

  • Disable Terminal Services client access licensing.
  • Disable time zone redirection.
  • Disable TS Session Broker redirection.
  • Disable TS EasyPrint.

http://windows.microsoft.com/en-us/windows/command-line-parameters-remote-desktop-connection#1TC=windows-7

 

Comments

Find out more