feat(post): Backup compression
This commit is contained in:
parent
438c4f2c33
commit
485083e45f
84
gmi-files/blog/backup-compression.gmi
Normal file
84
gmi-files/blog/backup-compression.gmi
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# Backup compression
|
||||||
|
|
||||||
|
One of those days I was going to double check some information about the backup tool I use (zBackup) when I notice it was not being updated anymore. It still works fine, but I prefer to use an updated tool to avoid any unpatched bugs. Searching for the new options, I ended up with two new candidates: Borg and Restic.
|
||||||
|
|
||||||
|
=> https://github.com/ok-borg/borg Borg
|
||||||
|
=> https://github.com/restic/restic Restic
|
||||||
|
|
||||||
|
They both are deduplication tools, allow encryption, compression and have a check tool to make sure the backup is working. For what I noticed, Restic is better at connecting to different services and Borg is better with local backups, so I chose the last one.
|
||||||
|
|
||||||
|
So far, so good. But my first question was: which compression tool to use? With zBackup I didn't have too many options: either I used LZMA or LZO, so my option was LZMA. But Borg offers not only other tools, but also the compression level and I got myself stuck at this. I couldn't just guess a configuration when I need to backup hundreds of GBs every week. After a quick search, I didn't find any result that would satisfy my inner nerd during vacations: I had to test them! Not all of them, of course. I have other things to do during my vacations, but I wanted to run a few personal tests.
|
||||||
|
|
||||||
|
For the test data, I just pick one of my folders. One that was not so big, but big enough and with different files types to have a realistic sample. The raw folder had about 16.5GB. So, I started creating a simple backup using zBackup to have a reference and here are the approximate results:
|
||||||
|
|
||||||
|
zBackup (LZMA)
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 40 min
|
||||||
|
Test time | 10 min
|
||||||
|
Size | 9.4 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Having that reference, I wanted to know what a fast-archiving option would be and run it using the auto, lz4 option that would only compact compactable files and, if so, using lz4:
|
||||||
|
|
||||||
|
Borg auto-lz4
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 13 min
|
||||||
|
Test time | 6 min
|
||||||
|
Size | 11 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Interesting results: way faster than the original tool but using a little bit more of disk space. Next test: using the auto, zlib 6:
|
||||||
|
|
||||||
|
Borg auto-zlib-6
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 13 min
|
||||||
|
Test time | 5 min
|
||||||
|
Size | 11 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Almost the same result as before. So, I've tried to remove the auto option, making Borg to compact every single file anyway:
|
||||||
|
|
||||||
|
Borg zlib-6
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 18 min
|
||||||
|
Test time | 6 min
|
||||||
|
Size | 11 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
As expected, the compact time were considerably longer, and the size was basically the same. So, my next test would be to increase the compression:
|
||||||
|
|
||||||
|
Borg zlib-9
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 21 min
|
||||||
|
Test time | 7 min
|
||||||
|
Size | 11 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Still no big surprises here. I thought I could have a very small reduction of the backup size, but that's ok. Next test: using a different configuration: zstd 9
|
||||||
|
|
||||||
|
Borg zstd-9
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 15 min
|
||||||
|
Test time | 7 min
|
||||||
|
Size | 9.9 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Now we are talking! A nice compact time with a smaller backup size. To improve it more, I just ran that again but this time, include once more the auto option:
|
||||||
|
|
||||||
|
Borg auto-zstd-9
|
||||||
|
|
||||||
|
```
|
||||||
|
Compact time | 15 min
|
||||||
|
Test time | 3 min
|
||||||
|
Size | 10 GB
|
||||||
|
```
|
||||||
|
|
||||||
|
Something I've also tested in a separate batch was the backup time after a simple update in the file structure. I am going to resume this here to not make this post so long, but not compacting unnecessary files had a HUGE impact for the subsequent backups sets, what makes me just stick to the auto configuration at the end.
|
||||||
|
|
||||||
|
And this was my final configuration: auto, zstd 9, a way fast result than my previous backup tool loosing just a little bit of compression size, what really made me happy at the end of the day. :)
|
@ -1,5 +1,6 @@
|
|||||||
# Bruno Fontes Blog
|
# Bruno Fontes Blog
|
||||||
|
|
||||||
|
=> backup-compression.gmi Backup compression
|
||||||
=> how-to-remain-online.gmi How to remain online when the big services crash
|
=> how-to-remain-online.gmi How to remain online when the big services crash
|
||||||
=> partitions-systemd.gmi Mounting partitions with systemd
|
=> partitions-systemd.gmi Mounting partitions with systemd
|
||||||
=> linux-shell-shortcuts.gmi Linux Shell Shortcuts
|
=> linux-shell-shortcuts.gmi Linux Shell Shortcuts
|
||||||
|
Loading…
Reference in New Issue
Block a user