Lab 5 - Delivering Persistent Desktops

Overview

In this exercise you will use the Citrix Studio to deploy multiple persistent virtual desktops based on your gold image snapshot. You will explore two important constructs within a XenDesktop architecture, Machine Catalogs and Delivery Groups.

Machine Catalogs are collections of either physical or virtual machines. When using MCS or PVS to provision a Machine Catalog from a gold image, all machines provisioned from that image will share the same VM configuration (vCPUs, Memory, Network) and be part of the same domain. A single gold image can be used for multiple Machine Catalogs to provide different size VMs, VMs across multiple domains, etc.

Delivery Groups are collections of machines from one or more Machine Catalogs. The purpose of a Delivery Group is to specify what users or groups can access the machines. For persistent desktops a permanent relationship is created between the machine and the user account. This assignment can occur either manually during creation of the Delivery Group or be assigned automatically during a user’s first logon.

Creating the Machine Catalog

In the XD VM console, open Citrix Studio.

Right-click Machine Catalogs > Create Machine Catalog.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/1.png

Click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/2.png

Select Desktop OS and click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/3.png

Select Machines that are power managed and Citrix Machine Creation Services. Click Next

http://s3.nutanixworkshops.com/vdi_ahv/lab5/4.png

Select Static and Yes, create a dedicated virtual machine. Click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/5.png

Select your Nutanix storage container and click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/6.png

Select your W10-Gold snapshot and click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/7.png

Fill out the following fields and click Next:

  • How many virtual machines do you want to create - 3
  • Total memory (MB) on each machine - 4096
  • Virtual CPUs - 4
  • Cores per vCPU - 1
http://s3.nutanixworkshops.com/vdi_ahv/lab5/8.png

Select Create new Active Directory accounts. Under the NTNX.local domain, select the PersistentDesktops OU. Specify W10P-### as the Account naming scheme. As part of Machine Catalog creation, the Delivery Controller will create all of the machine accounts in AD. This is necessary as the cloned VMs themselves do not go through a traditional Sysprep and domain join. Instead, the Citrix Machine Identity Service (installed as part of the VDA), manages the VM’s “uniqueness,” providing a more rapid means of provisioning large pools of desktop resources.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/9.png

Specify a friendly Machine Catalog name and click Finish.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/10.png

MCS will now create a clone from the snapshot of W10-Gold. When using MCS, the Delivery Controller copies the gold image to each configured datastore in the Host Connection. In a traditional SAN scenario (or using MCS with local storage) this can be a time consuming event, as the Machine Catalog may be spread over several volumes to achieve the desired performance. In a Nutanix cluster you would typically have a single datastore (Storage Container) servicing all desktops, simplifying the configuration and improving the time to provision a Machine Catalog.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/11.png

Observe the Preparation clone booting in Prism briefly before shutting down and being removed automatically. Attached to this VM is a separate disk that walks through multiple steps to ensure the VM is ready to be used for the Machine Catalog.

The preparation stage will enable DHCP, perform a Windows licensing “rearm” to ensure it is reported to the Microsoft KMS server as a unique VM, and similarly perform an Office licensing “rearm”. Studio will automatically create a snapshot of the VM in this state once it has completed preparation and shut down.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/12.png

MCS will now create the VMs for our Machine Catalog. This involves the creation of the VMs and the cloned base vDisk, as well as the creation of a small (16MB maximum) vDisks called the Identity (ID) disks. The ID disk contains information unique to each VM that provides its hostname and Active Directory Machine Account Password. This information is ingested automatically by the Citrix Machine Identity Service and allows the VM to appear as unique and allowing it to join the domain.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/13.png

Observe the clones exist in Prism but are not powered on. Select one of the VMs and observe both the OS vDisk and ID disk attached to the VM on the Virtual Disks tab below the VMs table. Each VM appears to have its own unique read/write copy of the gold image. With VMs in a Machine Catalog spanning several Nutanix nodes, data locality for VM reads is provided inherently by the Unified Cache.

Note

To learn more about how the Nutanix Unified Cache operates, see the I/O Path and Cache section of the Nutanix Bible.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/14.png

