Forum Discussion
John_Masgalas_4
Nimbostratus
Mar 22, 2007Load balancing terminal servers w/o Session Directory
We are having trouble with load balancing 2 terminal servers without Session Directory enabled. User will disconnect. When they log on again the big ip will not always send them to the same server so they get a different session.
We have bigip version 9.2.4
I have a virtual server setup to load balance a pool using msrdp persistence. I also have Session Directory Enabled unchecked in the persistence profile.
The are connecting via thin clients using the 2X software to establish their rdp session. 2x uses a regular rdp session however all they see is a full screen logon screen with no other options. They use their network logon and get sent to the virtual server. This should be working correctly, shouldn't it? We did test before going live and it was working fine.
I know our other option is to enable session directory. Since I have not done this before, would it impact the users? These servers are live so I do not want to knock everyone out.
Thanks!
- Just to clarify semantics, you said you were "load balancing 2 terminal servers", but I assume from the rest of the post you are actually LB across two RDP think clients, using 2X RDP thin clients. In either case, the issues below apply, but if you really have Windows Terminal *Servers*, then enabling Session Directory is the easiest solution to your problem.
- Tech_Imp_40243Historic F5 AccountDoes thi issue happens without the 2X clients. I'm wondering if this is something linked to that client.
- No, the same behavior will be observed with Microsoft RDP clients. If session directory is not enabled or not supported, the client has nothing to verify that a current session exists before establishing a *new session* - even when using the the BIG-IP WTS persistence setting. New connections within the same session ARE persisted to the same device (WTS or RDP client) when WTS persistence is used.
- John_Masgalas_4
Nimbostratus
We do have two terminal services servers. We are using thin clients that rdp into these servers. Both are Win2k3 Enterprise so Session Directory is an option. However from what I've read this should still be working without Session Directory enabled. From my understanding that is why that option is in the msrdp persistence profile. - Changing the timeout option may help a little bit, but the basic issue is still not solved. With Session Directory disabled, msrdp persistence will persist to the same server during the same session. Once you disconnect (but *don't log out*), the next time you log in, you are a new user. There is no token to connect you with a session that is running on a particular terminal server. Your experience proves validates this behavior. If you enable Session Persistence it will work. So if you want it to reconnect to an already establish connection, you have to enable Session Persistence, or find a way to replicate the functionality of session directory. It's not that the session times out too early, it's that you have no way of knowing the existence of an existing session. Increasing the timeout will actually aggrevate the problem more. In fact, if the timeout is too long, ALL available servers could theoretically be "tied up" and no user could connect to either terminal servers. If anything, lower the timeout.
- JRahm
Admin
When enabling session directory on the Terminal Server, it will send the cookie, and the string that the F5 is looking for is msts=. When session directory is NOT enabled on the Terminal Server, and the F5 msrdp profile checkbox is disabled, it is looking for the string mstshash=. Here is an exerpt from my sniffer capture when utilizing the rdp profile with session directory disabled on the server and the BigIP: - John_Masgalas_4
Nimbostratus
The timeout is all that it was! I changed that and the BIGIP is keeping track of sessions and redirecting them correctly! Since our TCs send the credentials at the time of connection it is working great without Session Directory. - Great! But does that mean you increased or decreased the timeout? I would think you increased it so it would "remember" your session longer. Will the timeout be long enough or will you have users that want to reconnect to a session the next morning? Just out of curiosity, why not use Session Directory? Was the session directory a device you didn't want to manage? was it a cost issue?
- JRahm
Admin
It is only in niche areas where we choose not to use session directory. - hoolio
Cirrostratus
Citizen, or anyone else...
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects