Blog

VDI on Azure: How to Implement VDI on Azure with Cloud Volumes ONTAP

With the general availability of Windows Virtual Desktop (WVD), deploying a virtual desktop infrastructure (VDI) on Azure just got a makeover. WVD delivers the capability of desktop and app virtualization in the cloud to meet the demands of a mobile workforce. With the current COVID-19 crisis forcing many workforces to switch to dispersed, stay-at-home settings, enabling a VDI is becoming a critical business decision for companies all around the globe.

Performance is the key metric that determines the health of a WVD deployment and that performance is directly dependent on the storage used by the architecture. Cloud Volumes ONTAP delivers this with enterprise-class data management features in Azure, built on top of trusted NetApp ONTAP technology and delivering file and block storage over SAN and NAS protocols (NFS, SMB / CIFS, and iSCSI). 

Cloud Volumes ONTAP can be integrated with Windows Virtual Desktop service in Azure to deliver unparalleled performance and scalability to your VDI deployments. This blog will focus on a practical walkthrough of integrating VDI on Azure with Cloud Volumes ONTAP, using an enterprise-class FSLogix user profile container experience as an example.

Prerequisites for Deploying a VDI on Azure

Windows Virtual Desktop in Azure helps you to set up a managed desktop and app virtualization with a full range of services, including multi-session Windows 10, native integration with Office 365 ProPlus and support for RDS services. The control plane is managed by Azure and hence customer does not have to set up components, such as gateway servers, which are typically required in traditional desktop virtualization deployment. However, there are certain prerequisites that need to be completed before deploying WVD host pools.

Below you’ll find links to Microsoft and NetApp documentation that explains the different prerequisites you’ll need to follow. Make sure that these are in place before proceeding with the instructions that follow in the rest of this document.

1. Licensing: The licensing requirements are dependent on the operating systems and apps in use. More detailed information can be found in the following document: https://azure.microsoft.com/en-us/pricing/details/virtual-desktop/
2. Active directory or Azure active directory: The machines part of your WVD environment should be joined to Windows Active directory or Azure Hybrid AD joined. Details of the domain prerequisites for WVD are covered in the following document: https://docs.microsoft.com/en-us/azure/virtual-desktop/overview#requirements
3. Windows WVD tenant:  A WVD tenant consists of more than one host pool, where the machines part of the service is deployed. The process for creating the tenant pool is described in the following document: https://docs.microsoft.com/en-us/azure/virtual-desktop/tenant-setup-azure-active-directory
4. Azure Active directory service principal: Create service principals required for the WVD service by following the steps in the following document:
https://docs.microsoft.com/en-us/azure/virtual-desktop/create-service-principal-role-powershell
5. NetApp Cloud Manager: Cloud Manager is deployed in Azure and accessible for provisioning the Cloud Volumes ONTAP file shares. Follow the steps in this post to get started.

Deploy WVD Host Pools

Once all of the prerequisites are in place, you will begin to set up your VDI by deploying the WVD host pool and joining the VMs to the Active Directory domain.

1. First, we’ll create the host pool in WVD. Log in to the Azure portal and click on “Create a resource” in the left panel. Search for “Windows Virtual Desktop” in the search window. Select the option “Windows Virtual Desktop - Provision a host pool” and then click “Create.”

VID- 1

2. In the basic information tab, provide the following details:

  • Subscription name
  • Resource group where the WVD pool will be deployed.
  • Name of the host pool.
  • Region of deployment. Note that it should be the same as the region where the Active directory is deployed.
  • Select desktop type as “pooled” for multi-session deployment and “personal” if each user should be provided with individual desktops.
  • Provide the name of the desktop users who will be accessing the host pool using WVD clients. Note that the users can be added later also through PowerShell commands.
  • Select the region where WVD metadata will be stored.

When you are done, click on “Next: Configure virtual machines.”

VDI- 2

3. In the “Configure virtual machines” tab, provide the following details:

  • Depending on the expected WVD pool usage, select usage profile as light, medium, heavy, or power to auto-calculate the number of VMs. Select custom to specify the number of VMs to be deployed. We will be using the custom option for this walkthrough.
  • Provide the count of VMs. (Count of VM is given as 1 since it is a demo environment. For real-world scenarios, select the right WVD pool usage based on the WVD client requirements).
  • Select the VM size.
  • Provide the virtual machine name prefix to be used.

 When you’re done, click on “Next: Virtual machine settings” to proceed.

VDI-3

4. In the “Virtual machine settings” tab, provide the following details

  • Source of the image to be used for the virtual machines.
  • Image OS version. For this demo, we are using a gallery image of Windows 10. It will deploy multi-session hosts integrated with Office 365 ProPlus.
  • Select the disk type.
  • Provide the UPN of a user with rights to add the machine to the target AD domain.
  • Select the virtual network with connectivity to the AD domain and select the subnet to which the machine will be deployed.

When this is done, click on “Next: Windows virtual desktop information” to proceed.

VDI- 4

5. In the “Virtual desktop information” page, provide the following details:

  • WVD tenant group name. It can be left as the default.
  • WVD tenant name. Provide name of tenant created in the Windows WVD tenant prerequisite (number 3 in the prerequisite list above).
  • For “RDS owner,” select an account with RDS-owner or RDS-contributor permissions in the Windows tenant. For this demo, we will select the option service principle and provide details of the application id, secret, and AD tenant from the Azure Active directory service principal prerequisite (number 4 in the prerequisite list above).

