Updating AppStacks and Writable Volumes: VMware App Volumes Operational TutorialVMware App Volumes 2.12 or Later
VMware provides this operational tutorial to help you with your VMware App Volumes™ environment. App Volumes provides real-time application delivery and life-cycle management. IT can use App Volumes to quickly deliver applications and data to users without compromising the user experience.
We are often asked about recommendations for updating App Volumes AppStacks and writable volumes. This topic is briefly covered in the VMware App Volumes Deployment Considerations guide. But, what are the best practices for maintaining and updating your AppStacks and writable volumes? Can end users remain logged in during the update of those AppStacks and writable volumes? Can you maintain 100 percent uptime, or should you schedule a change window and take a brief outage?
Purpose of This Tutorial
In this operational tutorial, we address these questions to improve your day-two, or ongoing, maintenance operations of your AppStacks and writable volumes. In the case of AppStacks and user writable volumes, the AppStack or writable volume can be updated while end users are still using the old AppStack or writable volume. To get the new version, users must log out and log in again. Updates are queued and occur automatically at the next login. No scheduled maintenance window is required.
This tutorial takes you through the steps to update AppStacks and writable volumes. Before you begin, you should have an App Volumes 2.12.0 or newer environment available. See the Quick-Start Tutorial for VMware App Volumes to get started with a proof-of-concept, or see the VMware App Volumes Installation Guide for production installations.
Note: This tutorial covers updates of App Volumes AppStacks and writable volumes. It does not cover upgrades of App Volumes Manager servers, App Volumes Agents, and prepackaged templates. That subject is covered in Upgrading App Volumes Manager Servers and Agents: VMware App Volumes Operational Tutorial.
Updating App Volumes AppStacks
Introduction to AppStack Management
AppStack management is relatively simple. You build AppStacks on your provisioning virtual machines. App Volumes Manager is then used to duplicate the AppStack when you need to perform an upgrade of one or more applications.
Application Segmentation with AppStacks
Application segmentation means determining which and how many applications to include in a given AppStack. Application segmentation is one of the most important factors in implementing a successful App Volumes deployment.
It is desirable to build AppStack packages that can target a large audience, but it is also very important to consider the frequency of updates that the AppStack will go through during its life cycle.
- If you include too many applications in an AppStack, you risk having to update the AppStack too frequently.
- If you include too few applications in each AppStack, you risk having to assign too many AppStacks to users, slowing the login process and degrading performance.
We cover the basics of AppStack Design in the VMware App Volumes Deployment Considerations guide.
AppStack Update Mechanism
When you click the Update button in the App Volumes Manager console, the first thing App Volumes does is create a copy of that AppStack.
The copy is used to create the updated version of the AppStack, without having to modify the original. This gives the immediate benefit of allowing existing users to continue working from the original AppStack while you apply updates to the copied AppStack. The application owner has time to work on the update and test on a different set of users if needed. When all tests are successful, the updated AppStack can be assigned end-users.
Prerequisites for AppStack Updates
Before you begin the process of updating your AppStacks, you need to know what is in the AppStack. Next, you will need to have new versions of the applications you want to update, and you will need a provisioning VM that matches the machine specifications of your end users.
Examining the Content of an AppStack
Creating a Provisioning VM for AppStacks
Creating and maintaining a provisioning VM is outside the scope of this document.
- See Preparing a Provisioning Machine in the VMware App Volumes Product Documentation for basic practices such as using VM snapshots when creating AppStacks.
- Consider optimizing your provisioning VMs by using the App Volumes template for the VMware OS Optimization Tool.
If you would like more information about provisioning and other App Volumes concepts, consider taking the free, self-paced course VMware App Volumes Fundamentals from VMware Education.
Workflow of the AppStack Update Process
This workflow involves copying the existing AppStack, naming the copy, attaching the copy to the provisioning VM, updating the applications, and then detaching the AppStack from the provisioning VM.
1. Choose an AppStack to Update
From the App Volumes Manager console, select the AppStack containing the application or applications you want to update, and click Update.
2. Name the New AppStack
- Provide a name for the new, updated AppStack.
- Select Create.
3. Verify the Operation in vSphere
Use the vSphere Client console to verify the AppStack VMDK file being copied.
4. Update Applications and Attach the New AppStack to the Provisioning VM
With the AppStack now in provisioning mode, on the provisioning VM, update any applications that need updating, or install new versions of the applications, and click OK to attach the AppStack to your provisioning VM.
5. Reboot the Provisioning VM
Perform a final reboot and log in again after completing your updates. This reboot is required to properly finish the provisioning and update process for the new AppStack.
6. Click OK in the Provisioning Successful Dialog Box
This final step changes the AppStack from being in read-write mode, back to read-only mode and detaches it from the provisioning VM. The AppStack is now available in App Volumes Manager.
Important: Before using the provisioning VM again to create or update AppStacks, be sure to revert the provisioning VM back to a clean snapshot; that is, one that was taken before any AppStacks were assigned.
Updating User Writable Volumes
Why Update User Writable Volumes?
While typically less common than upgrading AppStacks, there are cases where you will need to update files on writable volumes.
When user writable volumes are created, a number of predefined batch files are included by default. You might need to add or modify these batch files to meet the needs of end users. For more information about advanced App Volumes configuration and the available batch files, see Batch Script Files in the VMware App Volumes Administration Guide.
Updating a writable volume basically involves creating and uploading a ZIP file that contains files you want to add or change. You cannot change any user-installed applications that are already in the writable volumes. The files in the ZIP file you upload become available to the user after the user logs in twice or reboots the machine twice:
- The first login or boot will copy the files to the writable volume.
- The second login or boot will apply the files for use.
Prerequisites for Writable Volumes Updates
Before you begin the process of updating your end users' writable volumes, you might need to find out what is in the writable volume. It is possible to view the content of AppStacks or writable volumes with simple desktop tools. You can use 7-Zip or Far Manager to open an AppStack or a writable volume. You cannot edit them, but you can view content if needed.
If you plan to update a single writable volume you will also need a VM that does not have the App Volumes Agent installed.
Workflow to Update All User Writable Volumes
User writable volumes can be updated using the App Volumes Manager web interface. You might want to update a single file (such as
snapvol.cfg), or multiple files, on the user writable volumes.
Important: The following process will update all user writable volumes. Updating individual volumes is covered in the Workflow to Update an Individual Writable Volume section of this tutorial.
1. Create a ZIP File
First, you will create a ZIP file containing all files to be updated or added. The ZIP file must be 5 MB or smaller.
1.1. Update Writable Volumes
- Log in to the App Volumes Manager console, and navigate to Volumes > Writables.
- Click Update.
1.2. Upload the ZIP File
- Click Upload.
- Click Choose File.
- Navigate to the ZIP file containing the file or files that need to be changed.
Once the upload is complete, App Volumes Manager will start to update the user writable volumes that are not currently in use by end users.
Important: Keep in mind that a writable volume can only be updated when it is detached.
2. Complete the Update Process
Notify end users to complete two user logins or two computer boot operations so that the new or updated files can be applied to the writable volume:
- The first login or boot will copy the files to the writable volume.
- The second login or boot will apply the files for use.
Workflow to Update an Individual Writable Volume
If you need to update only one writable volume or a specific writable volume, you will not be able to use the built-in update process in the App Volumes Manager web interface.
Instead, use the following alternate method to update the writable volume.
1. Select the Writable Volume
To determine the file name of the writable volume you want to update, use the App Volumes Manager console and look up the name of the writable volume’s VMDK file.
In this example, the file name is
2. Mount the Writable Volume to a VM
- Make sure you have a VM that has no App Volumes Agent installed on it.
- Log in to the vSphere host where the VM resides.
Note: Be sure to log in to the specific vSphere host rather than vCenter Server. Attempting to perform this step using the vCenter Server console will result in an error indicating the volume cannot be opened for writing. Using the web interface of a specific vSphere host is one way to avoid this issue.
- Edit the virtual hardware settings of the VM.
- Select Add hard disk and choose the Existing hard disk option.
- Power on the VM.
3. Log In to the Windows VM
- Navigate to the Windows Disk Management console.
- Verify that you can see a drive called CVWritable.
4. Change the Drive Letter for CVWritable
- Navigate to the lower-right part of the Disk Management console.
- Right-click the CVWritable disk and select Change Drive Letter and Path.
- Assign an available drive letter to the drive. E:\ is used in this example.
5. Change the Content on the User Writable Volume
- Use Windows Explorer to navigate to the CVWritable drive (E:\ in this example).
- Review the contents of the drive.
- Add, edit, or delete files or folders as needed for the individual writable volume.
6. Detach the Writable Volume
- Once you have completed the changes, log out of the VM and power it off.
- Go back to the vSphere host console, edit the virtual hardware of that VM and click the X to detach the VMDK.
You have now finished updating the writable volume and made it available to its assigned user again.
As you can see, modifying one writable volume is not as simple as updating all of them. We recommend using the built-in functionality when possible, but if for some reason there is an issue with a specific user, you now know that you can modify a single writable volume.
Summary and Additional Resources
This operational tutorial provided recommended practices to update App Volumes AppStacks and user writable volumes.
For information on upgrades of App Volumes Manager servers and App Volumes Agents, see Upgrading App Volumes Manager Servers and Agents: VMware App Volumes Operational Tutorial.
For more operational tutorials on VMware App Volumes, see VMware Digital Workspace Tech Zone.
For more information, you can explore the following resources:
- Quick-Start Tutorial for VMware App Volumes
- Upgrading App Volumes Manager Servers and Agents: VMware App Volumes Operational Tutorial
- VMware App Volumes Administration Guide
- VMware App Volumes Deployment Considerations
- VMware App Volumes Fundamentals self-paced course from VMware Education
- VMware App Volumes Installation Guide
- VMware OS Optimization Tool
About the Author and Contributors
Stephane Asselin is a Lead Product Architect in the Application Virtualization Business Unit, VMware.
The following people contributed to the review of this paper:
- Josh Spencer, Senior Technical Marketing Architect, End-User-Computing Technical Marketing, VMware
- Caroline Arakelian, Senior Technical Marketing Manager, End-User-Computing Technical Marketing, VMware
To comment on this paper, contact VMware End-User-Computing Technical Marketing at firstname.lastname@example.org.