book
Article ID: CTX220746
calendar_today
Updated On:
Description
Note: This feature is only available in XenServer 7.1 and PVS 7.13 or later.
XenServer PVS-Accelerator feature offers additional capabilities for customers using XenServer and Citrix Provisioning Services (PVS). With this feature, the read requests from a PVS target device can now be cached on each XenServer host, in a shared tiered read-cache.
How PVS-Accelerator Works
PVS-Accelerator employs a Proxy mechanism that resides in the Control Domain (dom0) of XenServer.
When this feature is enabled, PVS target device (VM) read requests (that is, boot from vDisk, launch an application, and so on) are cached directly on the XenServer host machine (that is, in physical memory and/or a storage repository).
When subsequent VMs (on the same XenServer host) boot from the same vDisk or launch the same application, the vDisk (contents) is streamed directly from cache instead of from the PVS Server. Removing the need to stream from the PVS Server reduces network utilization and processing on the server considerably, resulting in a substantial improvement in VM performance.

When a VM with PVS-Accelerator enabled is started, PVS-Accelerator will create flow rules on Open vSwitch (OVS). In this way, all packets from this VM to PVS server will be redirected to PVS-Accelerator.
- PVS-Accelerator then checks if this packet is a read request of vDisk image:
- If it is not a read, PVS-Accelerator passes it straight back to the OVS;
- If it is a read, PVS-Accelerator processes it to see whether it has the data in the cache.
- If it's a cache hit, PVS-Accelerator will return the cached data.
- If it’s not a cache hit, PVS-Accelerator passes it back to OVS and then the PVS server. The OVS flow rules work in both directions, so packets from the PVS server going to the VM are also redirected to PVS-Accelerator. If it is a read response coming from the server, PVS-Accelerator populate the cache with a certain PVS site, disk-id, block size and block contents.
- There are two Cache Storage modes:
- Memory only: explicitly uses Control Domain (Dom0) Memory
- On Storage Repository: implicitly uses available Dom0 memory and disk
- Cache manager (sub system of PVS-Accelerator) will monitor available space in Cache SR. If PVS Read cache SR is near full (90%) eviction algorithm will kick in and evict least recently used data.
XenServer PVS-Accelerator capabilities:
- Caches reads from vDisks but not writes or reads from a write cache.
- Supports vDisks with any non-persistent write cache type. It does not work for “Cache on Server, Persistent” and “Cache on device hard disk persisted” write cache type.
- Caches vDisks with the access mode Standard Image. It does not work for vDisks with the access mode Private Image.
- Caches devices that are marked as type Production. Devices marked as type Maintenance are not cached.
Prerequisites
- PVS-Accelerator feature requires XenServer 7.1 and PVS 7.13
- PVS-Accelerator is available for XenServer Enterprise Edition customers or those who have access to XenServer through their XenDesktop/XenApp entitlement
- PVS-Accelerator feature leverages capabilities of Open vSwitch (OVS) and is therefore not available on hosts that use Linux Bridge as the network backend.
- PVS-Accelerator Cache works only on the first virtual network interface (VIF) of a cached VM. Therefore, the first VIF should be used for connecting the PVS Server for the PVS-Accelerator caching to work.
Additional Resources
Issue/Introduction
This article introduces the XenServer PVS-Accelerator feature: what it is, how it works and what the prerequisites are.