Contact Support

Customers who viewed this article also viewed

banner
CTX227454 {{tooltipText}}

App Layering: PVS Cache Disks May Need to Be Larger with Elastic Layering

Applicable Products

  • Citrix App Layering 4.4
  • Citrix App Layering 4.x

Solution

PVS can use locally attached disks (Cache Disks) and/or reserved memory to temporarily store local filesystem changes for the duration of a session. Because App Layering virtualizes files and PVS virtualizes disk blocks, you may need to add capacity to your Cache Disks and/or Cache Memory reservation on your Target Machines to support App Layering with Elastic Layers.

If you are not using Elastic Layer Assignments, then your I/O path with PVS is identical to PVS without App Layering involved at all:



App Layering doesn't impose an additional I/O overhead to Windows; what it does is redirect File Open calls to the appropriate disk and let Windows handle the rest. To present the full virtualized C drive, our filter driver will logically combine the boot disk, local modifications in a Writable Partition, and any Elastically Assigned App Layers from your file share. Unmodified files on the boot partition are found directly on the boot partition; unmodified files from any Elastically Assigned App Layers will be read directly from the File Share where they are hosted. Any modified files will be read and written from the special writable partition on the boot disk.



应用分层捕获整个文件国防部ified. It does not intercept individual block I/O requests. This means that the entire file needs to be on the disk where the operation is redirected to. For an unmodified file on the base image or an Elastically Attached Layer, the entire file is on the disk it was originally delivered on. For new files, they are simply created on the writable partition. However, the first time you open an existing file for modification, App Layering will copy the entire file to the writable partition where Windows' normal filesystem management system will handle it. Note that we have to copy the entire file before the File Open for Read/Write call actually goes through; we can't wait for a file write to actually happen.

Once the file is copied to the Writable Partition, there is no extra I/O overhead due to this being an App Layering machine. When the open request comes in, we simply point it to the correct disk and the same I/O requests are made by the calling program.

The App Layering filter is above and before any access to the filesystem data. The PVS cache on the other hand sits below the disk, capturing any actual writes to the disk itself. The two systems don't directly interact, and in fact App Layering is completely unaware that there is some caching technology underneath the boot disk. And the PVS Cache system is faithfully recording any writes to the streamed vDisk regardless of why they are being made.

The PVS cache records disk blocks as they are modified, allowing it to be more efficient in handling file modifications. With PVS alone, if you append 1 block to a 10MB file, your cache utilization grows by 1 block. With App Layering, if you modify a 10MB file, the whole 10MB file is first copied into the writable partition. Depending on the file operations that happen in a specific end-user VM, this can cause the Cache utilization on a PVS machine with Elastic Layer Assignments to be larger than the Cache utilization without Elastic Layers.

为现有客户已经有一个好的sense of their normal Cache utilization, this means they may need to expand the size of their locally attached Cache Disks and/or memory reservation to support the additional storage utilization when Elastic Layers are being used. It's not possible to predict how much space you will need, however. The Writable Partition is by default 20GB, so the maximum your Cache Disk could ever consume is 20GB (or whatever you have changed your writable partition to be). But in reality, the amount of space you generally need will be lower than that. But it depends entirely on what is in your images and what the software and your users actually do. All you can do is observe and adjust.

User Layers eases this situation significantly. If you have enabled Elastic Layers with User Layers in your App Layering image, then the local Writable Partition disk is only used during bootup. Once a user has logged in, all new file modifications are redirected to the User Layer disk on the File Share and not to the streamed vDisk, which means that the PVS Cache no longer sees virtually any I/O to the Writable Partition. The Writable Partition becomes just another read-only Layer Disk filesystem.



Although the PVS Cache Disk can see I/O during initial bootup and the normal settlement period before a user logs in, once the user logs in and actually starts doing things, the PVS Cache Disk is effectively cut out. Although you still need to observe the utilization and adjust, User Layers may significantly limit the additional usage in the PVS Cache Disks.

Share this page