[发明专利]廉价磁盘冗余阵列RAID5卷快速扩容方法无效
| 申请号: | 200810102893.5 | 申请日: | 2008-03-28 | 
| 公开(公告)号: | CN101251789A | 公开(公告)日: | 2008-08-27 | 
| 发明(设计)人: | 郑纬民;舒继武;张广艳;薛巍 | 申请(专利权)人: | 清华大学 | 
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 | 
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 | 
| 地址: | 100084北京*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 廉价 磁盘 冗余 阵列 raid5 快速 扩容 方法 | ||
技术领域
廉价磁盘冗余阵列RAID5卷快速扩容方法属于计算机信息存储技术领域,尤其涉及外存储设备的高性能、高可靠、高可扩展的优化组织技术领域。
背景技术
RAID5卷扩容是指向现有RAID5卷中增加磁盘,这样既可以提高它的I/O性能,也可以扩大它的存储容量。RAID5卷扩容使得RAID5卷能够更好地动态满足应用需求。因为宕机成本极高,扩容中的RAID5卷必须一边重分布数据,一边处理应用I/O请求。数据重分布和应用I/O共享甚至竞争系统的I/O资源,使得执行RAID5卷扩容是个技术挑战。
目前只有少数几个RAID5卷扩容方法,它们存在如下几个共同缺陷:第一,它们发起很小的重分布I/O,导致数据重分布和应用I/O之间的相互干扰很大;第二,为保证数据一致性,它们频繁更新元数据,进而引起频繁寻道开销;第三,它们使用非自适应的速率控制,要么极大降低应用性能,要么严重遏制数据重分布的速度。这些缺陷导致现有RAID5卷扩容方法效率都不高,直接而又严重地影响了RAID5卷的性能、扩展性和可靠性。
基于分析RAID5卷扩容过程中的数据重分布特点,提出了一整套新的RAID5卷快速扩容方法,有效地解决了上述问题。
发明内容
本发明的目的在于提供一个能够全面满足数据重分布速度目标和应用I/O性能需求的高效率的RAID5卷扩容方法,实现RAID5卷的在线快速扩容。本发明的重点是:数据重分布I/O的聚合机制、元数据的懒惰更新技术以及基于逻辑阀的速率控制方法。
本发明的特征在于:数据重分布I/O聚合访问,不改变迁移数据量,却大幅减少重分布I/O个数;元数据懒惰更新,保证数据可靠性,同时显著降低元数据更新次数;监测应用负载并用逻辑阀控制重分布速率,统计上保证应用I/O性能,并动态最大化数据重分布速度。
数据重分布I/O的一般作法是按照逻辑上的顺序性进行的,即:数据块0,数据块1,数据块2,……,而不管这些数据块在磁盘上是如何分布的。考虑到数据块在磁盘上的分布特征,本方法将数据重分布I/O由逻辑上的顺序改变为在磁盘上物理分布的顺序,通过单个I/O访问多个物理上连续的数据块,从而增加数据重分布I/O的大小,同时减少其个数。
现有RAID5卷扩容方法为了保证数据可靠性频繁更新元数据,要么每移动一个数据块更新一次元数据,要么每移动一个小数据窗口更新一次元数据。本方法持续地重分布数据而不更新元数据,直到对数据可靠性的威胁出现时才更新元数据。一方面,元数据的懒惰更新显著减少了元数据的更新次数,另一方面,元数据的懒惰更新严格保证了数据可靠性。
现有扩容方法采用非自适应的速率控制,难以全面满足数据重分布速度和应用I/O性能两个需求。本方法监测RAID5卷所承担的负载,自适应地用一个简单逻辑阀来调控数据迁移速率。当负载较轻时执行数据重分布,而当应用负载较重时扼杀数据重分布。这样可以自适应地全面满足数据重分布速度和应用I/O性能两个需求。
所述方法是在有廉价磁盘冗余阵列功能的主机或阵列系统上依次按以下步骤实现的:
步骤(1):数据块的聚合访问
步骤(1.1):以异步I/O操作方式同时通过单个I/O操作读取多个在m块磁盘物理分布上连续的数据块,并存入内存;
步骤(1.2):把n块磁盘加入一个由m块磁盘组成的RAID5卷中时,调整数据块指针来实现数据块的重新分布:扩容前,一个数据块x分布在第x mod m号磁盘的第x/m块物理数据块上,扩容后分布在第x mod(m+n)号磁盘的第x/(m+n)块物理数据块上;
步骤(1.3):计算机计算新的数据组织的校验数据块;
步骤(1.4):以异步I/O操作方式同时通过单个I/O操作写入在步骤(1.2)所述的物理分布上连续的数据块;
步骤(2):元数据的懒惰更新
步骤(2.1):一旦聚合窗口中的所有数据块都已经移动完,聚合窗口向前滑动一个聚合窗口大小,所述的聚合窗口是指通过一组异步I/O操作读进内存的数据块集合,而滑动窗口用来描述RAID5卷上一段连续空间的映射信息;
步骤(2.2):元数据不被更新,直到下面两个状态之一出现时,更新元数据:
当聚合窗口到达当前滑动窗口边界时,更新元数据并且初始化一个新的滑动窗口,
当一个用户写请求到达一个地址区域,但所述的地址区域的数据已经移动但元数据尚未更新时,更新元数据,而且初始化一个新的滑动窗口,此时才服务用户写请求;
步骤(2.3):直到第一个聚合窗口中的所有数据块都已被移动,数据重分布状态切换到初始状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810102893.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种节能灯园排机
 - 下一篇:烷氧基化的胺在改进木材防水性中的应用
 





