论文部分内容阅读
RAID已经成为存储系统不可缺少的重要组成部分。RAID采用磁盘互为冗余的方法,为数据提供安全性保护。为了节约成本,更多的公司开始选择SATA系列磁盘代替FC和SCSI磁盘构建RAID系统。与FC和SCSI磁盘相比,SATA盘提供了更高的存储空间和更低的存储价格,但同时也带来了安全隐患:SATA磁盘发生扇区错误的概率是FC和SCSI磁盘的10倍。由于SATA盘的这一问题,构建于SATA盘基础上的RAID存储系统,因同一条带发生一处以上扇区错误而造成数据丢失的概率大大增加。统计数据表明在RAID系统中,由于扇区错误而造成数据丢失的概率大致是由于掉盘造成数据丢失概率的5倍。本文对基于scrub扫描算法的高可靠性RAID关键技术进行了研究。主要研究的内容及结果如下:
⑴比较了现有针对扇区错误,提高RAID可靠性的方法,选取其中最为有效的Scrub磁盘扫描算法作为研究核心。Scrub算法通过对磁盘的周期性扫描,及时发现其中隐藏的扇区错误,并借助RAID单条带重构,恢复丢失数据。因此降低了RAID系统重构时因同一条带内多处扇区错误而造成数据丢失的概率。
⑵分析了磁盘扇区错误的原因,建模描述了扇区错误随磁盘使用时间和磁盘I/O负载的变化规律;根据模型预测结果,设计了高效的scrub扫描算法;并通过完成具备单条带数据恢复功能的RAID5系统,将scrub扫描算法与RAID5相绑定,实现了一个高可靠性的RAID原型系统。主要创新点有:
a.提出了一种新的分析扇区错误概率的模型。在该模型中,本文作者通过分析扇区错误概率,磁盘I/O负载,扫描时间的关系,得到了扇区错误概率随磁盘使用时间的变化函数。
b.提出并实现了高效的scrub磁盘扫描算法。通过模型分析,本文作者比较了各种扇区错误原因在扇区错误总概率中所占的权值,及它们随时间的变化函数。本文作者通过区分磁盘上的频繁访问区域和非频繁访问区域,对扇区错误概率不同的区域进行分类处理。对于热区数据,我们将扫描算法与正常I/O访问绑定,目的在于最大限度的降低扫描开销;对于冷区数据,由于该部扇区出错概率较低,本文作者采用抽样扫描的方法发现扇区错误。
c.实现了具备单条带数据恢复功能的RAID5系统。通过块级虚拟化平台ASD(Allocate-On-Demand)记录正常的I/O访问信息。将scrub算法与具备单条带数据恢复功能的RAID5相结合。利用RAID5的冗余数据保护,恢复扫描中发现的错误扇区的丢失数据,并通过磁盘的自动映射功能,将恢复数据写入备份扇区。