基本环境:在Linux环境中linux 下载工具,运行着NFS服务器,其中存有海量的小文件(如图片、文本等),共约50TB。
目标任务:对这些海量小文件执行高速备份
问题分析:如果用常规的文件拷贝命令进行备份,那么,由于NFS文件系统在具体应用场景中的具体特性(如,存有海量的小文件),文件复制的效率较低,比如,某一次实际的测试结果是:从NFS文件服务中复制300GB的数据到USB硬盘,用时达16小时。由此推断,复制所有50TB的数据需要111天,这当然是不可接受的。如果使用操作系统原生的工具去执行,无论使用何种参数,都没有得到理想的结果。
解决思路:1)摒弃基于文件系统的备份方法linux硬盘备份工具,采用基于块(Block)的备份方法。Clonezilla仅在硬盘中保存和恢复使用过的块,这极大地提高了克隆效率。说明:扇区是磁盘上最小的存储单元linux通配符,块是由单个或者多个扇区组成的逻辑数据结构。2)可同时执行多个备份,亦可同时执行多个恢复;
采用软件:
采用开源软件Clonezilla SE (server edition),其官方网站为:
下载链接:
Live版:
SE版:
CloneZilla是一款中国台湾开发的磁盘备份与恢复软件,CloneZilla的Live版可针对单台主机进行操作,而使用Clonezilla lite server和SE,则可以通过网络对几十台主机同时进行备份。
方法简述:将NFS上的海量文件目录加以妥善分类和梳理后,分别将其挂载到预先建立好的主机(可以是虚拟机)上,具体地,使用类似于如下格式的命令即可完成:mount -F nfs NFS_IP:/images/001 /backup/images/001......mount -F nfs NFS_IP:/texts/001 /backup/texts/001......
启动Clonezilla服务,如下:
在执行备份操作时,选择执行“device-device work directly from a disk or partition to a disk or partition”(如下图所示)linux硬盘备份工具,同时启动若干主机进行备份,这样,若干个备份操作便得以同时进行,从而实现了海量小文件的高速备份。