RDS 2016 Session Host failure

James Walls 1 Reputation point
2021-07-08T08:10:41.093+00:00

Hi, Needing some clarification on something

RDS 2016 set up

RDSH1
RDSH2
CBroker
RDWeb/RDGateway

Forwarding port 443 from router to CBroker ip address
DNSRR A Host entries are set to 'RDS' RDSH1 and RDSH2 (the RDSH servers have there own DNS entries as well)
We are using RDP client with computername 'RDS' and Gateway setting set to the external FQDN of the router
we have a collection name called 'Collection1' with the both RDSH1,RDSH2 servers in it set to true (no DNS entry for Collection1)

we can connect externally to both RDSH severs no problem , and these are RDSH1,RDSH2,RDSH1,RDSH2 etc, as expected as we have RRDNS in the form of RDS A record.

when we turn off RDSH1 server , all connections go to RDSH2 server, and when we turn off RDSH2 server , all connections go to RDSH1 server

This is great but , this is where im confused

but how is this done without NLB or any kind of load balancing, i assumed that the RRDNS would send the next login to a turned off dead RDSH1 server , as it works on the basis of RDSH1,RDSH2,RDSH1,RDSH2 etc

what is telling my set up that RDSH1 or 2 is down? and to connect to the only server that is up?

thanks in advance

james

Windows for business | Windows Client for IT Pros | User experience | Remote desktop services and terminal services
0 comments No comments
{count} votes

5 answers

Sort by: Most helpful
  1. Charles Thivierge 4,171 Reputation points
    2021-07-09T01:27:31.213+00:00

    In your deployment, you have a Connection Broker. This is the one who will redirect user to the available RDSH. So let say you shutdown RDSH1, when the client connect to the RDS Farm, the Connection Broker will redirect the client to the next available RDSH (RDSH2 in this case).

    hth

    0 comments No comments

  2. Leila Kong 3,706 Reputation points
    2021-07-09T06:38:34.187+00:00

    Hello @James Walls ,

    Thanks for your query.

    1.By using the farm DNS name for the server name in the Remote Desktop client, we are using DNS round robin to decide which RD session host server is going to have the initial connection. This is called DNS round robin load balancing. Once the user has authenticated to the RD session host server in the farm, the server then contacts the connection broker to determine whether to continue with the login process or to redirect the connection to another RD session host server in the farm.
    The connection broker firstly determines whether the authenticated user account has a disconnected session on one of the servers in the farm. If there is a disconnected session on one of the farm servers, the user will be re-directed to that session. If the user doesn't have a disconnected session in the farm, the broker uses the Session Collection Load Balancing settings to determine which server to redirect to.
    How to Setup Remote Desktop Connection Broker Load Balancing in Windows Server 2016 : https://turbofuture.com/computers/How-to-Setup-Remote-Desktop-Connection-Broker-for-Windows-2016

    2.There is no need to configure DNS Round Robin for RD Session Hosts since Windows Server 2012, as the initial connection goes to RD Connection Broker instead of RD SH. In addition, since Windows Server 2012 it's intended to have users connecting to RD resources via RD Web Access page, .rdp file downloaded from the page or RemoteApp and Desktop Connections configured via Control Panel or Group Policy, as RD Web plug-in would generate proper .rdp files. If you'd like to get it working by connecting to RD Connection Broker (collection name) directly with mstsc.exe, you may configure default collection on RD Connection Broker via registry below:
    HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
    DefaultTsvUrl REG_SZ tsv://MS Terminal Services Plugin.1.<Collection Alias>
    In the meantime, add DNS Host record that collection name points to RD Connection Broker's IP address.
    RDS Connection broker load balancing how to : https://social.technet.microsoft.com/Forums/windows/en-US/397e46f3-eed2-4d8c-af40-b349955195d8/rds-connection-broker-load-balancing-how-to?forum=winserver8gen

    Best regards,
    Leila


    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  3. James Walls 1 Reputation point
    2021-07-09T07:59:13.313+00:00

    Thanks you all for your replys.

    im still confused slightly, my currnet set up is using A host records for the RDSH servers = DNS round Robin (RDS) going to RDSH1 and 2, so im not using the Collection name anywhere or changed the configure default collection on RD Connection Broker via registry, we are using mstsc.exe, with the computername 'RDS' and Gateway setting set to the external FQDN of the router in the mstsc.exe client.

    so when the connection comes from client to the gateway on port 443 , where does it go next?

    1.mstsc.exe client > Rdgateway > Connection Broker > RdSession Host

    or

    2.mstsc.exe client > Rdgateway > RdSession Host > Connection Broker > RdSession Host

    Comparing to my current set up that seems to work correctly, what would be the benefit of changing this to use the Collection name in the mstsc.exe client , removing the Ahosts for the RDSH servers/adding collection name A host record for the collection name to point to the connection broker and adding the regedit to the connection broker?

    thanks

    james

    0 comments No comments

  4. Leila Kong 3,706 Reputation points
    2021-07-12T02:12:36.7+00:00

    Hello @James Walls ,

    Thanks for your response. The connection flow is as 1.mstsc.exe client > Rdgateway > Connection Broker > RdSession Host.

    113663-rds-solution.png

    Differences between 2008 R2 and 2012 RD Connection Broker
    · In RDS 2008/2008 r2 RDP connects to farm name via DNS round robin so connection process is RDSH redirector -> RD Connection Broker -> RDSH
    · In RDS 2012 and above you connect to connection broker who then routes you to the collection name
    In RDS 2012 there is not a way to connect to collection based deployment with one consistent name using mstsc if there is Microsoft RD Connection Broker, which is why we recommend using RDWeb for best experience.
    Walkthrough on Session hint / TSVUrl on Windows Server 2012: https://techcommunity.microsoft.com/t5/ask-the-performance-team/walkthrough-on-session-hint-tsvurl-on-windows-server-2012/ba-p/375650

    Please "Accept as Answer" if it helped, which might be beneficial to other community members reading this thread. Thanks for your cooperation!

    0 comments No comments

  5. Leila Kong 3,706 Reputation points
    2021-07-19T01:55:43.047+00:00

    Hello @James Walls ,

    Just checking in to see if the information provided was helpful.

    Please "Accept as Answer" if it helped, which might be beneficial to other community members reading this thread. Thanks for your cooperation!

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.