亚健康,也称Fail slow,是指硬件可以正常运行但性能严重降级的一种状态。
硬盘模块、网卡、CPU、内存等硬件部件均有可能进入亚健康状态,当这些硬件进入亚健康状态后,如果存储系统未采取有效监控和容错措施,则会导致存储系统响应主机的时延增大、IOPS/BPS降低,甚至会因无法响应主机导致主机业务中断。
导致亚健康的原因很多,震动可以使硬盘带宽降低3个数量级,SSD固件的BUG会导致硬盘操作延时数秒,CPU因为供电不足,性能可能下降50%,网卡由于缓存数据受损可能导致数据的传输速度降低到Kbps。
华为分布式存储系统可以对硬盘、网络、服务(涵盖CPU/内存等)等进行全面的亚健康状态监控,当这些硬件被存储系统智能诊断为亚健康状态时,如果存储系统当前存在冗余数据,则会自动将其隔离,使得单部件亚健康不影响存储系统性能。另外,如果存储系统不存在冗余数据,则不会将其隔离,保证数据的可靠性。
分布式存储支持以下几种亚健康监控,存储系统的亚健康检查功能默认打开,如果在维护过程不希望进行亚健康检查,可以使用change subhealth switch命令关闭该功能。
华为分布式存储系统对存储节点中的主存盘、缓存盘、系统盘、元数据盘进行全方位的亚健康状态监控,主要监控内容包含但不限于:
I/O错误(如静默数据错误数等)
图1-1 盘亚健康监控流程示意
存储系统进行盘亚健康监控的原理如下:
如果存在冗余数据,则会将该硬盘隔离;如果不存在冗余数据,则不会将其隔离。
在分布式存储系统中,存储节点在运行过程会因软硬件的问题进入亚健康状态(比如内存反复纠错导致访问降速、进程/服务(模块)访问时延异常),单个节点处于亚健康状态会影响整个存储系统的时延。
存储系统通过收集存储节点中各进程/服务的时延信息检测出处于亚健康状态的节点。
图1-2 服务亚健康监控流程示意
服务亚健康监控可以实现跨进程/服务检测,当模块A访问模块B时,在A上统计访问B的I/O时延,如果I/O时延超过阈值,则会上报给MDC综合诊断。存储系统进行服务亚健康监控的原理如下(以CEDS/EDS模块访问OSD模块为例):
分布式存储系统中,网卡降速、丢包/错包率增加、协商速率不匹配等都会使存储节点网络性能下降,导致网络进入亚健康状态。
图1-3 网络亚健康监控流程示意(以bond1模式下网络亚健康导致本地网口切换为例)
节点本地网络快速检测到闪断、错包、协商速率低等异常情况时,智能选择其他节点发送探测包,根据组网模型和异常信息识别出该节点的网口、网卡或链路异常并上报告警同时进行网口切换或节点隔离,网络亚健康监控原理如下(以bond1模式下网络亚健康导致本地网口切换为例):
当硬盘、网络等出现亚健康问题时,分布式存储系统会上报告警,如果想了解不同亚健康的告警信息,不同的产品请参考对应的事件参考手册:
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论