What is the best way of restricting user profile size in a Terminal Server environment?
Solution 1
We have found that redirecting as many folders as possible greatly reduces the amount of data that ends up the profile. I would be reluctant to redirect appdata though, you may want to test that.
Personally, I think that a terminal server that will need to support many users needs to have a huge C:\ partition. This is especially true if not redirecting any/many folders. It's also a good idea to have the profiles removed on logoff - assuming that the profiles are roaming and the correct folders are redirected.
Also note that you can re-define where user profiles are stored, so if space is limited on your C:\ partition that may be an option.
User Profiles on Windows Server 2008 R2 Remote Desktop Services
https://blogs.msdn.com/b/rds/archive/2009/06/02/user-profiles-on-windows-server-2008-r2-remote-desktop-services.aspx
Solution 2
Since I asked this question we've moved off 2003 and are using User Profile Disks with 2012r2 (they were introduced with 2012):
The simpler way is user profile disks. User profile disks store user and application data on a single virtual disk that is dedicated to one user’s profile [...] User profile disks provide an easy way to store the user settings and data on a separate virtual disk that is reattached at logon, so the user data isn’t discarded when the virtual machine rolls back.
They aren't necessarily perfect for everyone but they suit our use case quite well because they don't have some of the performance issues of Roaming Profiles. You need to bear in mind that:
- User profile disks are for a single collection only
- A user cannot have two sessions at once using the same User Profile Disk
Solution 3
As your goal is to prevent the system volume of your sever from filling up, I'd suggest the following as an alternative to restricting profile sizes (which I'd always try to avoid if possible)
Configure roaming profiles with folder redirection. This will off load the bulky storage areas (Desktop, My Documents) to a file share on another server. With roaming profiles, you can also configure your terminal server to delete local cached copies of profiles at logoff.
Edit posted in response to question edit:
As you are using a standalone server (i.e. not in an active directory domain), then roaming profiles aren't useful to you, however you can still use folder redirection to shift the bulky directories to another volume, which will go a long way to preventing your system volume from filling up.
Related videos on Youtube
Admin
Updated on September 18, 2022Comments
-
Admin over 1 year
From this link I understand that my two options are:
- NTFS Quotas
- The "Limit profile size" policy setting
I prefer option (1) because I really want to limit the overall size of everyone's profile so a single user can't fill up the C:/ drive. However, if the quota is reached, I'm concerned I'd be unable to even log in as Administrator remotely to delete files or increase the quota. I don't think I can eg: limit "c:\documents and settings" except for "c:\documents and settings\administrator"
The alternative I can think of is applying an NTFS quota to each user's profile individually when the user is created - more work but at least I have the fine-grained control. This is what I'm currently considering unless you have a better idea?
In response to comments on the answers: this is a standalone TS environment with no other servers and all users use the TS exclusively.
-
joeqwerty about 12 yearsUsing roaming profiles is pretty standard stuff in a TS environment but with only a single TS it may be overkill. My Documents folder redirection is pretty standard as well and should remove the bulk of the user data from the profiles. That in conjunction with limiting the profile size via option 2 should do the trick.
-
George about 12 yearsI'm not sure I understand using Roaming Profiles in the context of Terminal Server - does it make a difference that we are talking about a pure TS environment?
-
Admin about 12 yearsI'm not sure I understand using Roaming Profiles in the context of Terminal Server - does it make a difference that we are talking about a pure TS environment?
-
Kcmamu about 12 yearsIt will work exactly the same as on a desktop system, I've assumed your server is in an Active Directory environment though, if it's standalone, this won't work for you.
-
Spence about 12 years+1 - Folder redirection is a must. Roaming user profiles in a Terminal Services environment is a fairly common configuration. It eases the scaling to multiple Terminal Server computers since it abstracts away the user's profile. You can use the Terminal Server itself as the location for the shared profile folder, if need be (just share a directory hierarchy aside from "C:\Documents and Settings" to store the profiles-- I've seen people attempt to share "C:\Documents and Settings" and that's most assuredly not the right way to do it).
-
Admin about 12 years@Evan that is very interesting - presumably I could redirect to a drive other than the system drive then? Can I use GPO to leave the Administrator profile on C: and redirect the rest to D:? With roaming profiles can you redirect the entire folder (ie not just the "My Documents" folder or whatever?)
-
Spence about 12 years@JackDouglas: Folder Redirection and Roaming User Profiles are two different things. Have a look at the links in this answer: serverfault.com/a/67754/7200
-
Kcmamu about 12 years@JackDouglas Answer updated due to question edit.
-
Admin about 12 years@Greg can you provide a link for how to re-define where the profiles are stored?
-
Greg Askew about 12 years@JackDouglas - actually the best document, hands down, is the Windows 2008 Terminal Server Resource Kit, but I provided a reference from the Remote Desktop Services Team blog that provides a lot of good prescriptive guidance.