Upon completion, view the details of the Machine Catalog in Citrix Studio.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/15.png

Creating the Delivery Group

Right-click Delivery Groups > Create Delivery Group.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/16.png

Click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/17.png

Select your Persistent Machine Catalog and specify the maximum number of VMs available for the Delivery Group.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/18.png

Select Desktops and click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/19.png

Select Restrict and click Add.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/20.png

Specify PersistentUsers in the Object names field and click OK.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/21.png

Click Next.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/22.png

Click Add and fill out the following fields:

  • Display name - Personal Windows 10 Desktop
  • Description - Persistent 4vCPU/4GB RAM Windows 10 Virtual Desktop
  • Select Allow everyone with access to this Delivery Group
  • Maximum desktops per user - 1
  • Select Enable desktop assignment rule
http://s3.nutanixworkshops.com/vdi_ahv/lab5/23.png

Click OK > Next

http://s3.nutanixworkshops.com/vdi_ahv/lab5/24.png

Specify a friendly name for the Delivery Group and click Finish.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/25.png

Following creation of the pool, observe in Prism that 1 of the W10P-### VMs been has powered on.

In Citrix Studio, right-click your Delivery Group and click View Machines. Alternatively you can double-click on the name of the Delivery Group.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/26.png

Observe the powered on desktop now appears as Registered with the Delivery Controller, indicating the desktop is ready for user connection.

Connecting to the Desktop

Open http://<XD-VM-IP>/Citrix/StoreWeb in a browser on the same L3 LAN as your XD VM.

If prompted, click Detect Receiver

http://s3.nutanixworkshops.com/vdi_ahv/lab5/27.png

If Citrix Receiver is not installed, select I Agree with the Citrix license agreement and click Download.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/28.png

Launch the CitrixReceiverWeb.exe installer and complete the installation wizard using default settings.

Note

Do not enable single sign-on during Citrix Receiver installation.

Refresh your browser or click the Detect again link.

If prompted, select Always open these types of links in the associated app and click Open Citrix Receiver Launcher.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/29.png

Note

This may appear slightly different depending on your browser (Chrome shown). You want to allow your browser to open the Citrix Receiver application.

Refresh your browser and log in to StoreFront as NTNX\USER1

Note

If you’re still being prompted to detect Citrix Receiver, click Already installed to proceed to the login page.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/30.png

Select the Desktops tab and click your Personal Windows 10 Desktop to launch the session.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/31.png

Note

Depending on your browser you may have to click on the downloaded .ica file if Receiver does not open automatically. You may also be able to instruct the browser to always open .ica files.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/32.png

After the virtual desktop has completed logging in, experiment by changing application settings, installing applications, restarting the VM, and logging in again. Try logging in as USER2 and USER3.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/33.png

In Citrix Studio, observe the changes to VM details. As a user logs in they are statically assigned a desktop and another desktop will power on and register with the Delivery Controller, waiting for the next user.

http://s3.nutanixworkshops.com/vdi_ahv/lab5/34.png

Takeaways

  • The ability to support a large environment from a single storage container simplifies configuration and improves deployment speed.
  • Despite being based off of a single, shared, gold image, all the VMs in the Machine Catalog continue to benefit from data locality (reduced latency for reads and reduced network congestion). For non-AHV hypervisors, the same benefit is realized through Shadow Clones.
  • Intelligent cloning avoids significant storage overhead for deploying persistent virtual desktops. If mixing persistent and non-persisdent desktops within the same cluster, best practice would be to leverage a storage container with deduplication enabled for persistent desktops and a separate storage container with deduplication disabled for non-persistent desktops. Having the flexibility to pair workloads with appropriate storage efficiency technologies can imrpvoe density and reduce waste.
  • Citrix MCS allows for end to end provisioning and entitlement management in a single console.
  • Persistent virtual desktops provide a traditional desktop-like experience where a user can have full control over their desktop experience. This approach may be necessary for a small subset of users but typically isn’t desirable at scale due to the continued dependence on legacy software patching tools.