CSVcaching如何在内存负载下运行?

我们正在考虑在新的Hyper-V 2012 R2群集中使用Microsoft的CSVcachingfunction:

  • 它默认启用,每个CSV分配512MB。
  • 可以分配的最大内存为80%。
  • build议最大分配为64GB。

我们的节点将有足够的空闲内存(在节点故障的情况下等),所以大多数时候我们的主机将有足够的空闲内存。

我想知道的是,如果我们分配完整的64GB,会发生什么情况,并且发生节点故障,以致其余节点需要回收内存。 主机能够从caching中回收内存吗? 是否有可能通过检查系统进程来检测caching?

你问了一个非常具体的问题 – CSVcaching在内存负载下做了什么?

答案是内存静态分配给CSVcaching,并且从未释放。 因此,如果遇到故障转移,则该内存不可用于其他任何操作,如拾取可能需要运行的虚拟机。

我怀疑,在一个相对较小的分配(默认1/2 GB)之后,CSVcaching中的更多内存的边际值对您来说是很低的。

您使用什么样的存储空间作为您的CSV托pipe的共享存储空间?

如果是软件解决scheme(软件定义存储),我build议closures本机CSVcaching并改为使用解决scheme的caching。 像Starwind这样的软件定义的存储具有自己的DRAMcaching,它可以在回写模式下工作(CSV具有只读caching)并且大小无限(CSV限制为64GB),并且可以select重复数据删除(CSV不能) https://www.starwindsoftware.com/starwind-virtual-san

您突出显示的更改是在Windows 2012-R2中引入的,专门用于SoFS。

SoFS非常易于读取,并且可以从更高的caching设置(max-80%/ recommended-max-64GB)

对于Hyper-V来说,关于内存分配,build议要更保守一些,正因为如此。 CSVcaching将与节点上的虚拟机竞争内存资源,特别是在由于节点故障而导致机器从节点移动到节点的故障情况下。

说; 你简单的可以把CSVcaching作为你硬件devise的要求。 你说你有“很多”。 因此,在这个“充足的”内存中,您需要计算可以使用的最大caching的大小,而不会限制虚拟机的在线数量。

HTH。