论文部分内容阅读
自从DavidPatterson等人在1988年提出RAID(RedundantArraysofInexpensiveDisks,廉价冗余磁盘阵列)概念以来,RAID技术不断发展,并被广泛应用于当前的大型存储系统。随着信息量的爆炸性增长和新的多媒体应用的出现,往往出现磁盘阵列系统存储能力不足的情况,传统的采用更换新的磁盘阵列的方式往往导致系统服务的中断,而且这种方式代价较高。因此要求磁盘阵列系统提供在线扩展磁盘的功能。磁盘阵列系统如何提供高效、快速而又对正常服务影响较小的在线扩展功能,已经成为学术界和工业界研究的重要课题。
本文首先分析了磁盘阵列扩展系统所要达到的目标,然后基于linux平台,设计并实现了软件RAID在线扩展系统——expRAID。该系统基于最新版linux内核态程序,在不影响RAID系统正常服务的情况下,提供了在线添加任意数量磁盘的功能;为了保证RAID固有的容错能力,expRAID实现了RAID5扩展中降级重构的功能。经过严格的性能和可靠性的测试,本文实现的系统完全能够满足当前企业级应用的需要。
现有RAID扩展产品大都采用平凡方法,即目标RAID保持原RAID数据布局方式不变。本文分析了平凡方法的优点和不足,并总结了已有非平凡方法的特点,提出了RAID扩展目标数据布局的5条评价标准。根据标准,本文对“新增空间散布”扩展方法进行了评价,并且提出了另一种高效的磁盘阵列扩展方法——“分区扩展”方法,运用5条标准对此方法进行了分析与评价。
磁盘阵列扩展系统最核心的问题还是性能问题。目前还没有发现对磁盘阵列在线扩展的数学模型分析方法。本文的另一个工作就是采用建模分析的方法对软件RAID以及RAID扩展系统的性能进行了评价。本文针对磁盘阵列系统读写流程的特点选择了闭合排队网络的建模方法,并采用MVA方法对模型的性能进行了计算。针对RAID扩展问题,本文对普通RAID排队网络性能模型进行了推广,提出了采用多类顾客排队网络(MCQN)进行建模的方法,使用多类MVA分析方法进行了理论计算。通过将理论计算结果与实际系统的性能测试结果进行比较可以发现,本文建立的模型基本上反映了系统性能在不同负载下的变化趋势。运用这种方法,通过对模型的分析,可以发现系统的瓶颈资源,预测系统某个部件性能的变化对整个系统的影响程度。
总之,研究磁盘阵列扩展问题的目标是提供高性能,高可靠性和可用性的实现方法,今后的主要工作还是寻找更高效的在线扩展算法,降低RAID扩展给正常服务造成的额外负载。