论文部分内容阅读
随着信息技术的发展,信息的载体——数据,越来越成为企业的核心。数据的丢失将会对企业造成致命的打击,数据的安全性对一个企业来说显得尤为重要。预防数据丢失最有效的手段就是数据备份。备份的数据必须要保证其一致性,即在备份期间,原数据不能进行更新操作,否则备份出来的数据几乎没有任何意义。要解决数据备份一致性的问题,传统的备份方式是将待备份数据设为只读,再进行备份,这种方式无疑会严重影响企业的业务。而使用Linux快照技术可以快速获得一致性备份数据,快照时间极短,几乎不会对上层应用造成影响。但是Linux快照技术的设计倾向于每个原始卷对应一个快照卷,如果进行多次快照,对各个快照卷也是进行独立处理的。这样,对原始卷进行写操作时,就需要更新多个甚至全部快照卷上的对应数据块,增加了存储空间消耗,降低了原始卷的写性能。本文基于Linux源码,针对Linux快照在多快照卷的应用中,快照卷存储效率低下,原始卷写性能差的特点,设计并实现了同源快照迭代存储。该存储算法利用快照卷中数据的相关性,重新组织了存储方式,有效降低了快照卷的存储空间消耗,大幅提升了原始卷的写性能。但该算法增加了快照卷之间的相关性,一个快照卷失效,与之相关的快照卷也会同时失效,降低了数据的安全性。针对该问题,设计并实现了快照卷容量低自动报警功能,以及将系统安排运行在RAID5上。前者可以在快照卷容量低于某个阈值时报警,提醒管理员通过LVM的扩容命令扩大快照卷容量,有效避免快照卷空间耗尽而导致的快照卷失效。后者提高系统读写性能,更重要的是提供了一个磁盘发生物理故障时可恢复的容错功能。这两者可以有效弥补改进的存储方式引起的安全性降低的问题。通过详细的测试方案,对整个系统进行测试,测试结果显示系统磁盘I/O速度提高,且系统具有容错功能。使用同源快照迭代存储快照功能时,可以有效降低快照卷存储空间消耗,提高原始卷写性能。在极端情况下,当创建5个同源快照卷时,写原始卷的性能可以提高到2.59倍。快照卷容量低于某个阈值时,可以自动报警,提醒管理员进行扩容操作,从而避免快照卷存储空间耗尽,快照功能失效。