Navigation
- Planning
- vCenter Preparation
- AppDNA Preparation
- Create AppDisk
- Import AppDisk
- Assign to Delivery Group
- Update AppDisk
Planning
AppDisks are available in all editions of XenApp/XenDesktop 7.8 and newer. AppDNA is only available in Platinum Edition.
AppDisks can be created on vSphere (5.1 and newer) and XenServer only. No support for Hyper-V.
Delivery Groups used with AppDisks can contain machines from Pooled Random Machine Catalogs containing Server OS or Desktop OS machines. You cannot use AppDisks with machines from other catalog types, such as pooled static or dedicated (assigned).
In Provisioning Services environments, AppDisks are stored on hypervisor storage, not Provisioning Services storage. Also, additional data might be written to the write cache.
AppDisk must be on the same hosting resource as the linked clones it is attached to. If you have multiple hosting resources, then you’ll need to import the AppDisk to each hosting resource containing linked clones that you want to attach the AppDisk to.
According to the AppDisk FAQ, Citrix has tested up to 16 AppDisks attached to a single virtual machine. To minimize the number of AppDisks, you should combine multiple applications into a single AppDisk.
AppDisks are stored on a datastore with a GUID in the folder name, thus it’s difficult to know what’s in the .vmdk file. Use PowerShell commands (Get-AppLibAppDisk) to determine the AppDisk-to-.vmdk mapping. If you intend to backup and recover these files, periodically run the PowerShell commands and export to a file so you can know which disk is which. Or, when you import the AppDisk, Studio will tell you which applications are installed in the AppDisk and you can then rename the imported AppDisk.
Links:
- Citrix AppDisk FAQ
- Dane Young Installation and Configuration of Citrix XenApp & XenDesktop 7.8 AppDisks and AppDNA for a Basic Proof of Concept
- Kyle Wise Creating Citrix AppDisks With PVS
- Kyle Wise Citrix AppDisk Create New Version
vCenter Preparation
Citrix has instructions for creating a XenDesktop role in vCenter. AppDisks requires an additional permission: Virtual Machine > Configuration > Modify device Settings.
For AppDisks, the custom role must be applied to the vCenter level. Datacenter level is not sufficient.
AppDNA Preparation
- If you intend to use AppDNA to analyze your AppDisks, build a separate AppDNA server.
- In Studio, go to Configuration, right-click AppDNA, and click Create AppDNA connection before creating an AppDisk.
- The dialog box has an example for the Connection address. It should be in http://appdnaserver:8199/appdna format.
- Enter the AppDNA SQL server name and database name. Click Save.
Create AppDisk
- You need a Machine Creation Services or Provisioning Services catalog of type Random. Make sure at least one machine in the catalog is not assigned to any Delivery Group.
- For Provisioning Services, the machine must boot from a Maintenance (Private Image) version. After the AppDisk is created, the Maintenance version can be discarded.
- In Studio, right-click AppDisks and click Create AppDisk.
- In the Getting started with AppDisks page, click Next.
- In the Create AppDisk page, select a size for the disk. These are thin provisioned so size probably doesn’t matter. Just make sure it’s big enough to hold the application. Click Next.
- In the Preparation Machine page, select an MCS or PVS random catalog that has an available machine not assigned to a Delivery Group. Click Next.
- In the Summary page, give the AppDisk a name. Include the datastore or hosting resource name since you need different AppDisks for each hosting resource. Click Finish.
- The new AppDisk is prepped. This takes a while.
- If you look in your hypervisor storage, you’ll see a new folder named AppDisk-VirtualID. It’s not obvious which AppDisk this .vmdk file belongs to. You can run a PowerShell command like
get-applibappdisk | ? virtualdiskid -eq 0cac15d0-55db-4931-848e-de6ee79dddf8
to determine the AppDisk name.
- Once prep is done, Studio says Ready to install applications. If you look on the bottom it will show you which machine was used for AppDisk preparation.
- You can also right-click the AppDisk, click Install Applications, and it will tell you which machine should be used for application installation.
- Access the console of the prep machine and install the application(s).
- When done, go back to Studio, right-click the AppDisk, and click Seal AppDisk.
- Click Yes to seal it. This will cause the prep machine to reboot.
- Preparation will take some time. If it seems stuck, you might have to login to the prep machine so it continues the process.
- Windows Defender might interfere with the sealing process. In that case, turn off Defender’s Real-time protection.
- If you added AppDNA to Studio, then it will ask AppDNA to analyze the AppDisk.
- When done you can View report.
- Once the AppDisk is created and sealed, you can click the Applications tab in the bottom half of the window to see what the AppDisk contains.
Import AppDisk
AppDisks can only be attached to machines on the same hosting resource the AppDisk is located on. You can easily copy/import the AppDisk to multiple hosting resources (datastores).
Also, if you added AppDNA after creating AppDisks, then you can only analyze them by re-importing them.
To import an AppDisk:
- You will need an available prep machine in a MCS or PvS Random Catalog that is not assigned to any Delivery Group. The Catalog must be on the same Hosting Resource where the imported AppDisk will be placed.
- When you look at a datastore containing AppDisks, it’s not obvious which .vmdk goes with which AppDisk. Run the PowerShell command
Get-AppLibAppDisk <AppDiskName>
to see the VirtualDiskId.
- In vSphere Web Client, edit a non-linked clone virtual machine. Any non-MCS/PVS machine should work. This import machine is different than the linked clone machine that Studio will use to prepare the AppDisk.
- Make sure the import machine is currently powered off. If the machine is powered on, then vSphere might complain about the disk being currently in use.
- Add an Existing Hard Disk (AppDisk).
- When browsing the datastore with the existing AppDisk, select the folder name that matches the VirtualDiskId and then select the disk that’s in the folder.
- In Studio, right-click AppDisks and click Create AppDisk.
- In the Create AppDisk page, select Import existing AppDisk.
- Select a Hosting Resource where you want to copy the AppDisk to. Studio always copies the AppDisk, even if to the same datastore as the source.
- In the Import Disk page, browse to the virtual machine and click the arrow to expand it.
- Then select the attached AppDisk and click Next.
- In the Preparation machine page, select a random linked clone catalog with a machine that hasn’t been added to any Delivery Group and click Next.
- In the Summary page, give the AppDisk a name. Include the hosting resource (datastore) name. Click Finish.
- The AppDisk will be copied to the new datastore and analyzed if AppDNA is configured.
- You can then assign the imported AppDisk to Delivery Groups.
- Once the AppDisk is imported, click the Applications tab in the bottom half of the Windows to see what’s in the AppDisk.
- You can rename the AppDisk by right-clicking it and clicking Properties.
Assign to Delivery Group
AppDisks are assigned to Delivery Groups, not Catalogs.
- If you want to assign an AppDisk to an existing Delivery Group, right-click the Delivery Group and click Manage AppDisks.
- Or you can create a new Delivery Group.
- On the AppDisks page, click Add.
- Select one or more AppDisks and click OK. Notice that you can only select AppDisks on the same hosting resource as the Catalog.
- You can prioritize the AppDisks by using the arrow buttons on the right. Or click Auto Order to let AppDNA do it for you.
- If you are changing AppDisks assigned to an existing Delivery Group, choose a Rollout Strategy (reboot schedule). This is identical to Machine Creation Services Rollout Strategy. Then finish the wizard.
- If you chose Auto Order when assigning the AppDisks then AppDNA will need to do some analysis.
- If you highlight a Delivery Group, the AppDisks tab on the bottom shows the currently assigned AppDisks.
Update AppDisk
- In Studio, right-click an AppDisk and click Create New Version.
- Give the new version a name.
- Select a linked clone machine that is not currently in a Delivery Group.
- Click Create new version. This copies the AppDisk and links it to the prep virtual machine.
- Proceed through the normal Create AppDisk process. This includes installing applications and sealing the AppDisk.
- Then assign the new AppDisk to a Delivery Group. This process will include removing the old AppDisk and assigning the new AppDisk.