- 简介
- 一种检查硬盘是否有硬件介质故障的机制
- 一种在驱动器故障威胁数据完整性之前检测出驱动器错误的预防措施
- 在主机访问前找到并尽可能的解决物理驱动器存在的潜在问题
- 可提高性能性能,避免访问时进行错误恢复
- 关键点
- 巡读只会在配置的驱动器上运行,且在适配器的所有磁盘上运行,这些磁盘被配置作为阵列的一部分(包括热备份)
- 巡读根据磁盘 I/O 水平来调整用于巡读操作的 RAID 控制器资源的数量,如果服务器忙于处理 I/O 操作,则巡读会占用较少资源以允许 I/O 占用更高的优先权
- 无法从巡读操作中取消选择驱动器
- 如果服务器在巡读反复过程中重新引导,则在 Auto Mode(自动模式)下,巡读会从零开始重新启,在 Manual Mode(手动模式)下,巡读不会在服务器重新引导时重新启动
- 可控制同时巡检的磁盘个数
- 设置巡检的起始时间
- 设置巡检的周期
- 设置启停
- 对错误的数据会进行修正(因为Raid,重映射到保留的block中)
- 巡读磁盘上所有区域
- promiss中可设置巡检的区域
- 优缺点
- 优点
- 可提前发现磁盘介质错误
- 基于RAID可读数据进行修复
- 可控制并发个数,cpu使用率可控
- 巡检的时长、周期、区域可控
- 可动态启停
- 可根据业务压力动态调整速度
- 缺点
- SSD可能不支持
- 大盘的耗时可能较长
- 优点
2 、CC(consistency check, 一致性检测)
- 简介
- 磁盘阵列控制器的一种高级维护功能
- 检查阵列分布在硬盘上的数据是否一致,保证虚拟磁盘(VD)成员之间的冗余是相同的,便于提前发现问题
- 对于有奇偶校验值的阵列(RAID-5),一致性校验通过数据的奇偶校验,并且和存校验值的盘上的校验值进行比较,确定并纠正数据的一致性
- 对于镜像盘,一致性校验比较RAID-1上2块硬盘的数据是否完全一致。不一致的需要进行同步处理。对于剩余空间的磁盘介质consistency check一样会进行读校验
- 关键点
- 测试存储阵列中硬盘上包含数据和校验信息的部分
- 优缺点
- 优点
- 若磁盘已用数据量不大或者磁盘较小,则使用cc会较快一些
- 缺点
- 无法发现未使用区域的数据问题
- 优点
3 、两者区别
Patrol Read和Consistency Check的差异是Patrol Read用于检查drives的Blocks,而Consistency Check是验证在虚拟硬盘(VD)成员之间的冗余是相同的。尤其是,Patrol Read在默认情况下一个自动化后台任务,对每块Drive上的每个独立的block进行检查以确保Drive所有的Block中的数据可以被正确读取。Patrol Read在检查过程中会尝试修复不可读的Block,或者将不可修复的Block重映射到保留Block。
Check Consistency通常需要人工进行手动启动(尽管它也可以Scheduled,其实也是可以计划的),对同一阵列中所有drives进行比较,确保所有数据和冗余可以正确匹配。
Consistency Check仅仅测试存储阵列中硬盘上包含数据和校验信息的部分,而不是存储阵列中空白区域(无数据和校验信息);Patrol Read检查存储阵列中硬盘的每一个扇区。由于当前硬盘容量越来越大,Patrol Read测试比Consistency Check显得更加重要。Patrol Read可以发现存储阵列中暂无数据和校验信息部分的错误,而这些错误正常是无法发现,直到这些区域被测试或者被写(注:好处是避免对错误区域进行读写)。如果短时间内读写足够多的区域,那么就会达到坏区数量的极限,从而导致Raid Fail(尤其是Rebuid状态)。
Consistency Check工具开发的背景是人们认为硬盘的容量不会超过100MB的历史条件下。随着硬盘容量越来越大,Raid失败率逐步提升(主要是在Rebuild阶段),在这种情况下,Patrol Read应运而生。
至于这两者的功能,Patrol Read可以做Consistency Check大部分任务,由错误读写或者硬盘错误引起的不一致也可以被Patrol Read发现。
4、结论总结
1.一致性检查(Consistency Check)工具是人们对硬盘容量期望不高时的产物;
2.巡读(Patrol Read)是一种自动化工具,可以在空闲时间在后台进行检查;
3.巡读检查存储阵列中每一个Block,并对修复坏区,如果无法修复,那么将坏区重映射到可用区;
4.对于读写错误或者硬盘错误引起的不一致,巡读也可以检测到。