Remote Desktop Services (RDS) requires a domain-joined file server for user profile disks (UPDs). To deploy a high availability domain-joined scale-out file server (SOFS) in Azure, use Storage Spaces Direct with Windows Server 2016. If you're not familiar with UPDs or Remote Desktop Services, check out Welcome to Remote Desktop Services.
We recommend deploying your SOFS with DS-series VMs and premium storage data disks, where there are the same number and size of data disks on each VM. You will need a minimum of two storage accounts.
For small deployments, we recommend a 2-node cluster with a cloud witness, where the volume is mirrored with 2 copies. Grow small deployments by adding data disks. Grow larger deployments by adding nodes (VMs).
These instructions are for a 2-node deployment. The following table shows the VM and disk sizes you'll need to store UPDs for the number of users in your business.
Users
Total (GB)
VM
# Disks
Disk type
Disk size (GB)
Configuration
10
50
DS1
2
P10
128
2x(DS1 + 2 P10)
25
125
DS1
2
P10
128
2x(DS1 + 2 P10)
50
250
DS1
2
P10
128
2x(DS1 + 2 P10)
100
500
DS1
2
P20
512
2x(DS1 + 2 P20)
250
1250
DS1
2
P30
1024
2x(DS1 + 2 P30)
500
2500
DS2
3
P30
1024
2x(DS2 + 3 P30)
1000
5000
DS3
5
P30
1024
2x(DS3 + 5 P30)
2500
12500
DS4
13
P30
1024
2x(DS4 + 13 P30)
5000
25000
DS5
25
P30
1024
2x(DS5 + 25 P30)
Use the following steps to create a domain controller (we called ours "my-dc" below) and two node VMs ("my-fsn1" and "my-fsn2") and configure the VMs to be a 2-node Storage Spaces Direct SOFS.
Create a new virtual machine using the Windows Server 2016 image. (Click New > Virtual Machines > Windows Server 2016. Select Resource Manager, and then click Create.)
Set the basic configuration as follows:
Name: my-fsn1
VM disk type SSD
Use an existing resource group, the one that you created in step 3.
Size: DS1, DS2, DS3, DS4, or DS5 depending on your user needs (see table at beginning of these instructions). Ensure premium disk support is selected.
Settings:
Storage account: Choose the storage account you created in step 3.
High Availability - create a new availability set. (Click High Availability > Create new, and then enter a name (for example, s2d-cluster). Use the default values for Update domains and Fault domains.)
Create the second node. Repeat the step above with the following changes:
Name: my-fsn2
High Availability - select the availability set you created above.
Attach data disks to the cluster node VMs according to your user needs (as seen in the table above). After the data disks are created and attached to the VM, set host caching to None.
Set IP addresses for all VMs to static.
In the resource group, select a VM, and then click Network interfaces (under settings). Select the listed network interface, and then click IP Configurations. Select the listed IP configuration, select static, and then click Save.
Note the domain controller (my-dc for our example) private IP address (10.x.x.x).
Set primary DNS server address on NICs of the cluster node VMs to the my-dc server. Select the VM, and then click Network Interfaces > DNS servers > Custom DNS. Enter the private IP address you noted above, and then click Save.
Create an Azure storage account to be your cloud witness. (If you use the linked instructions, stop when you get to "Configuring Cloud Witness with Failover Cluster Manager GUI" - we'll do that step below.)
Set up the Storage Spaces Direct file server. Connect to a node VM, and then run the following Windows PowerShell cmdlets.
Install Failover Clustering Feature and File Server Feature on the two file server cluster node VMs:
FSLogix roams profiles in remote computing environments, such as Azure Virtual Desktop. You set up a FSLogix profile container share for a host pool using a virtual machine-based file share.