从大型备份还原一些小文件需要很长时间

问题症状

从大文件系统备份(例如,包含1 TB数据的目录)中恢复小文件或目录(例如,只有几兆字节)需要很长时间。

问题说明

Amanda以两种常规映像格式之一存储文件系统备份:

  • UNIX / Linux文件系统,NFS和CIFS备份是 tar 档案,通常是GNU tar。
  • Windows NTFS备份基于 ZIP64 格式。

无论是还原整个图像还是仅还原选定的文件/目录,两种格式都可以从映像的开头开始并依次流式传输来恢复。 因此,还原文件的时间可以类似于创建备份映像所花费的时间。

要仅还原选定的文件, tar 否则Zmanda Windows客户端仍必须始终从头到尾开始浏览整个映像,并在找到文件时还原它们。

分辨率

为了减少所选文件的还原时间,必须减少备份时间。 一种方法是将其拆分为多个较小的对象,以备份原始较大对象的不同部分。

考虑以下示例:

$ ls /big/data
dir1/
dir2/
largedir1/
largedir2/
file1
file2
  1. 为“创建备份对象 /big/data”,并排除大型子目录(“./largedir1“和” ./largedir2”)。 请参阅以下文档以获取有关排除语法的详细信息:

    http://docs.zmanda.com/Project:Amanda_Enterprise_3.3/ZMC_Users_Manual/Backup_What#Exclude_Specifications
     
  2. 将每个子目录备份为一个单独的对象:
    • / big / data / largedir1
    • / big / data / largedir2
  3. 或(仅限UNIX / Linux,NFS和CIFS)创建具有不同别名的多个/ big / data备份对象(Backup| What > Advanced Options > Alias),并使用 exclude 和 include 属性。 的 exclude 可以在中设置属性 Backup| What,但 include 属性必须手动添加到“/etc/amanda/<BackupSet>/disklist.conf “ 文件。 请参阅以下文章以获取更多信息:

    http://wiki.zmanda.com/index.php/How_To:Split_DLEs_With_Exclude_Lists

通过将大对象拆分为较小的对象并从较小的对象还原,Amanda可以流式传输较少的数据以进行还原过程。