我正在做什么
我在生产 AWS Linux 服务器上使用 Borg 备份 v1.1.0b6。Borg 旨在基于块、重复数据删除和增量。我也尝试过 borg-linux64 v1.1.6,结果相同。
我的观察
我发现每次运行它时,它似乎都会执行完整备份,而不是获取增量重复数据删除备份。它会创建一个包含源文件夹中所有数据的新文件,并截断所有旧备份文件,而不是为新数据创建新文件并保留包含备份数据的现有文件。
我希望当我运行“修剪”操作时,删除保留计划之外的文件,然后我预计文件系统会发生重大变化。
关键问题
关键问题是我必须每晚将我的整个数据集上传到异地存储。
问题
我是不是用错了?我的假设是否不正确?如何让 Borg 每天为新数据创建一个新文件,而不是将所有旧数据复制到其中?
例子
例如,这里我创建了一个新的备份存储库
/usr/local/bin/borg init /tmp/test -e none
我做了初步尝试
/usr/local/bin/borg create --stats /tmp/test::1 /var/testfiles
创建这些文件
-rw------- 1 root root 17 Jun 27 20:09 1
-rw------- 1 root root 17 Jun 27 20:10 3
-rw------- 1 root root 23842026 Jun 27 20:10 4
-rw------- 1 root root 17 Jun 27 20:10 5
使用此输出
Archive name: 1
Time (start): Wed, 2018-06-27 20:10:45
Time (end): Wed, 2018-06-27 20:10:46
Duration: 0.57 seconds
Number of files: 150
Utilization of max. archive size: 0%
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
This archive: 25.43 MB 24.10 MB 23.84 MB
All archives: 25.43 MB 24.10 MB 23.84 MB
Unique chunks Total chunks
Chunk index: 155 160
我再次运行创建命令,数据目录没有任何变化。请注意,它不是将新块放入新文件,而是删除文件“4”并创建了一个新文件。
/usr/local/bin/borg create --stats /tmp/test::2 /var/testfiles
备份文件夹
-rw------- 1 root root 17 Jun 27 20:09 1
-rw------- 1 root root 17 Jun 27 20:10 3
-rw------- 1 root root 17 Jun 27 20:10 5
-rw------- 1 root root 17 Jun 27 20:11 7
-rw------- 1 root root 23842579 Jun 27 20:11 8
-rw------- 1 root root 17 Jun 27 20:11 9
输出运行 #2
------------------------------------------------------------------------------
Archive name: 2
Time (start): Wed, 2018-06-27 20:11:14
Time (end): Wed, 2018-06-27 20:11:14
Duration: 0.04 seconds
Number of files: 150
Utilization of max. archive size: 0%
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
This archive: 25.43 MB 24.10 MB 460 B
All archives: 50.86 MB 48.19 MB 23.84 MB
Unique chunks Total chunks
Chunk index: 156 320
------------------------------------------------------------------------------
然后,我将一个 1MB 的文件添加到备份文件夹并再次运行备份。同样,数据为“8”的文件已被删除,并生成了新文件“12”。
/usr/local/bin/borg create --stats /tmp/test::3 /var/testfiles
备份文件夹
-rw------- 1 root root 17 Jun 27 20:09 1
-rw------- 1 root root 17 Jun 27 20:10 3
-rw------- 1 root root 17 Jun 27 20:10 5
-rw------- 1 root root 17 Jun 27 20:11 7
-rw------- 1 root root 17 Jun 27 20:11 9
-rw------- 1 root root 17 Jun 27 20:15 11
-rw------- 1 root root 24916076 Jun 27 20:15 12
-rw------- 1 root root 17 Jun 27 20:15 13
输出运行 #3
------------------------------------------------------------------------------
Archive name: 3
Time (start): Wed, 2018-06-27 20:15:34
Time (end): Wed, 2018-06-27 20:15:34
Duration: 0.06 seconds
Number of files: 151
Utilization of max. archive size: 0%
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
This archive: 26.61 MB 25.16 MB 1.07 MB
All archives: 77.47 MB 73.35 MB 24.91 MB
Unique chunks Total chunks
Chunk index: 159 481
------------------------------------------------------------------------------
我期望文件看起来更像这样 - 备份一创建包含 23MB 数据的文件“4”,第二次备份不执行任何操作,第三次备份添加大约 1MB 的额外数据,这些数据进入新文件。
-rw------- 1 root root 17 Jun 27 20:09 1
-rw------- 1 root root 17 Jun 27 20:10 3
-rw------- 1 root root 23842026 Jun 27 20:10 4
-rw------- 1 root root 17 Jun 27 20:10 5
-rw------- 1 root root 17 Jun 27 20:11 7
-rw------- 1 root root 17 Jun 27 20:11 9
-rw------- 1 root root 17 Jun 27 20:15 11
-rw------- 1 root root 1000000 Jun 27 20:15 12
-rw------- 1 root root 17 Jun 27 20:15 13
答案1
您所看到的就是 Borg 压缩段的效果。
您的测试备份大小较小,但会产生相对较大的影响 - 如果您使用更多数据(例如 10GB),则影响(相对)就不会那么大。
我正在致力于改善压缩行为,你可以在那里看到它: