A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (2024)

in Microsoft

A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (1)

How to effectively manage FSLogix Profile and Office Containers and optimise storage capacity.

  • Why Containers
  • Managing Profile Size
    • Setting Container Size
    • Concurrent Access and Multiple Sessions
    • Profile Container Exclusions
    • Prune the Profile
      • Avanite WebData Control
  • Office 365 Considerations
    • Outlook
    • OneDrive for Business
    • Microsoft Teams
  • 3rd Party Apps
  • Container Maintenance
    • Storage
      • Reporting on Container sizes
  • Summary

A container approach to profiles in your virtual desktop environment means you’re going to deal with additional storage requirements that you likely haven’t had previously. Profile containers have gone mainstream with the Microsoft acquisition of FSLogix, making Profile Container and Office Container available to practically everyone.

This article sets out approaches and considerations for keeping profile sizes in check to help avoid storage capacity headaches.

Why Containers

A profile container (Profile Container or Office Container) will capture the user’s entire profile in a virtual disk and attach the disk to their target VM making the entire profile available at login. This enhances user experience by improving performance and enables applications or features that are challenging with traditional approaches.

Containers do this in several ways:

  • Improves performance by reducing the IO to the file server hosting user profiles
  • Enables application features that don’t work well in virtualised and non-persistent desktop environments by fooling applications into seeing the profile on a local disk
  • Simplifies administration because we no longer need to deal with setting a full list of inclusions and exclusions for profile roaming

This is a different approach to traditional profile management. Consider Citrix Profile Management where we attempt to manage the smallest profile possible to strive for consistent login speeds by redirecting user folders to the network and set a complex set of include and exclude locations to simulate a persistent desktop experience. Additionally, we may have implementing specific configurations to keep profile sizes small, most of which involve redirecting folders to the network.

Managing Profile Size

The role of the FSLogix agent and the container is to be transparent to applications running in the user session. The agent makes no changes to those applications and instead ensures those applications operate just as they do on a physical PC. This means that you must use application features or other external approaches to reduce their impact on the size of profile.

Setting Container Size

Take a look at your own profile size on a physical Windows 10 PC and it will provide an indication as to how large containers can be.

For Windows 10 or Windows Server 2016/2019, and with no additional optimisation, the Profile Container can start at 400 MB and will often be higher. The container will then grow as it is used, but it does not actively reduce in size unless the disk is compacted.

FSLogix Profile Containers and Office Containers are dynamic VHDX files that will grow to a maximum default size of 30 GB. You should size appropriately for your environment and as such, it’s worth validating with the size of existing user profiles as well as estimating the amount of additional profile data that will be stored in the container.

It may be tempting to set a lower maximum size of the container; however, I recommend against this as this approach will only artificially restrict the size of the profile. If the container fills, applications will not handle the lack of available space gracefully. This will cause a support call and potentially data loss.

A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (2)

Concurrent Access and Multiple Sessions

Profile Container supports concurrent access and multiple sessions with the ability to merge changes back into the primary container. While you still have to deal with last-write-wins, you will need to take into account additional storage capacity while multiple concurrent sessions are running.

A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (3)

Office Container also supports concurrent access and multiple sessions; however, once Outlook cached-mode is enabled, merging a read-write copy back into the primary container is not supported. You must then configure concurrent access per-session containers, where a container is created for each session. The concurrent access per-session containers are named ODFC-%username%-SESSION-<sessionnumber>.VHD(X) where sessionnumber is an integer from 0 - 9. NumSessionVHDsToKeep defines the number of session containers to keep (default is 2), which can result in, for example, keeping two Office Containers while discarding the third at logoff.

If concurrent access per-session containers are enabled, plan for storage capacity to handle multiple Office Containers taking into account the number of containers that will be kept and those to be discarded.

Profile Container Exclusions

FSLogix Profile Container supports a folder exclusion feature where a set of target folders will end up on the real file system of the VM and thus won’t be captured in the virtual disk. The default folders include Temp (AppData\Local\Temp) and the Internet Explorer cache folder (AppData\Local\Microsoft\Windows\INetCache).

During a user session, you’ll see the user profile folder (e.g., C:\Users\aaron) that is a link to the container and a Local_ folder (e.g., C:\Users\local_aaron) where those folders listed in redirections.xml are written to the file system. At logoff, the C:\Users\local_aaron folder is lazily deleted by the FSLogix service, thus we don’t maintain copies of profile data we don’t need.

You likely have a list of folders that can be added as additional exclusions. Add these to the redirections.xml file that is copied to the container from a central source at user login. Folders to add to redirections.xml will include application caches (e.g., cache folders for Google Chrome) or folders where the application is storing large amounts of data (e.g., folders with log or temporary files).

