vSAN6.2 对象校验和

点击关注公众号:VirtualMan 查看更多技术故障解决方案!

这几篇文章将主要介绍一些重要的功能,vSAN 6.2引入了一项新功能,即端到端软件校验和,可以帮助客户避免由于基础存储介质上的问题而引起的数据完整性问题。

在vSAN 6.2中,默认启用校验和,但可以通过VM存储策略在每个虚拟机/对象启用或禁用校验和。默认情况下会启用校验和,因为我们认为客户希望用到这一强大的新功能。禁用它的唯一原因是应用程序已包含此功能。

**校验和的新功能称为“禁用对象校验和”。**如下所示,在创建VM存储策略时可以选择并禁用它。否则,它将始终启用。
在这里插入图片描述
vSAN校验和的简要概述:

vSAN上的校验和使用非常常见的循环冗余校验CRC-32C(Castagnoli)实现以达到最佳性能,利用英特尔处理器上的特殊CPU指令。每4KB数据块都有与其关联的校验和。校验和的大小为5字节,数据被写入时,校验和将在数据来源的同一主机上进行验证,以确保在网络上出现任何损坏时都能捕捉到。校验和与数据一起保存。

如果在随后的数据读取过程中启用了校验和,也会要求校验和数据。

如果校验和显示刚刚读取的数据块在某种程度上已损坏,则对于Raid1对象,将从另一个副本/镜像中读取正确的数据。对于Raid5 / Raid6对象,将从Raid条带中的其他组件重建数据块。在包含错误组件的主机上以及在运行VM的主机上的vmkernel.log文件中也会记录一个错误。在下面的示例中,我们故意用随机数据覆盖了零位数据块,然后通过操作系统读取数据:

**2016-02-16T07:31:44.082Z cpu0:33075)LSOM:RCDomCompletion:6706:
Throttled: Checksum error detected oncomponent
a3fbc156-3573-4f2c-f257-0050560217f4
(computed CRC 0x6e4179d7 != saved CRC 0x0)

2016-02-16T07:31:44.086Z cpu0:33223)LSOM:LSOMScrubReadComplete:1958:
Throttled: Checksum error detected oncomponent
a3fbc156-3573-4f2c-f257-0050560217f4, dataoffset 524288
(computed CRC 0x6e4179d7 != saved CRC 0x0)

2016-02-16T07:31:44.096Zcpu1:82528)WARNING: DOM:
DOMScrubberAddCompErrorFixedVob:327:Virtual SAN detected and fixed a
medium or checksum error for component
a3fbc156-3573-4f2c-f257-0050560217f4
on disk group521f5f1b-c59a-0fe2-bdc0-d1236798437c**

扫描机制:

除了对读取操作进行校验和验证外,vSAN还有一个磁盘扫描机制,用于检查磁盘上的数据是否有静默损坏。该机制默认每年扫描检查一次所有数据,但是可以通过高级设置VSAN.ObjectScrubsPerYear进行调整,使其运行频率更高。例如,如果希望每周检查一次所有数据,可将其设置为52,但是要注意,在运行此操作时将会有一些性能开销。

总结:

所有新功能(例如Raid5 / Raid6,去重和压缩)以及配置(例如vSAN延伸群集)都完全支持校验和。如前所述,默认情况下它处于启用状态,因此客户无需配置就可以直接使用。如果出于某种原因而不想使用它,只需如上所述在VM存储策略中将其禁用即可。该功能将使vSAN客户能够检测到由于“潜在扇区错误”而导致的数据损坏,这些“错误扇区错误”通常是由于物理驱动器问题或其他静默数据损坏引起的。

发布了8 篇原创文章 · 获赞 17 · 访问量 820

猜你喜欢

转载自blog.csdn.net/VirtualMan_/article/details/104002107