Hello Gurus,
I've configured many Remote Desktop Connection Broker farms for Server 2008 without issue but I can't seem to mimic the same expected functionality in a 2012 R2 connection brokered RDS farm.
Configuration:
- 2x Remote Desktop Session Host (RDSH1, RDSH2)
- 1x Connection Broker (CB)
- 1x Client Machine (CLIENT)
Expected behavior:
- CLIENT initiates RDP connection to RDSH1 or RDSH2
- RDSH server calls CB to check whether initiating RDSH server has the least number of active RDP sessions
- If initiating RDSH server does NOT have the least number of active RDP connection on it, redirect the RDP request to the opposite RDSH server to process the logon request
- CLIENT is connected to the RDSH server which has the least number of active connections and is logged into his/her desktop session
- All RDP traffic into the RDS Collection associated to this CB would be expected to be evenly split 50:50 across each of the two RDSH servers
Behavior seen:
- CLIENT initiates RDP connection to RDSH1
- RDSH1 processes the request and logs the user on
- A different CLIENT initiates another connection to RDSH1
- RDSH1 processes the request and logs the user on (now 2 active connections on RDSH1 and 0 active connections on RDSH2)
What I have tested/checked:
- Both RDSH servers are added to the same server pool along with the CB
- Both RDSH servers are added to the same collection managed by the single CB
- Verified the in the RDS Collection that the Load Balancing weight is set to 100 for both RDSH servers and the max connections is set to 999999 (unlimited)
- To confirm that CB redirection is actually able to function, configured RDSH1 server to be in "Drain" mode (Do not allow this server to accept new RDS sessions) in the collection. Sent a new connection to RDSH1 and the connection was automatically redirected to RDSH2 and the user was logged into the desktop successfully.
- To confirm that CB redirection is actually able to function, configured the Load Balancing "Max Connections" in the Session Collection to be set to 3 for RDSH1 and 3 for RDSH2. Sent 3 connections at RDSH1 - all three were processed by RDSH1. Sent 3 additional connections to RDSH1, all 3 were successfully redirected to RDSH2.
What I cannot understand is how to change/update the CB load balancing algorithm to evenly distribute the connection request load across all of the RDSH servers evenly to avoid heavily taxing a single RDSH server at 100% before it attempts to send connections to RDSH2. Can anyone provide some ideas as to what I might be missing in this configuration or additional options I should check? I've been stumped on this for approximately 4 months.
The way 2008 worked, you could send users to a dedicated redirector role and the redirector would do the job of communicating with the CB and evenly redirecting the connection requests. However in 2012 the dedicated redirector no longer exists and is seemingly"bundled" into the RDSH role. Since initial connections are sent (or round robin'ed) across all RDSH role servers I would expect the RDSH and the CB to be able to still use a least connections algorithm for redirection. Is this not at all how this works now?
Thanks,
Carl