Adding redirections after identifying profile locations that consume large amounts of capacity won’t remove those locations from existing Profile Containers. Those containers will need to be edited offline by mounting them and removing the target data.

I’ve written a script that is published on the PowerShell Gallery - ConvertTo-RedirectionsXml - that will get you started with a Redirections.xml. Details on how to use the script are documented in this article - Crowd Sourced Redirections.xml for FSLogix Profile Containers, as well as on the repository itself.

NOTE: As always, understand your applications and TEST before implementing in production. Implementing redirections can adversley affect basic Windows operations.

Prune the Profile

Not all profile locations are candidates for adding to the redirections.xml and excluding from the Profile Container. Consider history and cookie folders that would negatively impact user experience if they were not maintained across sessions. In this case, we can run regular maintenance on additional folder locations inside the profile to keep the size in check. This approach won’t directly reduce the size of the profile per se, but will assist in containing growth.

I’ve written a PowerShell script - Remove-ProfileData.ps1, that can prune or delete a set of target files and folders. The script reads an XML file that defines a list of files and folders to remove from the profile.

Actions on a target path can be:

  • Prune - the XML can include a number that defines the age in days for last write that the file must be older than to be deleted
  • Delete - the target directory will be deleted. The Delete action will delete the entire folder and sub-folders
  • Trim - where the target path contains sub-folders, this action will remove all sub-folders except for the most recent. This approach is implemented to clean up applications such as GoToMeeting that can store multiple versions in the profile

The script supports -WhatIf and -Verbose output and returns a list of files removed from the profile. Add -Verbose will output the total size of files removed from the user profile and processing time at the end of the script. All targets (files / folders) that are deleted, will be logged to a file. Deleting files from the profile can result in data loss, so testing is advised and the use of -Confirm:$false is required for the script perform a delete. To prune the profile, run the script as a logoff action.

A word of caution - this script is unsupported. If you would like to help improve the script, pull requests are welcome.

Avanite WebData Control

Avanite has an interesting approach for history, cookie and cache folders for the most common browsers that are running in enterprise virtual desktops - Avanite WebData Control. Avanite provides an analysis tool that will give you an idea of the amount of capacity to be saved by WebData Control:

While their marketing pushes the benefits of solution to improve login times, this should be largely irrelevant with Profile Container, because profile data is not copied across the network at login. I’ve not yet tested WebData Control with Profile Container, so I can’t speak to it’s effectiveness or compatibility yet, but I don’t see why it wouldn’t work.

Office 365 Considerations

Whether you’re using Profile Container alone or Office Container as well, or Office Container with an existing profile management solution, capacity planning is required for a successful deployment.

Outlook

Cached Exchange Mode in Outlook provides the user with the best possible experience and can be enabled without resorting to unsupported workarounds that result in corrupt OST files (this includes PST files).

The Outlook cache is stored in AppData\Local\Microsoft\Outlook and includes the OST file we’re familiar with as well as the NST file used to cache Outlook Groups.

The primary configuration task here is to configure the amount of email to be downloaded. Assuming Outlook 2013 and above, the slider defines the age of the content in the mailbox that Outlook should be cached. This setting can be configured as a default using the Office Customization /Deployment Tool or via Group Policy.

A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (7)

Start with lowest amount possible and work up depending on user requirements. 3-months is common; however, some users live in Outlook and may need a larger cache. Use multiple GPOs to target different cache settings to different user groups.

Microsoft provides further detail and considerations, including configuration options for Cached Exchange Mode in the documentation - Plan and configure Cached Exchange Mode in Outlook 2016 for Windows. Here’s a few key takeaways:

  1. The maximum default size of an OST file is 50 GB. The default mailbox size for Office 365 E3 and E5 plans is 100 GB.
  2. Upgrading from an earlier version of Outlook to 2016 or above will create a new optimised OST file but will not remove the previous OST file
  3. An OST file will be 50-80% larger than what is stored in the mailbox

    When you use Cached Exchange Mode, be aware that users’ local .ost files are 50 percent to 80 percent larger than the mailbox size reported in Exchange Server. The format that Outlook uses to store data locally for Cached Exchange Mode is less space-efficient than the server data file format.

  4. Shared folders (such as delegated access) are cached as well, which will impact sizing
  5. Consider the Offline Address Book in sizing as well. Larger organisations could have quite large OABs

