点击关注公众号:VirtualMan 查看更多技术故障解决方案!
vSAN6.2中引入了数据去重与压缩功能,这两个技术降低了vSAN上虚拟机的存储使用率。提高了全闪vSAN的性价比。
vSAN上去重和压缩的简单概述:
大多数人应该熟悉数据去重,去重已经在存储行业使用很长时间。简单来说,去重就是检查数据是否已经存在于存储中,如果已经保存,就不会将相同的数据再次写入,而是对已经保存的数据创建一个引用(我理解为类似于C语言中的指针)。
只有全闪支持去重和压缩,为了最佳性能,热数据会先存入缓存层,当数据不在活动时,会将数据写入容量层。数据在从缓存层写入到容量层的过程中,vSAN会对数据执行去重操作。
VSAN使用SHA1作为去重哈希算法, 这个算法能确保没有任何两个数据块是相同的,每个数据块都是唯一的。当一个新的数据块写入时,对其进行哈希处理,与现有的哈希表进行对比。如果已经存在,则无需存储此数据块,VSAN只是为其创建一个新引用。 如果尚不存在,则创建一个新的哈希条目,并保存该数据块。
vSAN6.2中另外一个节省空间的技术是压缩。VSAN使用LZ4压缩机制,可在4KB块上工作。如果发现一个数据块是新的,会对其进行压缩。LZ4会将数据块压缩到不大于2KB后,将其保存到容量层。如果压缩无法将数据块大小减小到2KB以下,则将保存完整数据块。压缩是在去重之后,如果数据块已经存在,那也就没有必要执行压缩操作了。
Inline重复数据删除VS post-process重复数据删除:
很多人纳闷去重是Inline重复数据删除还是post-process重复数据删除。 vSAN不会在缓存中对数据块进行去重或压缩,而是在将数据块移至容量层时进行,因此我们决定使用“near-line”一词来描述这种方法。
这个方法有一个特别大的好处,当你的应用程序正在写数据时,同一数据块在缓存层中可能会被覆盖多次。在全闪vSAN,这个数据块在高性能、高耐用性的高速读取/写入缓冲层覆盖多次,当数据块不在使用时,将被写入到容量层,只有在这个时候,vSAN会进行去重和压缩操作。这个机制可以节省很大的开销,因为相同的数据块会被立即覆盖,而不需要多次循环的去重与压缩。
启用去重和压缩:
这个操作非常简单,就像大家对vSAN的理解一样,直接导航到vSAN的管理界面,在这里,可以编辑该选项以启用这些去重和压缩,并将其从禁用改为启用,如下所示
允许精简冗余:
上面截图中的允许精简冗余是什么?启用去重和压缩需要更改磁盘组的格式。要完成此更改,vSAN 需要撤出磁盘组中的数据,移除磁盘组并使用支持去重和压缩的新格式重新创建磁盘组。
现在,就像以前的磁盘格式升级一样,集群中可能没有足够的资源来完全清空磁盘组。也许这是一个由三个节点组成的群集,并且在保持完全保护的情况下,无处撤离副本或见证服务器。或者它可能是一个已经部署了RAID-5对象的4节点群集。
在这种情况下,没有地方移动RAID-5条带的一部分(因为RAID-5对象需要4个节点)。这也可能是已消耗了大量的磁盘容量,而没有空间将所有数据存储在较少的磁盘组上。这些情况下,可以选择启用重复数据删除和压缩功能,但是要知道在过程中您将有一定的风险,因为没有地方可以移动组件。
此选项可使虚拟机保持运行,但虚拟机可能无法允许虚拟机存储策略中定义的完全故障级别。因此,在去重和压缩的临时更改格式期间,您的虚拟机可能存在数据丢失的风险。vSAN 在格式转换完成之后会还原完全合规性和冗余。使用这个选项,VSAN从对象中删除组件,使用新的磁盘格式重新构建磁盘组,并在进行下一步之前重新构建组件。
监控去重和压缩节省空间:
vSAN6.2有一个容量示图的界面,从这里,管理员不仅可以查看文件系统磁盘格式和去重、压缩等功能的开销,还可以查看每个对象类型在何处消耗容量。如果希望看到通过去重和压缩实现的空间节省,那么这里就是要找的地方。如果决定在将来某个时候禁用节省空间的功能,则UI还将显示需要为增长的数据准备多少空间。
使用对象空间预留来去重和压缩:
如果已经使用了对象空间预留(OSR),现在又希望使用重复数据删除和压缩,则需要考虑一个主要问题。事实上,对象需要具有0%OSR(thin)或100%OSR(fully reserved – thick),不能是中间的任何值。如果已经部署了OSR值介于两者之间的VM,则无法启用重复数据删除和压缩。它将出现如下所示的错误:
如果要使用重复数据删除和压缩,则需要从VM中删除该策略。或者将其设置为0%或100%的值。
其他注意事项:
- 去重和压缩只能在全闪vSAN上使用
- 需要注意存储空间扩容,保证充足的磁盘组。
- 由于在启用去重和压缩功能后,哈希表会散布在磁盘组中的所有容量磁盘上,因此启用后,无法从磁盘组中删除磁盘。
磁盘组中任何磁盘的故障都将影响整个磁盘组。必须等待数据同步完成后,处理故障组件并重建磁盘组。
(扫描关注公众号,获取更多原创技术故障解决方案!)