Skip to content

Backup strategy for 10 cheap VPS spread across 5 continents?

VPS Hosting by nerdbann 24 replies 2.7K views
#11

pieter_rtm said:
Your TTL issue is not propagation. It is your authoritative server.
You were right. My secondary NS at the Sao Paulo no-name was serving stale zone data. Fixed the serial and now both resolvers agree. Always DNS, even when it looks like DNS.

Back on topic: the pull vs push debate. I am leaning push with restic after reading this thread. The TOS angle from @torontofields worries me though.

9 #12

nerdbann said:
The TOS angle from @torontofields worries me though.
To be clear, I am not saying you cannot back up your own data. I am saying "backup server as a service for third parties" is a different TOS bucket than "I back up my own ten boxes." Contabo section 7.3 targets scraping and aggregation businesses, not personal automation. But if your backup target is itself a Contabo VPS and you are pulling 500GB/month into it, that is worth a support ticket to confirm.

OVHcloud storage VPS terms explicitly allow backup workloads — I have that in writing from 2023: https://www.ovhcloud.com/en/vps/

#13

torontofields said:
OVHcloud storage VPS terms explicitly allow backup workloads.
Good data point. I recommended HostHatch storage because their storage VPS line is built for this, but OVHcloud storage VPS is a solid alternative if you are already in their ecosystem.

For the cron vs systemd timer question nobody asked: systemd timers give you `OnFailure=` alerting natively. Cron needs a wrapper. With 10 nodes, you want the failure path to be automatic.

It's always DNS. Always.
#14

FlowSana said:
For the cron vs systemd timer question nobody asked: systemd timers give you `OnFailure=` alerting natively.
I don't know systemd timers ! I use cron since 2008 and I am afraid to change ! But you are right, when cron fail I don't know until I check manually ...

Actually I will try restic. Where is good tutorial for beginner ?

6 #15

MarseilleMee said:
What bandwidth quota does the no-name sao paulo box have
I am not the OP but I had a box in Sao Paulo once. The provider was UOL HOST, 200GB monthly, throttled to 10Mbps after. Avoid. Vultr Sao Paulo is better if you need actual bandwidth.

OP if your no-name is UOL or similar, push backups will hurt. Pull lets you control when the pain happens.

#16

MarseilleMee said:
Where is good tutorial for beginner ?
The restic documentation itself is solid. Start with `restic init` and `restic backup`, ignore everything else until that works. For systemd timers, Arch Wiki has the clearest explanation even if you run Debian.

nerdbann said:
I am leaning push with restic
If you go push, consider a restic REST server rather than S3-compatible. S3 signatures are a pain to debug across time zones. REST server gives you immediate error messages. I used https://restic.net for the docs.

Containers before it was cool
#17

Debian stable here. restic is in backports, not stable. If you want stable-only, borg 1.2.4 is in bookworm and works fine. I run borg to a Hetzner Storage Box, 500GB for 3 EUR. No egress charges because Hetzner internal traffic is free if your source is Hetzner cloud.

But OP has five providers, so internal-free does not help.

declarative, reproducible, indescribably good
#18

This thread needs more ZFS. Send incremental snapshots with `zfs send`, receive with `zfs receive`. Native compression, native encryption, point-in-time recovery that actually means something.

Yes, you need a ZFS target. Yes, that limits your providers. Hetzner and OVHcloud both let you run ZFS on dedicated or storage instances. Vultr block storage does not expose ZFS directly, you are stuck on ext4.

I run ZFS send to a Hetzner Storage Box mounted via SSHFS. It is weird but it works. Snapshots every 15 minutes, retained for a month.

zfs send | zfs receive. repeat.
#19

steveipw said:
Hetzner Storage Box mounted via SSHFS
SSHFS for ZFS send? That is cursed. I love it.

I run Docker on all ten of my nodes and use duplicati in a container for push backups. Web UI, schedules, notifications to Discord. Not as efficient as restic but I can delegate it to people who do not know SSH.

Downside: duplicati's database gets corrupted if you look at it wrong. I have rebuilt mine four times.

my cloud. my rules. my 3AM alerts.
#20

Following this thread from Perth. I have three VPS on Vultr Sydney, Hetzner Singapore, and Contabo Sydney. The Contabo to Hetzner path is painful, 150ms and variable loss. Push backups stall, pull is worse.

I solved it with `mosh` for interactive and `rsync --partial` for bulk, but restic's retry logic handles the stalls better than raw rsync. restic 0.16+ has much better resume — I use https://restic.net for that.

Post a reply

You need an account to reply. Log in or register to join the conversation.

Post reply Preview Save draft