Contents

Write Cache (modes/Types) destination for standard vDisk images

Website Visitors:
Contents

Citrix Provisioning supports several write cache destination options. The write cache destination for a vDisk is selected on the General tab, which is available from the vDisk File Properties dialog.

Considerations and requirements:

  • Consider the impact of using server side persistent write cache. Persistent cache should only be used where unauthorized users have unprivileged access to a machine. Ensure that machines are not shared among users.
  • If you are selecting cache on local hard drive, ensure that the hard-disk drive is formatted with NTFS for Window devices, with a minimum of 500 MB.
  • When using cache on the target device RAM and Standard Image mode, the max size of the RAM write cache is determined by the registry setting WcMaxRamCacheMB in the BNIStack Parameters. This registry setting is a DWORD parameter. If the registry entry does not exist, then the default value used is 3584 MB.

Note: Citrix Provisioning version 7.12 introduced Linux streaming.

Cache on device hard drive

Write cache can exist as a file in NTFS format on the target-device’s hard drive. This write cache option frees up the Provisioning Server since it does not have to process write requests and does not have the finite limitation of RAM. The hard drive does not require any additional software to enable this feature.

Note: The write cache file is temporary unless the vDisk mode is set to Private Image mode.

Important: The vDisk cache type field Cache on device hard drive is deprecated and will be removed in a future release. Citrix recommends using one of the other available cache types. For more information, refer to the Deprecation article.

Cache on device hard drive persisted (experimental phase only)

The same as Cache on device hard drive, except cache persists. This write cache method is an experimental feature and is supported only for NT6.1 or later. This method also requires a different bootstrap. To select the correct bootstrap from the Console, right-click on the Provisioning Server, select Configure Bootstrap. On the General tab, click on the drop-down Bootstrap file option, then choose CTXBP.BIN. Citrix recommends that the local HDD (client side) drive has enough free space to store the entire vDisk.

Important The vDisk cache type field **Cache on hard drive persisted is deprecated and will be removed in a future release. Citrix recommends using one of the other available cache types. For more information, refer to the Deprecation article.

Cache in device RAM

Write cache can exist as a temporary file in the target device’s RAM. This functionality provides the fastest method of disk access since memory access is always faster than disk access.

Tip For Windows 10 version 1803, the functionality cache in device RAM is not supported. A target device crashes when it fails to use reserved memory from bootstrap. Citrix recommends using Cache in device RAM with overflow on hard disk. This issue applies to legacy bootstrap, it does not apply to UEFI bootstrap configurations.

Cache in device RAM with overflow on hard disk

This write cache method uses VHDX differencing format:

  • When RAM is zero, the target device write cache is only written to the local disk.
  • When RAM is not zero, the target device write cache is written to RAM first. When RAM is full, the least recently used block of data is written to the local differencing disk to accommodate newer data on RAM. The amount of RAM specified is the non-paged kernel memory that the target device consumes.

Compared to “Cache on device hard drive” cache mode, the VHDX block format has a faster file expansion rate. The local disk free space should be reconsidered to accommodate the streaming workload. To ensure target device reliability in high demand workload, Citrix recommends that local disk free space is larger than vDisk capacity size.

When the local disk is out of space, the target device vDisk IO goes in to a pause state. It waits for more local disk free space to become available. This condition has a negative impact on workload continuity. Thus, Citrix recommends allocating enough local disk free space.

The amount of RAM specified does not change the local disk free space requirement. The more RAM assigned, the more vDisk IOs temporarily saved in RAM cache before all data gets flushed back to the VHDX file. The RAM reduces the initial VHDX expansion rate.

Cache on a server

Write cache can exist as a temporary file on a Provisioning Server. The Provisioning Server handles all writes, which can increase disk IO and network traffic.

For extra security, the Provisioning Server can be configured to encrypt write cache files. Since the write-cache file does exist on the hard drive between reboots, the data is encrypted in the event a hard drive is stolen.

Cache on server persistent

This cache option allows for the saving of changes between reboots. Using this option, after rebooting, a target device is able to retrieve changes made from previous sessions that differ from the read only vDisk image. If a vDisk is set to Cache on server persistent, each target device that accesses the vDisk automatically has a device-specific, writable disk file created. Any changes made to the vDisk image are written to that file, which is not automatically deleted upon shutdown.

The file name uniquely identifies the target device by including the target device’s MAC address and disk identifier. A target device can be assigned to multiple vDisks and therefore have multiple cache files associated to it.

To restore a vDisk that uses Cache Persistent on Server, be sure to back up all vDisk files and associated user cache files.

The benefits of using this cache option include:

  • Saves target device specific changes that are made to the vDisk image.
  • Same benefits as Standard Image Mode.

The drawbacks of using this cache option include:

  • The cache file is available so long as the file remains valid. Any changes made to the vDisk force the cache file to be marked invalid. For example, if the vDisk is set to Private Image Mode, all associated cache files are marked invalid.

Note: Cache files that are marked as invalid are not deleted. Periodically, these files should be manually deleted.

Invalidating changes include:

  • Placing a vDisk in Maintenance
  • vDisk is placed in Private Image mode
  • Mapping the drive from the Console
  • Changing the location of the write cache file
  • Using Automatic update

Tip: Consider the impact of using server side persistent write cache. When administering this functionality, persistent cache should only be used where unauthorized users have unprivileged access to a machine. Ensure that machines are not shared among users.

Conclusion:

  • Cache on device hard disk, Cache on device hard disk persisted are deprecated. Cache on Server and Cache on Server persistent are only for some use cases. Cache in device RAM is not compatible with Windows 10 version 1803 version but this is the most fastest way available. So, finally we are left with cache in Cache in device ram with overflow on hard disk.
  • If any of the cache on hard disk or cache on hard disk persisted, or cache in device ram with overflow hard disk fails cache would redirect to the server “writecache” folder in your store by default.

Note:

Ensure the pagefile is smaller than the cache disk. For example, if you allocate 20 GB of RAM to your Remote Desktop Session Host, and if the cache disk is only 15 GB, then Windows will have a default pagefile size of 20 GB and Citrix Provisioning will be unable to move it to the cache disk. This causes Citrix Provisioning to cache to server instead of caching to your local cache disk (or RAM). The cache disk size for a session host is typically 15-20 GB. The cache disk size for a virtual desktop is typically 5 GB.

https://www.carlstalhood.com/pvs-master-device-preparation/#pagefile

Want to learn more on Citrix Automations and solutions???

Subscribe to get our latest content by email.

If you like our content, please support us by sponsoring on GitHub below: