论文部分内容阅读
灾难备份对于重要系统具有不可替代的重要性。在9?11事件后,世贸大厦中约有40%的公司倒闭,原因就是支撑其赖以生存的重要数据发生了丢失。然而由于国内尚无自己的容灾产品,并且国外灾难备份技术及其相关产品价格异常昂贵,以致我国党政机关、军队、企事业单位的网络系统几乎没有灾难备份系统。一旦发生灾难,后果不堪设想。我国在备份技术方面的研究才刚刚起步,政府也正在加大对灾备产业的投入。因此,研制具有自主知识产权的备份技术及其相关产品具有重大的政治意义以及广阔的应用前景。对于已有的备份技术,从备份策略上看,可以分为完全备份和增量备份;从备份的实现层次看,可以分为逻辑层备份和物理层备份;从备份的时间上看,可以分为同步备份和异步备份。本文提出了同步网络备份系统(SNB),其属于物理层次的同步备份。SNB系统工作在Linux内核的设备驱动层入口处,对应用程序透明。其首先将每一个要写入设备的记录块通过网络传送到远程进行备份,然后才将记录块写入本地设备,从而实现了数据的同步备份。实验结果表明,当带宽达到100Mbps时,SNB系统可获得较高的备份效率。在存储时间上,同步网络备份与同步本地存储相比只有较小的延时。在启用同步备份功能后,用户在应用层存储文件时,几乎感觉不到太大的差别,而数据已经备份到了远程。具体来说,本文的主要工作有:分析了国内外备份技术的研究现状。深入分析了Linux2.4内核源码,对内核的存储机制做出了整理。本文将<WP=3>Linux内核的存储过程归纳为3个阶段:第1阶段,数据写入记录块缓冲区;第2阶段,内核线程bdflush将“脏” 记录块提交给磁盘;第3阶段,磁盘完成写入工作后向内核发出中断。基于Linux内核,实现了一种工作在物理层次的同步网络备份系统SNB。默认情况下,用户进程完成存储过程第1阶段后即返回用户空间,而第2、3阶段均为异步的操作。本文针对内核的ext2文件系统层做出修改,使得备份数据在完成第1阶段的写入工作后并不立即返回,而是再进入第2阶段以触发底层对记录块的网络传输。SNB系统在Linux操作系统内核中运行,对应用程序透明。SNB系统对内核的改动不影响内核的原有功能,特别是不影响非备份数据的存储效率。SNB系统实现了高效的备份性能和高的系统吞吐率。