Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 that you select the simplest configuration for your environment. Adding unnecessary complexity leads to incorrect configurations and support cases.
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. Most customers should consider it.
Prerequisites (Standard)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Server Message Block (SMB) file share.
- Validated share and New Technology File System (NTFS) permissions.
Configuration items (Standard)
Items | Description |
---|---|
Single virtual hard disk (VHD) ___location | The VHDLocations setting contains a single Universal Naming Convention (UNC) path to an SMB file share. |
Single container | A single profile container is created for the user. The Office Data and Files Container (ODFC) isn't configured. |
No concurrent connections | The ProfileType setting is set to 0 or not configured. You can mount a user's profile within only a single connection. |
No custom profile redirections | No use of the redirections.xml file. |
Registry settings (Standard)
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
1 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
2 Provides an 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 because of its supported size and reduced corruption scenarios.
Example 2: Standard + High Availability (Cloud Cache)
The Standard + High Availability configuration example 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. The profile container is accessible even if failures or outages occur in a specific region.
Cloud Cache acts as a resiliency and availability layer and periodically writes 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 users.
Key points
- Redundant and robust: Allows the profile container to be accessible even if failures or outages occur, which minimizes downtime for users.
- Resiliency: Cloud Cache acts as an availability layer and periodically writes 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 other measures to maintain availability across regions. The combination makes it suitable for critical applications that require continuous access to profile data.
Figure 1: FSLogix High Availability using Cloud Cache
Prerequisites (Standard + High Availability)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Multiple storage providers in the same region or zone-redundant storage.
- Validated share and NTFS permissions (SMB only).
Configuration items (Standard + High Availability)
Items | Description |
---|---|
Container redundancy | The CCDLocations setting contains at least two storage providers of varying kinds. The storage providers are in the same region as the virtual machines. |
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. You can mount a user's profile within only a single connection. |
No custom profile redirections | No use of the redirections.xml file. |
Registry settings (Standard + High Availability)
Key name | Data type | Value | Description |
---|---|---|---|
CCDLocations | MULTI_SZ or REG_SZ | type=smb,name="FILES SMB PROVIDER",connectionString=\\<storage-account-name-1>.file.core.windows.net\<share-name>;type=smb,name="ANF SMB PROVIDER",connectionString=\\<azure-netapp-files-fqdn>\<volume-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 you use pooled desktops.
2 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
3 Provides an easier way to browse the container directories.
4 Prevents users from creating a local cache if at least one 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 because of its supported size and reduced corruption scenarios.
Example 3: Standard + Disaster Recovery (no profile recovery)
The Standard + Disaster Recovery configuration example is an extension of the basic Standard example. In this setup, duplicate infrastructure exists in another region, but it remains powered down until needed. Unlike other recovery scenarios, there's no profile recovery in this approach. Instead, users create new profiles in the alternate ___location. This recovery scenario is the least complex, but it comes with a significant drawback. User experience and training are 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.
- 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)
Prerequisites (Standard + Disaster Recovery)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Duplicate storage and compute infrastructure in another region.
- Validated NTFS and share-level permissions (SMB only).
Configuration items (Standard + Disaster Recovery)
Items | Description |
---|---|
Single VHD ___location | The VHDLocations setting contains a single UNC path to an SMB file share. |
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. You can mount a user's profile within only a single connection. |
No custom profile redirections | No use of the redirections.xml file. |
Registry settings (Standard + Disaster Recovery)
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
1 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
2 Provides an 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 because of its supported size and reduced corruption scenarios.
Example 4: Advanced
The Advanced configuration example builds upon the Standard example by introducing more 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 might 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.
Prerequisites (Advanced)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Multiple SMB file shares.
- Validated share and NTFS permissions (SMB only).
Configuration items (Advanced)
Items | Description |
---|---|
Multiple VHD locations | The VHDLocations setting contains a single or multiple UNC paths (separated by semicolon) to SMB file shares. |
Object-specific settings | Allows unique settings based on a user or group SID. |
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. You can mount a user's profile within only a single connection. |
Minimal redirections.xml | The .xml file contains minimal entries with minor complexity. |
For more information, see Custom profile redirections.xml.
For information on how to implement this feature for Microsoft Teams, see Tutorial: Create and implement redirections.xml.
Registry settings (Advanced)
Multiple VHDLocations
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
RedirXMLSourceFolder | REG_SZ | \\<server-name>\<share-name> |
Example |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name-1>.file.core.windows.net\<share-name>;\\<storage-account-name-2>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
Object-specific VHDLocations
The default VHDLocations
setting is used for any user or group that isn't matched by the object-specific configuration.
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
RedirXMLSourceFolder | REG_SZ | \\<server-name>\<share-name> |
Example |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\ObjectSpecific\S-0-0-00-000000000-0000000000-000000000-1234\
Key name | Data type | Value | Description |
---|---|---|---|
VHDLocations | MULTI_SZ or REG_SZ | \\<server-name>\<share-name> |
Example |
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\ObjectSpecific\S-0-0-00-000000000-0000000000-000000000-4321\
Key name | Data type | Value | Description |
---|---|---|---|
VHDLocations | MULTI_SZ or REG_SZ | \\<azure-netapp-files-computer-account>.contoso.com\<share-name> |
Example |
Warning
Use of multiple entries in VHDLocations
doesn't provide container resiliency. When multiple entries exist, users try to create or locate their container from the list of locations in order. The first ___location to which the user has access or that's available is where the container is created or attached from. If you use multiple entries, users should have access to only a single ___location. Consider using the object-specific configuration settings instead of multiple VHDLocations.
1 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
2 Provides an 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 because of 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 common strategy helps to ensure the availability and reliability of your infrastructure if there's a disaster or a failure. With Cloud Cache, you can configure your devices to use two 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 that 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 in the following way:
- 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 if there's a disaster or a failure.
- Profile storage: Cloud Cache enables you to store your profile data in different locations.
- Extra storage cost: Multiple storage locations increase the overall cost.
- Operational excellence: Manual failover process, which might require the approval of the business stakeholders and process validation.
- User experience: You might experience some latency or inconsistency in your profile data because of 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, such as more costs, the need for manual failover initiation, and potential latency or inconsistency in profile data.
Figure 3: Cloud Cache (primary/failover) | FSLogix Cloud Cache (CCDLocations
)
Prerequisites (Advanced + Disaster Recovery)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Two storage providers in at least two regions.
- Validated share and NTFS permissions (SMB only).
Configuration items (Advanced + Disaster Recovery)
Items | Description |
---|---|
Container redundancy | The CCDLocations setting contains two storage providers.1 The primary site is configured with the closest storage provider listed first, and the failover storage provider is listed last. The failover site has the reverse configuration. The closest storage provider is first, and the primary site storage providers are 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. You can mount a user's profile within only a single connection. |
No custom profile redirections | No use of the redirections.xml file. |
1 The storage providers must be in different regions or locations.
For our recommended exclusions, see Custom profile redirections.
Registry settings (Advanced + Disaster Recovery)
Primary site
Key name | Data type | Value | Description |
---|---|---|---|
CCDLocations | MULTI_SZ or REG_SZ | type=smb,name="FILES SMB PRIMARY",connectionString=\\<storage-account-name-primary>.file.core.windows.net\<share-name>;type=smb,name="FILES SMB PROVIDER FAILOVER",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 |
Failover site
Key name | Data type | Value | Description |
---|---|---|---|
CCDLocations | MULTI_SZ or REG_SZ | type=smb,name="FILES SMB FAILOVER",connectionString=\\<storage-account-name-failover>.file.core.windows.net\<share-name>;type=smb,name="FILES SMB PROVIDER PRIMARY",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 you use pooled desktops.
2 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
3 Provides an easier way to browse the container directories.
4 Prevents users from creating a local cache if at least one 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 because of 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. For this reason, a single user can have active sessions across different devices simultaneously.
Despite the increased complexity, the goal remains to provide a seamless experience for users. Properly configured multiple connections enhance productivity and flexibility, which makes this configuration suitable for organizations with diverse needs and high demands.
Azure Virtual Desktop doesn't 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
)
Prerequisites (Complex)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Separate pools of virtual machines.
- Multiple SMB file shares (not for high availability).
- Validated share and NTFS permissions (SMB only).
Configuration items (Complex)
Items | Description |
---|---|
Multiple VHD locations | The VHDLocations setting contains a single or multiple UNC paths (separated by a semicolon) to SMB file shares. |
Object-specific settings | Allows unique settings based on a user or group SID. |
Single container | A single profile container is created for the user. The ODFC container isn't configured. |
Concurrent connections | The ProfileType setting is set to 3 . Users can have multiple sign-ins, but only one (1) session allows writes to the base VHD disk. |
(Optional) redirections.xml | The .xml file contains various entries with added complexity. |
For more information, see Custom profile redirections.xml.
For information on how to implement this feature for Microsoft Teams, see Tutorial: Create and implement redirections.xml.
Registry settings (Complex)
Multiple VHDLocations
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
RedirXMLSourceFolder | REG_SZ | \\<server-name>\<share-name> |
Example |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name-1>.file.core.windows.net\<share-name>;\\<storage-account-name-2>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
Object-specific VHDLocations
The default VHDLocations
setting is used for any user or group that isn't matched by the object-specific configuration.
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\
Key name | Data type | Value | Description |
---|---|---|---|
Enabled | DWORD | 1 | REQUIRED |
DeleteLocalProfileWhenVHDShouldApply1 | DWORD | 1 | Recommended |
FlipFlopProfileDirectoryName2 | DWORD | 1 | Recommended |
LockedRetryCount3 | DWORD | 3 | Recommended |
LockedRetryInterval3 | DWORD | 15 | Recommended |
ProfileType4 | DWORD | 0 | Default |
ReAttachIntervalSeconds3 | DWORD | 15 | Recommended |
ReAttachRetryCount3 | DWORD | 3 | Recommended |
RedirXMLSourceFolder | REG_SZ | \\<server-name>\<share-name> |
Example |
SizeInMBs | DWORD | 30000 | Default |
VHDLocations | MULTI_SZ or REG_SZ | \\<storage-account-name>.file.core.windows.net\<share-name> |
Example |
VolumeType5 | REG_SZ | VHDX | Recommended |
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\ObjectSpecific\S-0-0-00-000000000-0000000000-000000000-1234\
Key name | Data type | Value | Description |
---|---|---|---|
VHDLocations | MULTI_SZ or REG_SZ | \\<server-name>\<share-name> |
Example |
Registry path: HKLM:\SOFTWARE\FSLogix\Profiles\ObjectSpecific\S-0-0-00-000000000-0000000000-000000000-4321\
Key name | Data type | Value | Description |
---|---|---|---|
VHDLocations | MULTI_SZ or REG_SZ | \\<azure-netapp-files-computer-account>.contoso.com\<share-name> |
Example |
Warning
Use of multiple entries in VHDLocations
doesn't provide container resiliency. When multiple entries exist, a user tries to create or locate their container from the list of locations in order. The first ___location to which the user has access or that's available is where the container is created or attached from. If you use multiple entries, users should have access to only a single ___location. Consider using the object-specific configuration settings instead of multiple VHDLocations.
1 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
2 Provides an 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 because of its supported size and reduced corruption scenarios.
Example 7: Complex + Disaster Recovery (active / active)
The Complex + Disaster Recovery configuration example builds upon the Advanced + Disaster Recovery example 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. If there's a drill or business continuity and disaster recovery, users from a failed region are granted access to virtual machines in the functioning region.
Key points
- Failover capability: If a disaster occurs, the surviving regions must have capacity to support all users.
- Profile storage: Cloud Cache enables you to store your profile data in different locations.
- Extra storage cost: Multiple storage locations increase the overall cost.
- Operational excellence: Manual failover process, which might require the approval of the business stakeholders, process validation, and proper user assignments.
- User experience: You might experience some latency or inconsistency in your profile data because of 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.
Figure 5: Cloud Cache (active/active) | FSLogix Cloud Cache (CCDLocations
)
Prerequisites (Complex + Disaster Recovery)
- FSLogix prerequisites including antivirus exclusions.
- Azure Virtual Desktop or equivalent virtual desktop infrastructure.
- Separate pools of virtual machines in each ___location.
- Users have access to only a single region at a time.
- Validated share and NTFS permissions (SMB only).
Configuration items (Complex + Disaster Recovery)
Items | Description |
---|---|
Container redundancy | The CCDLocations setting contains two storage providers.1 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. You can mount a user's profile within only a single connection. |
(Optional) redirections.xml | The .xml file contains various entries with added complexity. |
For more information, review Custom profile redirections.xml.
For information on how to implement this feature for Microsoft Teams, see Tutorial: Create and implement redirections.xml.
Registry settings (Complex + Disaster Recovery)
Site A (West US)
Key name | Data type | Value | Description |
---|---|---|---|
CCDLocations | MULTI_SZ or REG_SZ | 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 you use pooled desktops.
2 Recommended to ensure that users don't use local profiles and lose data unexpectedly.
3 Provides an easier way to browse the container directories.
4 Prevents users from creating a local cache if at least one 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 because of its supported size and reduced corruption scenarios.
Appendix: Multiple VHDLocations logic diagram
When you use 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 might create a new profile in another ___location if the ___location for their actual profile isn't available.
Figure 6: VHDLocations
logic diagram