论文部分内容阅读
随着信息量的爆炸式增长,信息存储技术显得越来越重要。个人计算机磁盘容量也越来越大,目前几百GB已经比较常见,企业的存储容量更是以较快的速度增长。很多企业要求他们的数据不仅要全面而且还比较可靠,同时应该提供连续的服务能力,因为系统的停机意味着巨大的经济损失。
数据备份、决策支持等很多操作都需要获取存储系统的瞬时状态,简单的方法是停止用户对存储系统的访问,获取当前时刻数据的完整拷贝。获取数据副本往往需要较长时间,这显然是与高可用性的需求是背道而驰的,而且随着存储系统规模越来越大,考虑到磁盘技术的发展趋势,这一矛盾还会更加严重。理想的方式当然是不中断业务处理或有很短的暂停,以在线的方式完成存储系统状态的保存。快照(Snapshot)技术能够较好得满足这些需要。当前工业界主流存储产品几乎都声称具有快照功能。
逻辑卷管理技术LVM是被广泛使用的存储技术,LVM 能够动态增加和减少卷容量,支持条纹化等多种优点,得到了广泛的应用,已成为Unix系统存储管理事实上的标准,主要的Linux发布版本都嵌入了LVM模块。逻辑卷管理器(LVM)也支持快照功能,然而随着存储系统容量越来越大,LVM现有的快照实现方案也体现出一些不足,最明显的就是内存占用过多。
本文设计并实现了基于Linux2.4下LVM1的增强型逻辑卷管理器ELVM。ELVM采用了快照元数据缓存机制,并具有依赖快照和快照自动扩容功能。LVM1的快照采用的是虚拟视图方式,把所有快照元数据均驻留内存,难以满足大容量快照和大量快照并存的需求。本文提出了新的快照元数据的磁盘组织方案和内存组织方案,利用cache技术,在内存仅缓存少量元数据信息,通过cache写回和cache替换保证元数据的一致性和正确访问,极大地降低了快照卷的内存占用。实验表明,通过一些优化手段,元数据缓存方式对源卷、快照卷读写性能影响不大,而对于大容量快照和大量快照并存具有较好地支持。新增的依赖快照和快照自动扩容功能使得快照性能更强,更实用化。