论文部分内容阅读
随着信息化的推进,军事、金融、大型企业等应用领域不允许存储系统出现任何不可恢复的灾难性故障,这使得可靠性成为衡量存储系统总体性能的重要因素。磁盘阵列通过冗余技术大大提高了系统的可靠性,但磁盘阵列重建过程中若再次发生磁盘故障(RAID6除外),整个系统的数据将会丢失,并且重建时间越长,数据丢失的概率越大。因此有效地加快磁盘阵列的重建速度,是提高磁盘阵列存储系统可靠性的一个重要手段,也是存储领域中急亟待解决的一个重要课题。磁盘阵列的在线重建与I/O负载密切相关,两者相互竞争有限的磁盘带宽,I/O负载严重地影响了磁盘阵列的在线重建性能,基于此,设计并实现了一种基于负载迁移的重建优化方法。该方法的核心是根据数据访问的局部性原理,在块级挖掘出热点读数据,重建期间将写数据和热点读数据迁移到代理存储设备上,重建完成后再将写数据回迁,使阵列恢复到正常状态。此方法有效地减轻了重建阵列上的负载强度,使阵列能够获取更多的带宽集中重建,提高了磁盘阵列在线重建速度,同时被迁移的I/O负载由专门的代理设备服务,而代理设备相对空闲,并且迁移数据被顺序写到代理设备上,使得重建期间的I/O平均响应时间也得到了保障。Linux原有的软件磁盘阵列MD采用的重建算法为流水线重建方法(PipelinedRebuild,PR),在RAID5级别的磁盘阵列上利用负载迁移技术对PR算法进行了优化,并对比分析了不同负载下磁盘阵列重建性能。测试结果表明,优化后磁盘阵列的重建时间和I/O平均响应时间都有了很大的改进,尤其是对于写请求密集的负载,性能改进更加显著。