Click on “Next: Review + create” to review the information provided so far and create the WVD pool.

VDI- 5

6. Once the deployment is completed, you can see the virtual machine from the portal.

VDI- 6

To log in to your WVD session, download and install the WVD client. You can also access it from using the WVD web client.

Cloud Volumes ONTAP Integration with a VDI Environment

Integrating Cloud Volumes ONTAP with your WVD is a two-step process. In the first step we will create the volume that will be used for the FSLogix profile container. The second part of the process is the installation and configuration of the FSLogix profile container to use the provisioned file share.

Cloud Volumes ONTAP File Share Provisioning

Follow steps in this section to deploy Cloud Volumes ONTAP and file shares that will later be used to host the FSLogix profile containers for WVD.

1. First, we need to create a volume in Cloud Volumes ONTAP. From Cloud Manager, click on “Create Cloud Volumes ONTAP.”

VDI- 7

2. Select service provider as Microsoft Azure and the type as Cloud Volumes ONTAP. Click on Continue (note that for the purpose of this demo, we will be using a single node system configuration, not HA).

VDI- 8

3. In the next screen, provide the environment details

  • The name of the cluster.
  • The resource group name in Azure.
  • Your admin credentials.

VDI- 9

4. In the next page, select the additional NetApp services you’d like to run on the volume, such as Cloud Compliance. When you’re done, click “Continue.”

VDI- 10
5.
Now you will update the volume’s location and connectivity settings.

  • Select the Azure region.
  • Select the VNET which has connectivity to the AD domain and the Cloud Manager instance.
  • For security group, opt for generated security group.
  • Tick the checkbox asking you to ensure that there is connectivity between the Cloud Manager service and the VNET.

 When you’re done, click “Continue” to proceed.

VDI- 11

6. In the next page, select the licensing type and provide the NetApp support site account (optional), then click “Continue.”

VDI- 12

7. Now you’ll need to select the type of Cloud Volumes ONTAP configuration from the preconfigured packages. You also have the option to create your own configuration. 

For this demo, we will be using “POC and small workloads” configuration that can support up to 2 TB storage.

VDI- 13

8. In the Create Volume page, provide the following details:

  • Volume name.
  • Snapshot policy: either none or the default policy.
  • Select CIFS for the protocol and select the permissions for the share.
  • Provide the details of the users who will have access to the share. In this case that is the WVD users or user groups.

When you’re done, click “Continue.”

VDI- 14

9. Now you’ll be prompted to provide the CIFS setup details. Enter the appropriate info for:

  • The name of the domain.
  • The primary IP address of the DNS server.
  • Admin credentials to authorize the domain join.

Click “Continue” to proceed.

VDI- 15

10. In the next step, configure Cloud Volumes ONTAP for cost-lowering storage efficiency, i.e. thin provisioning, deduplication and compression.

VDI- 16

11. In the next step, review and approve the provisioning of the working environment. Click on “Go” to complete the deployment.

VDI- 17

12. In the Working Environments screen, you will see that provisioning has initiated. This process could take around 25 minutes to complete. 

Once the provisioning is complete, you will see the working environment listed in Cloud Manager.

VDI- 18

13. Now we need to get the share file path of the volume. Double click on the Cloud Volumes ONTAP to view the provisioned volume. Click on the hamburger menu icon to view the volume details.

VDI- 19

14. From the menu, click on “Mount Command.”

VDI- 20

15. On the Mount Volume screen, copy the given file path. This path will be used for configuring the FSLogix profile container in the next section.

VDI- 21

Cloud Volumes ONTAP Volume Integration with WVD

We are now ready to integrate our Cloud Volumes ONTAP instance with Windows Virtual Desktop. To start, follow these steps on installing FSLogix in the VM provisioned in the host pool. After that, continue with the remaining steps outlined below to update the Registry.

1. Navigate to Computer\HKEY_LOCAL_MACHINE\software\FSLogix. Create a key named Profiles and add the following values:
  • Enabled (DWORD) with a value of 1.
  • VHDLocations (Multi-string) with the file path of Cloud Volumes ONTAP volume as value (from step 15 of the previous section).
  • DeleteLocalProfileWhenVHDShouldApply (Dword) with a value of 1.

Next, reboot the machine for the changes to take effect.

VDI- 22

2. Log in to VDI Desktop using the client to start using the Cloud Volumes ONTAP file share as FSLogix profile container storage.

If you browse to the Cloud Volumes ONTAP file share from the network, you can see that a folder of the user profile VHD used by FSLogix technology is created in it.

VDI- 23

Conclusion

Virtual desktop infrastructures enable enterprises to unify workforces that rely on their own devices. Now, with many offices shuttered and employees being asked to work from home, VDI deployments are more important than ever.

Cloud Volumes ONTAP integration with VDI on Azure brings in advanced data management capabilities including high availability that ensures zero data loss and minimum downtime, automatic volume provisioning through IAC capabilities, efficient storage snapshots, data cloning, backups, and storage efficiencies that will lower cloud data storage costs for your VDI Windows storage layer along with uncompromised performance.

Sign up for a Cloud Volumes ONTAP 30-day free trial today to benefit from this service for your deployment of VDI on Azure first hand.

-