Step 8: Determine Where to Store User Data

Published: February 25, 2008

 

A Terminal Services user may have both a standard user profile on the Windows Server 2008 server and a Terminal Services profile. This allows the user to maintain different settings for his or her logon to the server operating system and to the terminal server. For roaming users, these profiles should be stored on a fault tolerant file server. When the user logs off, any profile data should be removed from the terminal server’s hard drive and registry. This ensures that the terminal server stays clean and that users receive their profiles, no matter what servers in the farm they connect to.

Where users may log on to more than one farm, they may need a different Terminal Services profile for each farm. These can be stored on a file server with a path like \\fileserver\share\Farm1\username where Farm1 is the name of the farm. There would then be a similar path for the profile that is used on Farm2, and one for Farm3, and so on. The path would be set up as \\fileserver\share\%FarmName%\username in the user account, and an environment variable created for %FarmName% on each farm. At logon to a particular terminal server farm, the environment variable would be automatically substituted with the actual name, like Farm2, in the Terminal Services profile path, and the correct profile would then be available.

While user profiles are generally quite small, user data can require significant storage. Separate the user data (in My Documents and Application Data files) from the profile, and store them on a separate network drive, which can be replicated if the user travels.

User profiles and data should not be stored on the terminal server. If they are stored on a particular terminal server and the server becomes unavailable, then the user may be able to establish a new session on another server in the farm, but his or her profile and user data will not be available.

The objective of this step is to determine where to store the user data and profiles so that they are always available to all the servers in the farm.

Task 1: Decide User Profile Policy and Storage Location

Determine the following about user storage and record the information in the job aid in Appendix C.

  • Will users have a mandatory profile? Individual users, or user groups, can be assigned to a mandatory profile, which is very useful on multi-user computers and kiosks. There can be more than one mandatory profile assigned to different user groups; for example, one mandatory profile can be assigned for kiosk users and a different mandatory profile can be assigned for call center personnel. Although mandatory profiles are simpler to manage than roaming user profiles, any changes made to the profile during the session are lost at logoff.
  • Determine how much space is required for user profiles. If mandatory profiles were chosen, just measure the size of each different mandatory profile and add them together. These profiles are likely to use less than 1 megabyte (MB), and there is only one physical user profile stored per defined mandatory profile. If users have a Terminal Services roaming profile, determine the maximum size that the profile could reach.
  • Determine where to store the user profiles. Since the terminal server, rather than the client computer, accesses the profile, the storage location needs to be easily accessible by the terminal servers. The profiles can be held on a storage area network (SAN) or any other file server.

Record the location where user profiles will be stored and the sizing of the store in the job aid (Appendix C).

Task 2: Decide User Data Policy and Storage Location

Determine the following about user storage and record the information in the job aid in Appendix C.

  • Determine how much space is required for user data. If users are allowed to store data in a My Documents folder on the storage server, then the storage space required can be significant. Determine how much data users will be permitted to store. This amount multiplied by the number of users is the storage requirement. Record this value in the job aid.
  • Determine where to store the user data. Since the terminal server, rather than the client computer, accesses the data, the storage location needs to be easily accessible by the terminal servers. The data can be held on a storage area network (SAN) or any other file server.

Record the location where user data will be stored and the sizing of the store in the job aid (Appendix C).

Task 3: Design the Storage for User Profiles and User Data

Now that the storage requirements for user profiles and user data have been determined, the two storage locations should be designed. As explained above, in an environment where a user connects to more than one farm, he or she may have different profiles and data on each farm, and so the following work must be completed separately for each farm.

For the user profile and the user data stores, address the following areas to ensure that the solution will meet the requirements of the users and business:

  • Capacity. For each user account, add together the maximum size of the user profile and the maximum size of the Terminal Services profile. If there may be more than one pair of profiles for each user (because they log on to more than one farm), multiply by the number of farms. Now multiply that number by the number of user accounts. This will be the space required to hold all the user profiles.

    ((max size of user profile + max size of Terminal Services profile) x number of farms) x number of user accounts = total user profile storage space required

    Multiply the maximum data storage available for each user account by the number of user accounts. This will be the space required to hold all the user data.

    Max size of user data x number of user accounts = total user data storage space required

  • Performance. The speed at which the user profile files can be accessed is critical at user logon, so they should be stored on a high speed storage device attached to a file server.

    The speed at which the user data files can be accessed is critical to the users’ perception of application responsiveness, so the data should be stored on a high speed storage device attached to a file server that is local to the terminal server farm.

    The goal of designing storage to meet disk performance requirements is to support the number of IOPS. To determine the IOPS requirements for these file servers, set up a test environment and record the number of IOPS generated by a user working in a data intensive application. Then multiply this number by the number of user accounts to derive the total IOPS load. Next, follow the installation’s standards to add a buffer in order to derive the IOPS needed.

  • Fault tolerance. Access to the user profile and the Terminal Services profile is required at logon, and access to the user data will be required in order for most applications to run.

    For these reasons, the profile and data files should be placed in a highly available file server configuration that provides redundancy, such as a DFS share that is replicated or in a failover cluster.

Redundant Array of Independent Disks (RAID) can be used to provide fault tolerance and to improve performance of disk arrays. Common RAID options for production file servers include RAID 1 (Disk Mirroring), RAID 5 (Disk Striping with Parity), and RAID 0+1 (Mirror Stripe Sets). Each option offers a different portfolio of capacity, performance, and cost.

By mapping this disk capacity requirement plus the RAID configuration to the size of disks in the selected subsystem, it is possible to determine the number of actual drives required for performance.

The choice of disk redundancy levels such as RAID 1 or RAID 0+1 affects the IOPS calculation. By mapping this IOPS requirement to the selected type of disk subsystem and the drive characteristics of that subsystem, it is possible to determine the number of actual drives required to achieve the performance objectives.

The actual number of disks required is the greater of the number determined necessary for capacity or the number determined necessary for performance. Usually that will be the number determined by performance.

Document the storage design in the farm design job aid, like the example in Appendix C, then proceed to the scaling assessment in the next task.

Decision Summary

Decisions have been made about what type of user profiles will be allowed, where they will be stored, and how much storage space they will require. The users’ data storage requirements have also been determined and addressed in the same way. This will ensure that the users’ profile(s) and their data are available on a consistent basis.

Additional Reading

Step-by-Step Guide for Configuring a Two-Node File Server Failover Cluster in Windows Server 2008, available at https://www.microsoft.com/downloads/details.aspx?FamilyID=518D870C-FA3E-4F6A-97F5-ACAF31DE6DCE&displaylang=en.

This accelerator is part of a larger series of tools and guidance from Solution Accelerators.

Download

Get the IPD Windows Server 2008 Terminal Services guide

Solution Accelerators Notifications

Sign up to learn about updates and new releases

Feedback

Send us your comments or suggestions