Some additional points to note:

  1. Outlook cache files can be stored in either the Profile Container or the Office Container. While the choice of container doesn’t impact capacity sizing, placing the Outlook cache in the Office Container reduces capacity needed for Profile Container backup
  2. The RemoveOrphanedOSTFilesOnLogoff configuration setting in Profile Container or Office Container will remove duplicate orphaned OST files (introduced in version 2.9.6877.5470). By default this setting is off.

    A value of ‘0’ or lack of this setting results in no action. A value of ‘1’ will cause duplicate OST files to be removed. Please read below in full prior to setting. In rare cases duplicate OST files are created for a user. This circ*mstance occurs outside of the use of a non-persistent profile. When the profile is stored in the standard file system, administrators may remove Orphaned or Stale OST files by deleting them. Because an OST file in a VHD is not as visible, over long periods of time duplicate OST files may consume incremental disk space. Setting this option to 1 will cause Profile Container and/or Office Container to automatically remove all OST files in a VHD(X) except the OST with the latest modify date. NOTE: an administrator should be very familiar with the use and function of OST files, as well as potential implications, prior to choosing to enable this setting.

  3. Archiving can reduce the size of the user’s mailbox, but archive mailboxes are accessed in online mode only
  4. Retention policies can also help keep mailbox sizes down
  5. Outlook on the web could be an option for some of your users. I’ve been testing out the new Outlook experience instead of running the desktop application for a couple of weeks and am finding it to be extremely capable. Outlook on the web is even receiving updates before the desktop version

OneDrive for Business

FSLogix Containers supports the native OneDrive for Business client in a non-persistent desktop. This provides the user with their sync folder as well as synchronised SharePoint Document libraries. Combined with Known Folder Move enabling OneDrive with Containers helps eliminate folder redirection to the network and provides a consistent experience across virtual and physical desktops.

There are several things to consider for capacity planning with deploying OneDrive for Business

  1. Users receive a 1 TB allowance for OneDrive by default
  2. It may be advantageous to block specific file types so that users can’t sync ISO files for example. This won’t stop users from attempting to copy large files into the sync folder, but it will prevent these files being synchronised from a physical PC into OneDrive in a virtual desktop
  3. OneDrive Files On-Demand will reduce the capacity used in the Container; however, this feature relies on an NTFS attribute introduced in Windows 10 1709. Windows Server 2016 is version 1607, therefore Files On-Demand is not available in Windows Server 2016. It does work under Windows Server 2019
  4. Files On-Demand states can be set with the attrib command on Windows. A script can be used to set these states in bulk inside the user’s sync folder
  5. Similar to attrib, Storage Sense supports deydrating cloud content (i.e. the OneDrive sync folder) by supporting Files On Demand and turning files that have not been accessed within a specified period back into online copies, reducing capacity used by these files.
  6. Group Policy can be used to set the maximum size of a user’s OneDrive that can download automatically. Where Files On-Demand is unavailable, configure this setting so that the user will be prompted to choose the folders they want to sync before the OneDrive sync client (OneDrive.exe) downloads the files. This setting won’t assist with growth after the fact though
  7. By default, the OneDrive client is installed in the user profile: (AppData\Local\Microsoft\OneDrive). The OneDrive client now supports a per-machine installation that can help to reduce the Container size by ~200MB

Additional deployment information is also available here: OneDrive guide for enterprises

Microsoft Teams

Microsoft Teams is built on Electron and uses Squirrel to manage updates. Squirrel’s tag line is “It’s like ClickOnce but Works™” - obviously the team didn’t consider non-persistent desktop environment when building it.

Why did Microsoft build Teams on Electron? The ability to iterate faster, especially across platforms. Having said that, Microsoft has been successful in delivering fast, per-machine updates with Office 365 ProPlus, so there’s no reason they can’t do the same with Teams.

While Microsoft has previously delivered a per-machine installer for Teams, it doesn’t actually run the application from Program Files. Instead it delivers the per-user install when a user logs into the machine.

Like the OneDrive client, Microsoft Teams installs into the user profile; however, it now also supports a per-machine installation.

The Microsoft Teams deployment documentation recommends 3 GB for Teams, per-user. This should be an outlier - my Teams folder is currently 543 MB. There are instances where Microsoft Teams can blow out the Container by 4GB on launch, but then still result in far less capacity consumed.

Microsoft provides some guidance on excluding certain Teams folders from the Profile Contianer. The following locations can be added to your Redirections.xml. These are included in the output from ConvertTo-RedirectionsXml.

To enable these redirections to work with Teams, you will need to configure your environment to store Microsoft Teams in the Profile Container. I recommend excplicitly setting IncludeTeams to 0 or the equivalent Group Policy item to Disabled.

3rd Party Apps

