«

»

Sep 19 2013

Why is Content-Based Read Cache (CBRC) so important for Horizon View and VSAN?

This article builds on top of my previous two articles about Horizon View and VMware Virtual SAN. Here are the aforementioned articles: How does VMware VSAN help Horizon View?, and How is Horizon View configured for VMware VSAN?

The CBRC (Content Based Read Cache)  was introduced with vSphere 5, allowing Horizon View administrators to leverage it the feature via the Horizon View administrative console. CBRC help administrators to address performance bottlenecks and the increase in storage cost for VDI.

In summary, CBRC is a 100% host-based RAM-Based caching solution that helps to reduce Read IOs issued to the storage subsystem and thus improves scalability of the storage subsystem while being completely transparent to the guest OS.

The feature has been primarily designed to help with read-intensive I/O storms, such as OS boot and reboot, A/V scans. Administrators commonly see significant reduction on the peak Read I/O being issued to the array for these workloads, approximately 60%. If you are interested in a CBRC deep-dive I recommend reading my previous article Understanding CBRC (Content Based Read Cache).

 

While VSAN provides a caching layer in SSD for reads and buffering for writes, CBRC’s content-based cache approach is essential to support peak Read IO load. CBRC allow common cached blocks to be served up to the virtual desktops in terms of microseconds, instead of millisecond. Additionally, and most importantly, during boot storms and host initialization, when using  VSAN without CBRC the data blocks most frequently accessed have not yet been promoted to the SSD caching layer, potentially reducing end-user experience.

Due to the RAIN architecture implemented by VSAN the data blocks corresponding to virtual machines could be located anywhere in the cluster causing storage IO traffic to go through the network stack. Here is a good article by Duncan Epping on How do you know where an object is located with Virtual SAN?

 

VSAN_CBRC

 

There are few important interaction points between VSAN and CBRC during multiple parts of the desktop lifecycle management, including boot storms and CBRC digest computations. Find more information at Understanding CBRC – RecomputeDigest Method.

One of the common questions on VSAN interaction with CBRC refers to the fact that on VSAN the data block could be read from a different host than the one where the virtual desktop is actually running. Despite the change to where the blocks are located CBRC will cache common data blocks only on the host where the virtual desktop is running. If the virtual desktop is moved to a different host a new computational CBRC process will take place on the new host to ensure common blocks are cached.

vSphere hosts could effectively end up with similar blocks cached in SSD by VSAN, and in RAM by CBRC. However, the caching algorithms and methodology utilized by both features are completely different. While VSAN is looking for common LBA (Logical block addressing) blocks, CBRC is looking for common IO data block content across a range of different LBA blocks or virtual machines. Overtime the tendency is that less VSAN SSD caching is utilized given that most of the critical data set will be located in RAM.

 

For additional VSAN and VMware vSphere design considerations I recommend Duncan Epping’s article VMware vSphere Virtual SAN design considerations…

 

This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net.

Similar Posts:

Permanent link to this article: http://myvirtualcloud.net/?p=5444

3 comments

4 pings

  1. Vladan SEGET

    It’s good to know that both caching technologies (CRBC and the one in VSAN) are designed to work together, or kind of. CRBC cache is RAM cache, the fastest one. It’s quite shame that for the moment it can be used only from within Horizon View Administrator UI, for desktop workloads. Perhaps the future plans are to make this available for server workloads as well? As it’s sometimes the case …

  2. Anonymous

    It’s good when it’s works well. Unfortunately, it doesn’t as many other VMware products. I’ve got catastrophic issue with Storage vMotion, which cause data loss on accelerated vmdk.

  3. Andre Leibovici

    Anonymous, I’ve used sVMotion many times without issues. I recommend you contacting the support service for a proper diagnosis.

  1. Welcome to vSphere-land! » vSphere 5.5 Link-O-Rama

    [...] Horizon View? (My Virtual Cloud) How is Horizon View configured for VMware VSAN? (My Virtual Cloud) Why is Content-Based Read Cache (CBRC) so important for Horizon View and VSAN? (My Virtual Cloud) VSAN Observer (Punching Clouds) vSphere 5.5: Using RVC VSAN Observer Pt1 [...]

  2. Horizon View 5.3 is GA and Here is What You Need to Know! » myvirtualcloud.net

    [...] Why is Content-Based Read Cache (CBRC) so important for Horizon View and VSAN? [...]

  3. Here is why your Horizon View deployment is not performing to it’s max! » myvirtualcloud.net

    [...] Why is Content-Based Read Cache (CBRC) so important for Horizon View and VSAN? [...]

  4. Welcome to vSphere-land! » VSAN Links

    [...] Horizon View? (My Virtual Cloud) How is Horizon View configured for VMware VSAN? (My Virtual Cloud) Why is Content-Based Read Cache (CBRC) so important for Horizon View and VSAN? (My Virtual [...]

Leave a Reply