Intro
VolBack?
What's it?
I started to think about potential sum of volumes of everyday backups.
Backup is a full copy of the system for a unit of time (UT).
We know that backups is one of the most important part in backend of any computer system.
Nevertheless, we know backups have weaknesses... There's only one — duplication. Funny thing is that duplication in the case of backups is essential.
Math section
Basic case
Imagine we have a CRM, which has a lifetime of 3 days.
We need to backup it each day.
- Day 1. We added 100 mb
- Day 2. We added 50 mb
- Day 3. We added 30 mb
What does it mean?
- Backup for day 1: 100 mb
- Backup for day 2: 100 mb + 50 mb =150 MB
- Backup for day 3: 150 mb + 30 mb =180 MB
Nice!
So the total backup volume will be: 100 mb + 150 mb + 180 mb =430 MB.
To handle this calculations I find a mathematical formula for this process.
If:
Where:
- n: quantity of UT (second, hour, day, etc)
- : initial value of volume at first UT
- a: array of a values (additions in volume at each IT)
Special cases
There are special cases of backup volume calculations.
- If n = 1, we don't need a at all. Therefore
- If a is absent, so
- If a is static, so
Development
I will expand this method in case when we don't know additions' values.
Watch the repository https://github.com/ja-proger/VolBack. Now available on Swift
Write down any ideas in the comments below!
Top comments (2)
VolBack is a clean volume-level backup tool. Two design patterns that complement it:
Couple of small notes for anyone running this at small-team scale:
Backup tools like this only shine if the destination is reachable. Three Windows patterns we use:
Veeam / Veeam-style agents need a target they can write to as a UNC path. SMB share on a NAS works, but on flaky links or across site-to-site VPN, the job hangs and you discover it at 3am. We pre-stage a network drive letter so the agent sees a stable mount point.
Restic / Borg / Duplicity are great for block-level dedup but their backup target is typically a local path or rclone-mounted cloud. Mounting rclone as a drive letter on Windows is doable but the FUSE layer eats IOPS — for high-volume nightly backups, run them on Linux.
Don't rely on backup alerts alone — practice a quarterly restore drill to a blank VM. We've seen too many backups that read OK in the UI but restore corrupted because the dedup index is silently broken.
For ops on Windows who need to browse backup shares alongside local disks: ScsDriver