Jump to content


Photo

XA 7.9 MCS with RAM Caching

Started by Benjamin Österle , 03 June 2016 - 06:44 AM
25 replies to this topic

Benjamin Österle Members

Benjamin Österle
  • 16 posts

Posted 03 June 2016 - 06:44 AM

Hello,

 

if i create a Machine Catalog with RAM Caching and Cache Disk, i'll get on first boot of the provisioned machine in disk management a disk who is not initialised and not formatted.

 

So what to do?

 

 

If i go the the citrix edocs:

 

Configure cache for temporary data

.....

.....

.....

Generally, the default values are sufficient for most cases; however, take into account the space needed for:

  • Temporary data files created by Windows itself, including the Windows page file.
  • User profile data.
  • ShareFile data that is synced to users' sessions.
  • Data that may be created or copied by a session user or any applications users may install inside the session.

 

 

 

So in my opinion, im allowed to format it and us it for pagefile and other things?

 

 

 

Kind Regards

 



René Bigler Members

René Bigler
  • 210 posts

Posted 03 June 2016 - 06:52 AM

thats how it works, don't touch the disk, its your cache disk and is managed by the system.



Martin Rowan Citrix Employees

Martin Rowan
  • 310 posts

Posted 03 June 2016 - 07:38 AM

Don't format it, the raw disk is what MCS caching uses. When it talks about the things that may influence the size, this is becuase it's your writable disk. Your C drive is read only and all the changes (including page file writes, user profile caches etc) would be written to the MCS cache (initially the MCS memory cache, once this is full it will write out older data to disk). 
 
When you need to read back something you have written, this may lead to data being read from the base image, the memory cache and the cache disk depending on where all the data resides. 
 
Hope that helps
Martin


René Bigler Members

René Bigler
  • 210 posts

Posted 03 June 2016 - 07:50 AM

hi martin

 

is it a good idea to implement mcs caching along with intellicache on xenserver? this way reads of the master image could accelerated, but what's with the writes? since intellicache and mcs cache will both cache writes in a pooled desktop setup, is this a overkill and does interfere?

 

are there any recommendations from citrix?

 

thx

rené



Martin Rowan Citrix Employees

Martin Rowan
  • 310 posts

Posted 03 June 2016 - 08:17 AM

Certainly the in-memory caching introduced in XS 6.5 and later will help cache the base disk local to the XenServer, which may help reduce any storage latency for all VMs on the host.
 
I'd have to ask around to see if any specific testing has been done with MCS caching and Intellicache. I think you'd get double caching and so I'm not sure there is a benefit. But will ask.


René Bigler Members

René Bigler
  • 210 posts

Posted 03 June 2016 - 08:42 AM

thx martin

 

very good article about relating IntelliCache and in-memory read caching. would be nice to have it expanded with the new mcs caching.

 

problem of double caching is also what came to my mind. so i was a bit confused when saw you can enable both at same time in citrix studio of the new release.

 

Mark Syms Citrix Employees

Mark Syms
  • 1,701 posts

Posted 03 June 2016 - 08:58 AM

There is no reason that you can't enable Intellicache with MCS caching but the utility will be a bit limited. Intellicache will create a "semi" persistent read cache disk for the base disk on the local Intellicache SR whereas the memory cache has to be rebuilt on host restart and is also limited in size by host ram which could mean some data is flushed and has to be re-read whereas it's quite likely that the Intellicache SR is big enough to contain the entire amount of the base disk that is required to be cached. There will be no writes vectored to the VM delta disk (either the copy on shared storage or on the local Intellicache SR) as all writes will go to the separate temporary cache drive for the VM (which may or may not be on the same SR as Intellicache).

 

HTH,

 

Mark



René Bigler Members

René Bigler
  • 210 posts

Posted 03 June 2016 - 09:29 AM

hi mark

 

thx for elaborating on this. was not aware that no data is vectored to the delta disk and the temporary cache drive will not be cached itself by intellicache. under this circumstances it might be worth to test enabling both caching technologies at the same time. will give it a try.

 

rené



Tobias Kreidl CTP Member

Tobias Kreidl
  • 17,836 posts

Posted 03 June 2016 - 07:02 PM

If you use just MCS caching the VM I believe will remain agile if you want to Xenmotion it to another server. With IntelliCache, I think you have to stop the VM to be able to Xenmotion it to another host, correct? And then, it has to build up the cache from scratch.

 

If you run a good software defined storage solution that supports read caching, adding the XenServer in-memory caching has no added benefit at all (since in particular the memory allocated is very small compared to what you assign to an SDS configuration).

 

-=Tobias



Mark Syms Citrix Employees
  • #10

Mark Syms
  • 1,701 posts

Posted 04 June 2016 - 11:25 AM

If you use just MCS caching to local storage then the VM is not agile at all and cannot be moved even when powered off as it has a virtual disk permanently associated with a single host. Intellicache non-persistent machines cannot be live migrated but can be started on any host in the pool.



René Bigler Members
  • #11

René Bigler
  • 210 posts

Posted 04 June 2016 - 12:57 PM

