By David,
For FSLogix profile containers on Azure Virtual Desktop, Microsoft recommends Azure Files "for most of our customers", with Azure NetApp Files for very large or performance-sensitive estates and Cloud Cache when you need profiles to survive a storage or regional outage. These aren't three equivalent choices. Azure Files and Azure NetApp Files are where the containers live. Cloud Cache is an FSLogix feature that writes each container to up to four storage locations at once, from a local cache on the session host, so it sits on top of one or both of them.
The short version: Start with Azure Files on SSD (premium) shares with zone-redundant storage, using
VHDLocations. Move to Azure NetApp Files when you need its lower latency or very high per-volume performance, and you have the Active Directory setup it needs. Add Cloud Cache, withCCDLocationsinstead ofVHDLocations, only when you need profiles to fail over between regions, and accept the cost: storage in two places, I/O-heavy hosts, longer sign-outs and a local cache disk sized for it.
This guide goes with our FSLogix troubleshooting guide. For capacity and IOPS numbers on Azure Files, see Premium Azure Files sizing for FSLogix. Everything below is from Microsoft Learn as of November 2026, with each source linked.
Azure Files vs Azure NetApp Files for FSLogix
Microsoft's own comparison for FSLogix on AVD (storage options):
| Azure Files | Azure NetApp Files | |
|---|---|---|
| Use case | General purpose | General purpose to enterprise scale |
| Regions | All regions | Select regions |
| Redundancy | LRS, ZRS, GRS, GZRS | LRS; ZRS with cross-zone replication; GRS with cross-region replication |
| Performance | Up to 100K IOPS and 10 GBps per share, about 3 ms latency | Up to 460K IOPS and 4.5 GBps per volume, about 1 ms latency |
| Capacity | 100 TiB per share, 5 PiB per storage account | 100 TiB per volume, 12.5 PiB per NetApp account |
| Minimum | 1 GiB share | 1 TiB capacity pool, 50 GiB volume |
| Identity (in this comparison) | AD DS and Microsoft Entra Domain Services | Entra Domain Services and AD DS |
Microsoft's stated default is clear: "We recommend storing FSLogix profile containers on Azure Files for most of our customers."
How performance scales. On Azure Files, Microsoft recommends the provisioned v2 model for new deployments, where storage, IOPS and throughput are provisioned separately (Azure Files billing); for FSLogix at scale it recommends SSD (premium) shares, and SSD shares whenever you use Cloud Cache (Azure Files for virtual desktops). On Azure NetApp Files, throughput is "a function of tier times capacity": the Standard, Premium and Ultra service levels give up to 16, 64 and 128 MiB/s per provisioned TiB (service levels).
Handle limits on Azure Files. A share allows 2,000 concurrent handles per file or directory and 10,000 on the share root, and FSLogix uses about two or three handles per user. On SSD shares these limits are soft: metadata caching and the increased file handle limits (preview) raise them. Microsoft's guidance by concurrent FSLogix users: under 2,000, HDD (standard) shares on pay-as-you-go or provisioned v2 can be enough; 2,000 to 5,000, one or two SSD shares with metadata caching; 5,000 to 10,000, two to four SSD shares; over 10,000, multiple SSD shares with metadata caching and the increased handle limits (Azure Files for virtual desktops).
Identity: which works with Entra ID-joined hosts?
This is often what decides it.
- Azure Files supports AD DS, Microsoft Entra Domain Services, and Microsoft Entra Kerberos, which lets Entra ID-joined session hosts reach the share without a domain controller. A storage account uses one identity source at a time. Our FSLogix with Entra ID-joined session hosts guide walks through the setup.
- Azure NetApp Files SMB volumes join AD DS or Entra Domain Services; Microsoft says ANF "doesn't support AD join for Microsoft Entra ID" (ANF SMB FAQ). Hybrid identities can reach ANF shares from Entra ID-joined devices, and Microsoft recommends domain controllers within about 10 ms round trip of the volume (AD site guidelines). Entra Kerberos for ANF SMB volumes is in preview as of September 2026, needs a feature registration, and a NetApp account uses either it or AD DS, not both (ANF Entra Kerberos).
What Cloud Cache is, and what it costs
Cloud Cache changes how FSLogix writes, not where you can store. Instead of VHDLocations, you set CCDLocations to up to four storage providers (SMB shares or Azure Blob). FSLogix keeps a local cache of the container on the session host, reads from one provider (the first healthy one in the list), and writes to all of them (Cloud Cache, settings).
What you get. Profiles that keep working through short storage interruptions, and a copy in a second location you can fail over to. Microsoft's high-availability page labels Cloud Cache the preferred option (high availability), and its multi-region AVD architecture says to "use the FSLogix cloud cache feature instead of storage-specific replication mechanisms", with a recovery point of "seconds to a few minutes" (multi-region BCDR).
What it costs. Microsoft is direct about the trade-offs:
- It "puts a performance and storage requirement on the virtual machine." The local cache lives in
C:\ProgramData\FSLogix\Cacheby default, should be on SSD-class storage, and can grow up to the container's SizeInMBs. As a starting point, Microsoft's architecture guidance sizes the cache disk at "at least 30 GB for each concurrent user", adjusted to your actual profile sizes, and an undersized disk "causes sign-in failures." - "Cloud Cache is an I/O intensive system and can easily cause network and/or storage bottlenecks" (business continuity), and it can lengthen sign-in and sign-out.
- Sign-out waits until enough providers are up to date. With the defaults (HealthyProvidersRequiredForUnregister 1, CcdUnregisterTimeout 0), a sign-out can be held indefinitely while no provider is healthy. Microsoft says not to set HealthyProvidersRequiredForUnregister to 0, because the local data could be permanently lost.
- If no provider can supply data the session needs, the result can be "session hang or worse a system crash (BSOD)."
- You pay for storage in every provider location, and failover between regions is a manual decision.
The key Cloud Cache settings (settings):
| Setting | Default | What it does |
|---|---|---|
| CCDLocations | (none) | Up to four providers, in order of proximity then preference, for example type=smb,name="SMB PROVIDER 1",connectionString=\\server\share. Case sensitive, no spaces around delimiters |
| HealthyProvidersRequiredForRegister | 0 | How many providers must be healthy for sign-in. At 0, users can always sign in |
| HealthyProvidersRequiredForUnregister | 1 | How many must be up to date before sign-out completes. Don't set 0 |
| CcdUnregisterTimeout | 0 | How long sign-out waits for providers. 0 waits indefinitely |
| ClearCacheOnLogoff | 0 | Delete the local cache at sign-out (1) or keep it for the next sign-in (0) |
| CacheDirectory | C:\ProgramData\FSLogix\Cache | Where the local cache lives |
Business continuity: three options
Microsoft's FSLogix business continuity guidance describes three patterns (business continuity):
- No profile recovery.
VHDLocationson zone-redundant storage in each region. Users who fail over to another region get new, empty profiles. Microsoft calls it the most cost-effective. - Cloud Cache, primary and failover. Each region's hosts write to their own storage first and the other region's second.
- Cloud Cache, active-active. Both regions serve users, with each writing to both locations.
Azure Files SSD (premium) shares don't offer geo-redundant storage, which is part of why Microsoft points to Cloud Cache rather than storage replication for cross-region profiles (multi-region BCDR). Even with Cloud Cache, a profile isn't guaranteed to survive: Microsoft warns that users who sign in at the failover location "could experience data loss or, in worse cases, container corruption." So whichever option you pick, keep business data in OneDrive or SharePoint, not only in the profile (business continuity).
On Azure NetApp Files, cross-region and cross-zone replication exist but are mutually exclusive, and Microsoft notes cross-zone replication "provides recoverability, not automatic zone-level resilience" (multi-region BCDR).
Which should you choose?
| Your situation | Choose |
|---|---|
| Most AVD deployments, one region | Azure Files SSD shares with ZRS, VHDLocations |
| Entra ID-joined hosts with no domain controllers | Azure Files with Microsoft Entra Kerberos |
| Very large estates or latency-sensitive power users, with AD DS in place | Azure NetApp Files |
| Profiles must survive a regional outage | Cloud Cache across two regions, with a cache disk sized for it |
| Profiles can be rebuilt after a regional outage | ZRS in each region, no Cloud Cache |
How Atlas AVD helps
Atlas AVD configures FSLogix per host pool, can create Azure Files storage accounts and shares from Workspace → FSLogix → Storage, and its FSLogix Capacity Monitor checks every profile share every 15 minutes. Auto-expand, when you turn it on, grows Azure Files shares; Azure NetApp Files and other SMB shares are monitored and warn you as they fill, but Atlas doesn't resize them. See FSLogix optimization for the rest.
FAQ
What is the best storage for FSLogix on Azure Virtual Desktop?
For most deployments, Azure Files, as Microsoft recommends, on SSD (premium) shares with zone-redundant storage. Azure NetApp Files suits very large or latency-sensitive estates with AD DS.
What is FSLogix Cloud Cache?
An FSLogix feature that keeps a local cache of the profile container on the session host and writes it to up to four storage locations at once, set with CCDLocations instead of VHDLocations. It adds resilience and cross-region failover at the cost of host I/O, local disk and longer sign-outs.
Do I need Cloud Cache for FSLogix?
Only if profiles must survive the loss of a storage location or region. For a single region, zone-redundant Azure Files without Cloud Cache is simpler and cheaper.
Does Azure NetApp Files work with Entra ID-joined session hosts?
Hybrid identities can reach ANF SMB shares from Entra ID-joined devices, with AD DS behind the volume. Entra Kerberos for ANF is in preview as of September 2026.
Can I use geo-redundant storage for FSLogix on Azure Files premium?
No. SSD (premium) Azure Files shares support locally and zone-redundant storage only, which is why Microsoft recommends Cloud Cache for cross-region profile resilience.
Storage, Cloud Cache and business continuity details are from Microsoft Learn as of November 2026: storage options for FSLogix, Azure Files for virtual desktops, Azure Files billing, Azure NetApp Files service levels, the ANF SMB FAQ, ANF Entra Kerberos, Cloud Cache, configuration settings, high availability, business continuity and the multi-region BCDR architecture.