The number of applications built on Electron or other platforms that install into the user profile is increasing. Just to give you a little scare - here’s a list of 761 apps built using Electron that users could potentially install into their Profile Container. Application whitelisting can ensure that users can’t install unauthorised apps, but whitelisting is not easy.

Container Maintenance

Container maintenance tasks will include resizing and shrinking the container virtual disks. While shrinking the virtual disks can be a key task for managing capacity, I would recommend to do what you can to avoid having to resize the containers. The information and recommendations in this article will assist with achieving that goal.

NOTE: during normal operation with writes and deletes made to the user profile, both the Profile Container and Office Container will grow and will end up with white space created when files are deleted or compacted within the Container. New writes into the Container will use available white space before expanding the Container size.

Here are two community tools for compacting Containers and thus reducing the consumed capacity. These work by compacting each Container by the available whitespace within each container:

Note that to complete the maintenance tasks, the containers cannot be in use. They must be detached from the VM and thus the user must be logged off.

Storage

Consider regularly monitoring storage capacity. If you are using the containers on Windows File Servers, File Server Resource Manager includes Storage Reports that can be scheduled.

Windows Admin Center includes System Insights that provides storage consumption forecasting overview, ideal for estimating future consumption. Windows Admin Center is the future of Windows Server management tools and is highly recommended.

It’s perhaps important to note that data deduplication on ReFS is available on Windows Server 1709 and above. So if you are deploying Containers on a Windows File Server, ensure you are using Windows Server Semi-Annual Channel or Windows Server 2019.

Reporting on Container sizes

To report on FSLogix Containers usage, you can use Get-FileStats.ps1 to retrieve the file size, last write time, last modifed time and file owner for Containers (.vhdx, .vhdx) files in a target file share. The script is available in my FSLogix GitHub repository. This will retrieve details for container files in a target share and output the results to a Gridview window - for example:

.\Get-FileStats.ps1 -Path \\server\share\folder -Include *.vhd, *.vhdx | Out-GridView

Outputing a view similar to this:

Summary

In this article, I’ve covered a set of approaches and considerations to capacity planning and maintenance for FSLogix Profile Containers and Office Containers.

When testing or planning for a deployment, you’ll need to consider sizing requirements that will be unique to your target environment; however, I’ve outlined a set of recommendations that will likely apply to all.

Ensure that you test as many scenarios as you can and understand the applications that will be deployed into the virtual desktops. Container capacity management is primarily about managing the applications above the container, rather than the containers themselves.

A Practical Guide to FSLogix Containers Capacity Planning and Maintenance (2024)

FAQs

What is the size limit for FSLogix container? ›

I see that it is 30 GB by default each.

What is FSLogix and how does it work? ›

FSLogix enhances and enables a consistent experience for Windows user profiles in virtual desktop computing environments. FSLogix isn't limited to virtual desktop environments, but could be used on physical desktops where a more portable user experience is desired.

How to implement FSLogix profile containers? ›

Verify your profile container configuration
  1. Sign in as a standard user.
  2. Select Start and Type command prompt directly into the Start Menu.
  3. Select Command Prompt from the Start Menu. ...
  4. Change directory to C:\Program Files\FSLogix\Apps .
  5. Type frx list-redirects . ...
  6. Select Start.
  7. Select File Explorer.
Mar 31, 2023

What is the recommended profile size for FSLogix? ›

Default disk size is 30 GB for both Profile and Office containers and that means that you are expecting to have for each user up to 60 GB of data if you are using both profiles. The second default value that we need to discuss is Disk Type and we set this to dynamic.

What is the maximum size of a container? ›

How big is a shipping container? They range in size from 8ft, or 2.43m, all the way up to 48ft, or 14.63m. The most common shipping container, a 20ft container, measures 6.05m long x 2.43m wide x 2.59m tall.

What is the maximum number of containers per storage account? ›

Maximum number of containers per storage account: A single storage account can contain up to 500 Tb of data, spread across an unlimited number of containers.

Is FSLogix owned by Microsoft? ›

Microsoft acquires FSLogix to enhance the Office 365 virtualization experience. The way Microsoft 365 enables customers to shift to a modern desktop experience puts it at the heart of workplace transformation.

Is FSLogix worth it? ›

FSLogix Is More Than Just Profile Management

But FSLogix includes a suite of tools focused on much more than just profile containers. Skilled and advanced MSPs have found value in using FSLogix for roaming Office profiles and cache, and masking applications so only the right users can see and access them.

Is FSLogix free? ›

First, Microsoft announced the public preview of Windows Virtual Desktop. Second, they revealed that FSLogix will be free to essentially all customers that are currently licensed for any form of desktop virtualization, answering the biggest question since Microsoft acquired FSLogix.

