快速访问和备份数百万个文件的选项
从有类似问题的人那里借钱
这听起来很像是USENET新闻服务器和缓存Web代理所面临的一种更简单的问题:数亿个随机访问的小文件。您可能希望从他们那里得到一些提示(除非他们通常不必进行备份)。
http://devel.squid-cache.org/coss/coss-notes.txt
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=4074B50D266E72C69D6D35FEDCBBA83D?doi=10.1.1.31.4000&rep=rep1&type=pdf
显然,循环新闻文件系统的循环性质与您无关,但是具有多个磁盘文件/设备(带有打包映像)和用户提供的信息来查找位置信息的快速索引的较低层概念非常合适。
专用文件系统
当然,这些只是与人们谈论的在文件中创建文件系统并通过环回挂载而讨论的概念类似的概念,只是您需要编写自己的文件系统代码。当然,由于您说的系统是只读的,因此实际上可以将磁盘分区(或lvm分区,以便灵活调整大小)专用于此目的。当您要备份时,以只读方式挂载文件系统,然后复制分区位。
LVM
我在上面提到LVM对于允许动态调整分区大小很有用,这样您就无需备份大量的空白空间。但是,当然,LVM具有其他可能非常适用的功能。特别是“快照”功能,可让您及时冻结文件系统。任何意外事件rm -rf
或任何不会干扰快照的事件。根据您要尝试执行的操作,这可能足以满足您的备份需求。
RAID-1
我确定您已经熟悉RAID,并且可能已经将其用于可靠性,但是RAID-1也可以用于备份,至少在使用软件RAID的情况下(可以将其与硬件RAID一起使用,但是实际上可靠性较低,因为可能需要读取相同的模型/修订版控制器。其概念是,创建一个RAID-1组时,其磁盘数量要比出于正常可靠性需要实际需要连接的磁盘数量多(例如,如果您使用带有两个磁盘的软件RAID-1,或者是一个较大的磁盘和一个硬件,则为第三块磁盘,具有较小磁盘的RAID5,在硬件RAID-5之上具有软件RAID-1)。需要备份时,请安装磁盘,请mdadm将该磁盘添加到raid组,等待直到表明完整性,然后选择进行验证清理,然后取出磁盘。当然,