原文:http://cormachogan.com/2014/03/12/vsan-part-18-vm-home-namespace-and-vm-storage-policies/


 

       VSAN 今天终于发布了通用版。请阅读 Duncan 的博客文章,其中有很多可获得通用版相关信息的不错链接。


       在这篇文章中,我将讨论一个最近出现多次的问题,即 VSAN 虚拟机主目录命名空间对象相关的问题,这个问题也已经造成了一定的困惑。如果您一直关注我的 VirtualSAN 系列文章,您可能会想起部署在 VSAN 数据存储上的虚拟机现在由一组对象组成(与我们传统上习惯的一组文件相对)。这些对象可能是虚拟机磁盘 (VMDK)、快照增量磁盘、虚拟机交换空间,当然还有虚拟机主目录命名空间。虚拟机主目录命名空间是我们存储所有虚拟机配置文件的位置,例如,.vmx.log、摘要文件、内存快照,等等。现在很多人注意到的是,即使他们设置了配置有多种 VSAN 功能的虚拟机存储策略,从 vSphereWeb Client 查看时,虚拟机主目录命名空间似乎并没有实施这些策略设置。这篇文章的主要目的是解释这其中的原因。


       这是因为只有虚拟机磁盘和快照增量磁盘会遵循虚拟机存储策略的全部设置,这实际非常合理。而虚拟机主目录命名空间和虚拟机交换都使用特定的默认功能设置,而不是虚拟机存储策略中的设置。您可以想一下,为什么您要为虚拟机主目录命名空间之类的对象设置百分之几的缓存或条带宽度?您不会的,这就是为什么即使这些设置在策略中但虚拟机主目录命名空间却不会应用这些设置的原因。不过,虚拟机主目录命名空间确实继承了NumberOfFailuresToTolerate 设置。这可以让虚拟机在群集出现多重硬件故障时得以保存完整。例如,在下面的屏幕截图中,我部署了一台虚拟机,并将 NumberOfFailuresToTolerate 设置为 2,将 StripeWidth 设置为 2


wKiom1OReNrQxV2LAAO9LEiTo-E142.jpg


       问题在于,如果将配置了 RAID-0 条带功能的虚拟机存储策略分配给虚拟机,却没有看到虚拟机主目录命名空间有这个配置,您也不应感到惊讶。VSAN 不会为虚拟机主目录命名空间实施该设置。但是,如果将一条包含NumberOfFailuresToTolerate 功能(默认情况会有)的策略应用到虚拟机上,您会看到虚拟机主目录命名空间有 RAID-1 镜像配置。


        如果您想要详细了解 VSAN 对象和功能,请考虑读一点我之前写的有关这一主题的博客文章

        

        最后,让我们回顾下虚拟机主目录命名空间上部署的功能:

  • 待条带化的磁盘对象数目;用值 1 覆盖策略

  • 对象空间预留:用值 0% 覆盖策略

  • 读取缓存预留:用值 0% 覆盖策略

  • 允许的故障数目:使用策略设置

  • 强制置备:使用策略设置


       我们不允许虚拟机主目录命名空间使用闪存读取缓存预留的原因有几个。主要原因是,为虚拟机主目录命名空间增加缓存对性能没有多大帮助,但另一个原因还有,如果有人为 VMDK 增加了缓存,他们同时也会错误地为虚拟机主目录命名空间增加缓存,这是没有必要的。这是对客户缓存资源不必要的浪费。所以,我们为虚拟机主目录命名空间设置了剔除缓存的默认策略。


       欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国


————————————————————————————————————————————


作者:Cormac Hogan

CormacHogan 现任VMware R&D 的集成工程团队存储架构师。他是爱尔兰科克郡 EMEA 总部的首批 VMware 员工之一(该总部于 2005  4 月成立),曾在 VMware 技术营销与支持部门任职。他撰写过大量关于存储的白皮书,还发表了许多关于存储最佳实践和新功能的演讲。