How to configure FSLogix step by step? ›

To configure FSLogix settings for an account:
  1. At the Account level, navigate to Settings > Integrations.
  2. In the FSLogix Profiles storage tile, select Add.
  3. Enter the following information: Name: Enter the FSLogix profile name. ...
  4. Once you have entered all the desired information, select Ok.
Jul 29, 2024

Where are FSLogix profiles stored? ›

The user's profile will be a VHDX or VHD file depending on the settings configured (with VHDX being preferred). By default, this will include the user's entire profile. Think of everything that would be in a user's C:\User\<username> folder and this will be stored in their FSLogix profile container.

How to check FSLogix profile? ›

Location Of FSLogix Profile Logs

By default, every User Session Server stores FSLogix logs at C:\ProgramData\FSLogix\Logs. The logs can be viewed in order to gain insight into the error that a user is currently experiencing.

How does FSLogix profile container work? ›

By using container technology, FSLogix encapsulates a user's profile, applications, and other data into a single, unified virtual disk container, allowing for faster logins, improved resource efficiency, and streamlined user profile management.

How to increase FSLogix vhdx size? ›

Increase SizeInMBs to larger value
  1. Check the SizeInMBs setting on the virtual machine.
  2. Locate the user's container on the SMB file share.
  3. Right-click the VHD(x) file and Select Properties.
  4. Compare the Size on disk value with the value from SizeInMBs from the configuration settings.
Dec 5, 2023

Is FSLogix profile a Windows temporary profile? ›

An FSLogix temporary profile is created when Windows can't find the existing user profile and it's not possible to create a new user profile based on the default profile. A temporary profile gets deleted when you log off of the endpoint device.

What is the size limit of docker container? ›

Docker does not impose a size limit on images, but the maximum size of an image layer is 10 GB. This limitation means that, for example, a 50 GB Docker image must consist of at least five layers.

What is the size of FSLogix NTFS cluster? ›

By default, FSLogix sets the maximum profile disk size at 30GB.

What is the max length of container name? ›

Container Names

All letters in a container name must be lowercase. Container names must be from 3 through 63 characters long.

Top Articles
Run 3 - Play Online at Coolmath Games
Snake Game - Play Online at Coolmath Games
How To Check Your Rust Inventory Value? 🔫
Oklahoma Dam Generation Schedule
Celebrity Guest Tape Free
Tinyzonehd
Frank 26 Forum
Munsif Epaper Urdu Daily Online Today
50 Cent – Baby By Me (feat. Ne-Yo) ఆంగ్ల లిరిక్స్ & రంగుల అనేక. అనువాదాలు - lyrics | çevirce
Choke Pony Dating App
Immobiliare di Felice| Appartamento | Appartamento in vendita Porto San
A Comprehensive Guide to Redgif Downloader
Congdon Heart And Vascular Center
Tabdil Tarikh
Espn Major League Baseball Standings
803 Castroville Road, San Antonio, TX 78237
Justified - Streams, Episodenguide und News zur Serie
Nbl Virals Series
Employment Vacancies - Find Jobs with our recruitment team
Mchoul Funeral Home Of Fishkill Inc. Services
Truist Bank Open Saturday
Xxc Renegade 1000 Xxc Price In India Price
Thermal Pants Mens Walmart
Chi Trib Weather
Boys golf: Back-nine surge clinches Ottumwa Invite title for DC-G
Logisticare Transportation Provider Login
Pella Culver's Flavor Of The Day
Missoula Jail Releases
2022 Jeep Grand Cherokee Lug Nut Torque
Mugshots Gaston Gazette
Mcdonald's Near Me Dine In
Hawkview Retreat Pa Cost
Academy Sports Meridian Ms
New R-Link system and now issues creating R-Link store account.
Jodie Sweetin Breast Reduction
The dangers of statism | Deirdre McCloskey
Pathfinder 2E Beginner Box Pdf Trove
Dimmitt Range Rover
History :: Town Of Saugerties
What is IXL and How Does it Work?
Famous Church Sermons
Urgent Care Pelham Nh
NDS | Kosttilskud, Probiotika & Collagen | Se udvalget her
American Idol Winners Wiki
Tighe Hamilton Hudson Ma Obituary
Wis International Intranet
What Does Wmt Contactless Mean
Sutter Health Candidate Login
"Wordle" #1,176 answer, clues and hints for Saturday, September 7 game
Sky Zone Hours Omaha
Wv Anon Vault
General Format - Purdue OWL® - Purdue University
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 5805

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.