When it comes to virtual desktop infrastructure (VDI), administrators have a lot of choices. You may have wondered about the differences between VDI software vendors, (Citrix or VMware), remote display protocols (Blast, PCOIP, HDX) or all the different license forms out there.
Now for this blog lets tackle the first two questions, we will be using VMware Horizon and Blast for as remote display protocol.
VDI can be either persistent or non persistent. It al depends on the requirements of the workforce. Most office workers will be fine with a none persistent desktop. It delivers a constant user experience. It takes away many of the maintenance tasks physical devices require.
Non persistent VDI
When a user access a non persistent desktop, by default none of their settings or data is saved once they log out. Nowadays most modern desktop setups will use some sort of desktop management tooling (Ivanti Workspace Control, Microsoft FSlogix or VMware own Dynamic Environment Manager). These tooling will make sure that the users settings are saved at logoff and loaded at log on without the burden of roaming profiles.
Since non persistent desktops are built from a master image, it’s easier for administrators to patch and update the image, deploy Windows updates and install company-wide applications to all end users. Users are allowed to only alter certain desktop settings, and are not allowed to install their own applications.
This makes the image more secure. And if the image is hacked or compromised, you can simply reboot your compromised desktop back to a clean state. This setup also means lesser storage requirements.
A persistent VDI is also deployed from a golden image but after that it will we treated like a physical desktop. User settings will still be saved by desktop management tooling, but the user is allowed to install his own software.
With one-to-one persistent VDI, each desktop runs from a separate disk image. These types of desktops allow for more personalization, but they require more storage and backup than non persistent desktops. Storage is a concern with persistent VDI.
Persistent VDI’s should be managed like physical machines. If a persistent (Full Virtual Machine clone) stops working you can select this machine in the VMware Horizon Administrator and choose ‘Rebuild’. The VM is deleted and recreated from the specified template.
A costumer is using non persistent VDI (instant clones) for al it’s office workers. They launch a VDI machine with a floating user assignment. On the base image are the various VMware agents and Ivanti Workspace Control agent installed. Applications are delivered via App Volumes Managers AppStacks.
The customer wants to use persistent VDI machines for their developers. The requirement is for them to be able to install their own developing tools and have the business applications installed for them to be able to perform testing towards the development application back end.
To meet the stated requirement I’ve created an VMware template based on snapshot that is used on the non persistent VDI machines. I’ve created an Automated Full Virtual Machines desktop pool, let the OS customization be handled by vCenter, and with dedicated user assignments.
The deployment of the VDI machines goes smoothly although a lot slower than instant clones but still quite fast. We delivered the development VDI to a test panel.
The issue that was reported back was that user installed applications where retained when the user logged out of the VDI and logged back in. But when the VDI needed a reboot the installations where gone.
I’ve done a complete deep dive of all the VMware Horizon Desktop pool settings but I could not find a working solution.
Via a colleague I was directed towards Hans Kraaijeveld. After a back and forward DM conversation with Hans we came across the solution. Shortly there after VMware Support came with the same solution.
VMware App Volumes AppStacks are not compatible with user installed applications on a persistent VDI. This VMware support article explains which user assignments combinations are supported for AppStacks and Writable Volumes. Full clones are in fact supported but only with Delete machine on logoff.
For now I removed the App Volumes Agent from the template that I will use for the persistent VDI machine. Applications will be installed via Ivanti Endpoint Manager.
A big thank you to Ronald de Jong, Hans Kraaijeveld and VMware support.