thats bad news :( so for a deployment with pooled desktops on a xenserver pool the mcs caching technology is not suitable. the provisioned vms get stuck on a single host, they can not be migrated to an other host. also load balancing/distributing the vms over the multiple host will not work properly i guess.

will test now the dangerous way with only cache to ram enabled and see if that improves performance, but think the risk of bluescreens is quite big...



Martin Rowan Citrix Employees
  • #12

Martin Rowan
  • 310 posts

Posted 04 June 2016 - 03:43 PM

René if your place your MCS cache disk on shared storage, then you can maintain VM agility, and the memory cache helps to reduce write IOPS to your shared storage, combined with the XenServer memory cache which can reduce read IOPS. 
 
As with all new technologies, it can solve a problem, but create other problems/limitations. So you do need to think carefully about your design. 
 
Andy Morgan recently wrote this great blog post which I think explains this new feature very well: https://www.controlup.com/blog/everything-you-need-to-know-about-the-new-citrix-mcs-io-acceleration/ 


René Bigler Members
  • #13

René Bigler
  • 210 posts

Posted 04 June 2016 - 05:40 PM

thx martin

no worries, just testing and playing around with the new release and trying to understand how intellicache and mcs ram/disk cache play together.

when placing the mcs cache disk on shared storage we are back on square one i think. isn't the idea of this feature to take iops pressure from your shared storage by placing it on cheaper local storage?

imho intellicache does exactly this without the possibility to implement ram cache but has the advantage that your vms keep semi-agile.

mcs cache has ram and diskcache but no agility when placed on local storage. when placed on shared storage minor iops optimization.

so there is one thing left to test. mcs cache on shared storage together with enabled intellicache on local storage. maybe this would be an interesting combination: locally cached base image (read iops optimization) and ram cached non persistent writes on shared storage, together with semi agile vms. but i doubt that utility of this is worth and just to use intellicache with fully leverage of the local storage is the better option and gains more performance.

btw xenserver memory cache unfortunatly is not a licensed feature with xendesktop enterprise.

Martin Rowan Citrix Employees
  • #14

Martin Rowan
  • 310 posts

Posted 04 June 2016 - 07:07 PM

Glad you're having fun with it René. FWIW XS memory caching looks to be available if you have XA/XD Platinum, see: http://support.citrix.com/article/CTX141511

 

Martin



Eric Hosmer Members
  • #15

Eric Hosmer
  • 131 posts

Posted 17 June 2016 - 06:27 PM

I was afraid  MCS caching would get less useful as more info came out.     

 

XenServer In-Memory Read Caching.(Platinum Licence for XenServer or XA/XD Required)   

--Intellicache is Better XenServer In-Memory Read Caching

--If your SAN has Read Cashing that may be alosmost as good (definitely cheaper) In-Memory Read Caching

--In-Memory Read requires a Platinum Licence for XenServer or XA/XD.    So it's price out of our use.    Kind like Director all the use stuff require XA/XD Platinum)

--Only real advantage of In-Memory is no negative on live movement of a VM.

 

 

Looks like the only advantage of MSC Caching has over Intellicache is if you put the Share Disk on a SAN then you can have VM Live Mobility.

 

But the most Critical information we need about MSC Caching!  We don't have!   A side by Side Performance comparisons because of MSC Caching and Intellicache,   I ready have to pin VM to a host due to Intellicache requiements.    Before I spend more money on a SAN, I need to know how they compare in performance.    Why has Citrix not put that info out?    I find it hard to believe that in all there internal work with MSC Caching no one did benchmarks?



René Bigler Members
  • #16

René Bigler
  • 210 posts

Posted 18 June 2016 - 02:30 PM

guess intellicache becomes more and more obselete, it's a poor mans solution to use local storage for caching and lets you use cheaper shared storage. probably intellicache will disappear in future releases of xenserver.

for now i think best way is still use pure intellicache without any mcs io cache if you want to use the local storage in your existing servers. did not see any improvements implementing it together with mcs cache.

and as you described mcs cache without xenserver memory read cache makes not much sense.

Eric Hosmer Members
  • #17

Eric Hosmer
  • 131 posts

Posted 19 June 2016 - 04:36 PM

Intellicache is only obsolete if its performance is less than MSC Caching.    But I have seen no comparison of that performance by Citrix.     How can we Judge MSC Caching if its never bench marked against MSC Caching?



Tobias Kreidl CTP Member
  • #18

Tobias Kreidl
  • 17,836 posts

Posted 29 June 2016 - 03:51 AM

I would say the lack of agility for many cases is a showstopper when it comes to IntelliCache, so regardless how good or not it is, if it's not viable for the environment it's a moot point. Any contemporary SDS solution that provides read cahce is going to beat IntelliCache, anyway.

-=Tobias



René Bigler Members
  • #19

René Bigler
  • 210 posts

Posted 30 June 2016 - 09:41 AM

thats why i stated intellicache will become obsolete more and more. it's a technology from the old ages, when shared storage was not that performant and you wanted to use cheaper local storage to take pressure from your san. lack of agility is/was the trade off.

Mark Syms Citrix Employees
  • #20

Mark Syms
  • 1,701 posts

Posted 30 June 2016 - 10:26 AM

I'm confused.

 

Intellicache is more agile than MCS caching as persistent machines with Intellicache will live migrate and all writes are persisted to local storage whilst also being cached locally.

 

MCS caching only applies to non-persistent machines and is tied to the host on which the cache drive is created meaning the machine can only ever run on that host.

 

Non-persistent Intellicache machines are while running tied to the host as the cache is only held locally but when stopped the VM can be started on any host in the pool as a new cache will be created.

 

Also MCS caching does nothing for read operations, it's purely to handle writes, buffering via RAM and then writing to a discardable temporary disk. To optimise reads you're still going to need read cache on SAN, Cache in Dom0 RAM or Intellicache read caches depending on which works best for your environment.