The example configurations outlined in this article are a progression of complexity based on configuration choices. Each example has an associated configuration focused on redundancy or disaster recovery. We recommend customers select the simplest configuration for their environment. Adding unnecessary complexity leads to incorrect configurations and support cases.
Note
Use these examples as a starting point of your FSLogix configuration. The ideas and concepts in these examples should inform your unique organizational requirements.
EXAMPLE 1: Standard
The Standard configuration example is the simplest configuration in which most customers should consider.
1 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 2 Provides and easier way to browse the container directories. 3 Decreases the retry timing to enable a faster fail scenario. 4 Single connections reduce complexity and increase performance. 5 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 2: Standard + High Availability (Cloud Cache)
The Standard + High Availability configuration enhances the basic Standard example by incorporating Cloud Cache to ensure regional availability for the profile container. This configuration is designed to provide robustness and redundancy, allowing the profile container to be accessible even in the event of failures or outages in a specific region. Cloud Cache acts as a resiliency and availability layer, periodically writing profile data upstream to multiple storage providers. By replicating data across unique storage providers, it ensures that the profile container remains available even if one storage provider is unavailable. This approach enhances reliability and minimizes downtime for end-users.
Key Points
Redundant and robust: Allows the profile container to be accessible even in the event of failures or outages, minimizing downtime for end-users
Resiliency: Cloud Cache acts as an availability layer, periodically writing profile data upstream to multiple storage providers.
Storage design expertise: Cloud Cache functionality is dependent on the performance of your storage providers.
Summary
The Standard + High Availability configuration combines the benefits of the Standard setup with additional measures to maintain availability across regions, making it suitable for critical applications that require continuous access to profile data.
Figure 1: FSLogix High Availability using Cloud Cache
1 Recommended to save disk space on the local disk and risk of data loss when using pooled desktops. 2 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 3 Provides and easier way to browse the container directories. 4 Prevents users from creating a local cache if at least 1 provider isn't healthy. 5 Decreases the retry timing to enable a faster fail scenario. 6 Single connections reduce complexity and increase performance. 7 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 3: Standard + Disaster Recovery (no profile recovery)
The Standard + Disaster Recovery is an extension of the basic Standard. In this setup, duplicate infrastructure exists in another region, but it remains powered down until needed. Unlike other recovery scenarios, there is no profile recovery in this approach. Instead, users create new profiles in the alternate location. While this is the least complex recovery scenario, it comes with a significant drawback: end-user experience and training become critical components for success.
Key Points
Duplicate Infrastructure: The disaster recovery region mirrors the primary infrastructure but remains inactive until required.
No Profile Recovery: Instead of restoring existing profiles, users create new ones in the alternate location.
Simplicity: This approach minimizes complexity but relies heavily on user familiarity and training.
End-User Experience: Ensuring a smooth transition and user understanding is crucial.
Summary
The Standard + Disaster Recovery configuration balances simplicity with the need for user education and adaptation.
Figure 2: No Profile Recovery | FSLogix standard containers (VHDLocations)
1 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 2 Provides and easier way to browse the container directories. 3 Decreases the retry timing to enable a faster fail scenario. 4 Single connections reduce complexity and increase performance. 5 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 4: Advanced
The Advanced configuration example builds upon the Standard example by introducing additional features to enhance flexibility and customization.
Key Points
Multiple VHDLocations or object-specific settings: You can specify multiple locations for storing user profiles (VHDLocations). Alternatively, you can define object-specific settings to tailor profile behavior for specific users or groups. This flexibility allows you to optimize profile management based on your organization’s needs.
Minimal entries in custom profile redirections: Unlike the Standard setup, where the redirections.xml file isn't used, the Advanced configuration minimizes the number of redirections.xml entries. Each entry in the redirections.xml configuration adds complexity and can cause unknown application behaviors. Minimizing these entries may provide an overall better user experience.
Summary
The Advanced configuration provides granular control over profile storage and redirection, making it suitable for organizations with diverse requirements.
Multiple entries in VHDLocations doesn't provide container resiliency. When multiple entries exist, a user will try to create or locate their container from the list of locations in order. The first location which the user has access to or is available will be where the container is created or attached from. If using multiple entries, users should only have access to a single location. Consider using the object-specific configuration settings in lieu of multiple VHDLocations.
1 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 2 Provides and easier way to browse the container directories. 3 Decreases the retry timing to enable a faster fail scenario. 4 Single connections reduce complexity and increase performance. 5 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 5: Advanced + Disaster Recovery (primary / failover)
The Advanced + Disaster Recovery configuration example adds complexity through a failover design. This is a common strategy to ensure the availability and reliability of your infrastructure in case of a disaster or a failure. With Cloud Cache, you can configure your devices to use two (2) storage providers that store your profile data in different locations. Cloud Cache synchronizes your profile data to each of the two storage providers asynchronously, so you always have the latest version of your data. Some of your devices are in the primary location and the other devices are in the failover location. Cloud Cache prioritizes the first storage provider (closest to your device), and uses the other storage provider as a backup. For example, if your primary device is in West US and your failover device is in East US, you can configure Cloud Cache as follows:
The primary device uses a storage provider in West US as the first option and a storage provider in East US as the second option.
The failover device uses a storage provider in East US as the first option and a storage provider in West US as the second option.
If the primary device or the closest storage provider fails, you can switch to the failover device or the backup storage provider and continue your work without losing your profile data.
Key Points
Failover design: This design ensures the availability and reliability of your infrastructure in case of a disaster or a failure.
Profile storage: Cloud Cache enables your to store your profile data in different locations.
Additional storage cost: Multiple storage locations will increase the overall cost.
Operational excellence: Manual failover process, which may require the approval of the business stakeholders and process validation.
End-user experience: You may experience some latency or inconsistency in your profile data due to the asynchronous synchronization to the two storage providers.
Summary
The Advanced + Disaster Recovery configuration shows how a failover design with Cloud Cache can enhance the reliability and availability of your infrastructure by using two storage providers in different locations. It also highlights the drawbacks of this approach, including additional costs, the need for manual failover initiation, and potential latency or inconsistency in profile data.
The CCDLocations contains two (2) storage providers1. The primary site is configured with the closest storage provider listed first and failover storage provider provided listed last. The failover site has the reverse configuration. The closest storage provider first, followed by the primary site storage providers listed last.
Single container
A single profile container is created for the user. The ODFC container isn't configured.
No concurrent connections
The ProfileType setting is set to 0 or not configured. A user's profile can only be mounted within a single connection.
No custom profile redirections
No use of redirections.xml file.
1 The storage providers must be in different regions or locations.
1 Recommended to save disk space on the local disk and risk of data loss when using pooled desktops. 2 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 3 Provides and easier way to browse the container directories. 4 Prevents users from creating a local cache if at least 1 provider isn't healthy. 5 Decreases the retry timing to enable a faster fail scenario. 6 Single connections reduce complexity and increase performance. 7 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 6: Complex
The Complex configuration example builds upon the Advanced example by introducing multiple connections. In this setup, user profiles can handle multiple connections, allowing a single user to have active sessions across different devices simultaneously. Despite the increased complexity, the goal remains to provide a seamless experience for end-users. Properly configured multiple connections enhance productivity and flexibility, making this configuration suitable for organizations with diverse needs and high demands.
Note
Azure Virtual Desktop does not support multiple connections within the same Host Pool.
Summary
The Complex configuration balances sophistication with user-centric design, making it ideal for large organizations requiring scalability and robust profile management.
Figure 4: Complex example with multiple connections | FSLogix standard containers (VHDLocations)
Multiple entries in VHDLocations doesn't provide container resiliency. When multiple entries exist, a user will try to create or locate their container from the list of locations in order. The first location which the user has access to or is available will be where the container is created or attached from. If using multiple entries, users should only have access to a single location. Consider using the object-specific configuration settings in lieu of multiple VHDLocations.
1 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 2 Provides and easier way to browse the container directories. 3 Decreases the retry timing to enable a faster fail scenario. 4 Single connections reduce complexity and increase performance. 5 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
EXAMPLE 7: Complex + Disaster Recovery (active / active)
The Complex + Disaster Recovery configuration builds upon the Advanced + Disaster Recovery configuration by implementing an active/active design. Instead of load balancing between the two sites, this configuration relies on users having access to only one location. In the event of a drill or BCDR, users from a failed region are granted access to virtual machines in the functioning region.
Key Points
Failover capability: In the event of a disaster, the surviving regions must have capacity to support all users.
Profile storage: Cloud Cache enables your to store your profile data in different locations.
Additional storage cost: Multiple storage locations will increase the overall cost.
Operational excellence: Manual failover process, which may require the approval of the business stakeholders, process validation and proper user assignments.
End-user experience: You may experience some latency or inconsistency in your profile data due to the asynchronous synchronization to the two storage providers.
Summary
The Complex + Disaster Recovery configuration with Cloud Cache provides redundancy and flexibility, but business decisions play a crucial role in initiating failover.
The CCDLocations contains two (2) storage providers1. The primary site is configured with the closest storage provider listed first and failover storage provider provided listed last. The failover site has the reverse configuration. The closest storage provider first, followed by the primary site storage providers listed last.
Single container
A Profile and ODFC container exists or is created for each user.
No concurrent connections
The ProfileType setting is set to 0 or not configured. A user's profile can only be mounted within a single connection.
[OPTIONAL] redirections.xml
XML file contains various entries with added complexity.
type=smb,name="FILES SMB WEST US",connectionString=\\<storage-account-name-primary>.file.core.windows.net\<share-name>;type=smb,name="FILES SMB PROVIDER EAST US",connectionString=\\<storage-account-name-failover>.file.core.windows.net\<share-name>
Example
ClearCacheOnLogoff1
DWORD
1
Recommended
Enabled
DWORD
1
REQUIRED
DeleteLocalProfileWhenVHDShouldApply2
DWORD
1
Recommended
FlipFlopProfileDirectoryName3
DWORD
1
Recommended
HealthyProvidersRequiredForRegister4
DWORD
1
Recommended
LockedRetryCount5
DWORD
3
Recommended
LockedRetryInterval5
DWORD
15
Recommended
ProfileType6
DWORD
0
Default
ReAttachIntervalSeconds5
DWORD
15
Recommended
ReAttachRetryCount5
DWORD
3
Recommended
SizeInMBs
DWORD
30000
Default
VolumeType7
REG_SZ
VHDX
Recommended
Site B (East US)
Key Name
Data Type
Value
Description
CCDLocations
MULTI_SZ or REG_SZ
type=smb,name="FILES SMB EAST US",connectionString=\\<storage-account-name-failover>.file.core.windows.net\<share-name>;type=smb,name="FILES SMB PROVIDER WEST US",connectionString=\\<storage-account-name-primary>.file.core.windows.net\<share-name>
Example
ClearCacheOnLogoff1
DWORD
1
Recommended
Enabled
DWORD
1
REQUIRED
DeleteLocalProfileWhenVHDShouldApply2
DWORD
1
Recommended
FlipFlopProfileDirectoryName3
DWORD
1
Recommended
HealthyProvidersRequiredForRegister4
DWORD
1
Recommended
LockedRetryCount5
DWORD
3
Recommended
LockedRetryInterval5
DWORD
15
Recommended
ProfileType6
DWORD
0
Default
ReAttachIntervalSeconds5
DWORD
15
Recommended
ReAttachRetryCount5
DWORD
3
Recommended
SizeInMBs
DWORD
30000
Default
VolumeType7
REG_SZ
VHDX
Recommended
1 Recommended to save disk space on the local disk and risk of data loss when using pooled desktops. 2 Recommended to ensure user's don't use local profiles and lose data unexpectedly. 3 Provides and easier way to browse the container directories. 4 Prevents users from creating a local cache if at least 1 provider isn't healthy. 5 Decreases the retry timing to enable a faster fail scenario. 6 Single connections reduce complexity and increase performance. 7 VHDX is preferred over VHD due to its supported size and reduced corruption scenarios.
Appendix: Multiple VHDLocations logic diagram
When using multiple values in the VHDLocations setting, it's important to understand how FSLogix determines the location to use.
Warning
Users who have access to multiple locations may create a new profile in another location if the location for their actual profile is not available.