vsan的容量设备故障和缓存设备故障分析

容量设备故障解析:
磁盘故障多是任何存储环境中最多见的故障了,vsan也不例外。磁盘组是vSAN的管理结构,其中包括一个缓存设备和一个或多个容量设备,其容量设备的磁盘多为SATA盘。一台主机能够为VSAN提供最多 5 个磁盘组:每一个磁盘组须要 1 个 SDD 以及最少 1 个、最多 6 个HDD。每一个主机的最多 HDD 数为 5 x 6 = 30。每一个主机的最多 SSD 数为 5 x 1 = 5。
在平常运维中,通常采用精简配置,虚拟机的虚拟磁盘仅占用实际数据的使用空间,大量地节省了成本。可是,在无人监控、空间快速增加的状况下,可能会发生存储空间超额分配,引起业务应用性能降低,甚至没法工做。web

那么VSAN如何处理容量磁盘故障呢?若是故障发生时,正好在磁盘上有一个读或写的操做会发生什么呢?下面解析下vsan的容量设备故障。
vsan的容量设备故障和缓存设备故障分析
如图,好比exsi-03上的一个容量存储组件返回一个读错误,那么VSAN就会去检查是否存在副本组件,若是有则从那个副本上读取。默认状况下,每一个对象被建立时都配置成FTT为1,这意味着每一个对象总有2个彻底同样的副本组件可用。故障发生在读取时,有2种不一样的状况,第一种状况能够修复,第二种状况则没法修复。当问题是能够修复的时候,I/O错误会被汇报给对象的属主,对象的属主则会发起组件重构。当组件重构完成时,故障组件会被删除。然而,若是由于某种缘由,没有副本组件存在时,VSAN就会报告这个虚拟机出现了I/O错误。
若是是返回一个写错误,也会传送到对象属主,组件会被标注为“已降级”并会在VSAN群集中另外的磁盘上触发组件重构。当组件重构完成时,群集目录会被更新。注意,闪存设备(它没有出错)会继续用缓存来提供读取服务。
最初的vsan版本中,在某一个组件或多个组件因故障而处以重建过程当中时,vsphere web客户端并无显示有多少数据须要同步。但从vsan6.0起,vsphere web客户端提供了在故障发生时监控数据同步情况的功能,好比它会显示正在从新同步的组件数量、从新同步的剩余字节数以及完成从新同步所须要的时间。
注:当磁盘容量全满时,vSAN会暂停写数据并为写请求申请新的磁盘空间,若是未及时添加新的磁盘,则vsan写操做会出现错误,引起虚拟机I/O错误。算法

缓存设备故障解析:
若是缓存设备SSD不可访问会发生什么状况?当缓存设备不可访问时,同一个磁盘组中那个缓存设备支持的全部容量设备都会没法被访问。缓存设备故障等同于缓存设备背后的全部容量设备故障。从本质上说,当一个缓存设备故障时,整个磁盘组被认为是“已降级的”。若是VSAN群集中有多余的容量,它就会试图在另外一台主机或磁盘上从新配置存储对象。所以,从架构决策角度看,根据使用的主机类型不一样,建立多个小的磁盘组可能会比单个大磁盘组好,由于一个磁盘组能够被视为一个故障域。
注:VSAN采用电梯算法周期性地将缓存层内写缓存中的数据按照地址顺序“冲刷”进磁盘中,这是一个能进行自我调整的算法,它决定了SSD回写到磁盘的频率。当exsi-01虚拟机中的应用程序发起一个写操做时,对象属主会克隆这个写操做。并发的写请求经过万兆网络发往exsi-02和exsi-03上的写缓存,当数据写入缓存时,写就被确认了,此时SSD上的准备操做就完成了。属主等待全部2台主机的ACK信号后完成I/O。稍后这个写入会做为批量处理的一部分最终回写到磁盘上。各主机的回写操做都是相互独立的,也就是说,exsi-02和exsi-03上的回写操做时间多是不一样的。这是由于不一样主机的状况不一样,好比缓存空间填满的速度、剩余空间的大小以及数据将存放在磁盘的什么地方均可能是不一样的。缓存

补充:
容量大小设置准则
一、至少留有 30% 的未使用空间,以防止 vSAN 从新平衡存储负载。只要单个容量设备上的消耗达到 80% 或以上,vSAN 就会从新平衡群集中的组件。从新平衡操做可能会影响应用程序的性能。要避免这些问题,存储消耗应低于 70%。网络

二、规划额外容量,用于处理潜在故障或替换容量设备、磁盘组和主机。当某个容量设备没法访问时,vSAN 会在群集中的其余设备中恢复组件。当闪存缓存设备出现故障或移除时,vSAN 会从整个磁盘组中恢复组件。架构

三、预留额外容量以确保 vSAN 在出现主机故障或主机进入维护模式时恢复组件。例如,置备具备足够容量的主机,以便留有足够的可用容量供可在主机出现故障或维护期间成功进行从新构建组件。存在三个以上的主机时这很是重要,这样您才有足够的可用容量来从新构建故障的组件。若是主机出现故障,将在其余主机的可用存储上进行从新构建,这样能够容许再次出现故障。可是,在三主机群集中,若是将容许的故障数主要级别设置为 1,则 vSAN 不会执行从新构建操做,由于在一个主机出现故障后,群集中只剩下两个主机。要容许故障后从新构建,至少必须有三个主机。并发

四、提供足够的临时存储空间,以便在 vSAN 虚拟机存储策略中进行更改。动态更改虚拟机存储策略时,vSAN 可能会为组成对象的副本建立一个布局。当 vSAN 实例化这些副本并将其与原始副本进行同步时,群集必须临时提供额外空间。运维

五、若是规划使用软件校验和或去重和压缩等高级功能,请保留额外的空间以处理操做开销。ide

问题补充:
SSD 拥堵问题引起VSAN夯住。这时特定磁盘组的写入 IO 的活动工做集显著大于该磁盘组缓存层的大小时,一般会引起 SSD 拥堵,继而引起VSAN群集夯住。在混合和全闪存 vSAN 群集中,数据首先写入到写入缓存(也称为写入缓冲区)。一个称为降级转储的进程会将数据从写入缓冲区移至容量磁盘。写入缓存承受较高的写入速率,从而确保写入性能不受容量磁盘的限制。不过,若是以很是快的速率填充写入缓存,降级转储进程可能跟不上到达 IO 的速率。在这种状况下,会引起 SSD 拥堵,须要指示 vSAN DOM 客户端层将 IO 减速到 vSAN 磁盘组能够处理的速率。布局

补救措施:要避免 SSD 拥堵,请调整所用的虚拟机磁盘的大小。为达到最佳效果,咱们建议虚拟机磁盘(活动工做集)的大小不超过全部磁盘组写入缓存累计大小的 40%。请注意,对于混合 vSAN 群集,写入缓存的大小为缓存层磁盘大小的 30%。在全闪存群集中,写入缓存的大小是缓存层磁盘的大小,但不该超过 600 GB。若是超限大量写入,容易引发VSAN群集夯住,容量层磁盘也将会没法被访问。性能

本文同步分享在 博客“xjsunjie”(51CTO)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索