In my previous post, I introduced my homelab mini PC and how I set it up. In this post, I’d like to show how I backup the homelab PC.
3-2-1 rule
Have you heard of 3-2-1 backup rule/best practice? It’s:
- 3 copies, original + 2 backup copies
- 2 different media
- 1 offsite copy
Some people say #2 is irelevent anymore. I’m not sure if having copies both in SSD and HDD matters, either. Anyway, I will make sure one backup copy in an external USB drive and another in cloud to achieve both #3 and #1.
2 different media happens to be satisfied because original is in SSD and the USB drive is HDD.
Backup in Proxmox
Proxmox has Proxmox Backup Server. It has differential backup and dedup features, and looks very good. But I can’t use it because it doesn’t support external USB drive.
So, I will use a simpler Proxmox backup feature. It can only do full backup, but it at least supports compression. It should be sufficient for my need.
Backup to USB drive
I have an old, 1TB USB drive. I think it’s 10 or more years old. I initialized it in exFAT so that Proxmox can access. (It looks like FAT32 can’t handle files that are 2GB or larger.) I need to buy a new SSD external drive this Black Friday to replace this.
- Log in to Proxmox management console > <node> > Shell
mkdir /mnt/bkup
fdisk -l # to lookup path to USB drive; eg, /dev/sdb1
mount -t exfat /dev/sdb1 /mnt/bkup
Then, create a backup job and run it.
- Datacenter > Backup > Add
- General tab > Storage: <bkup> > Schedule: First day of the year 00:00
- > check the VM > Mode: Snapshot
- Retention tab > check Keep all backups > Create
- highlight the new backup job > Run now
When done, unmount the USB drive from Proxmox shell:
sync # just in case
umount /mnt/bkup
We’ve created a 1st backup copy.
Backup to cloud
Next, upload the backup to cloud. I have 500GB (lifetime plan) in pCloud.
For the VM to recognize the USB drive, I need to pass-through mount it to the VM. From Proxmox shell,
lsusb # to see USB drive ID
qm set 100 -usb0 host=174c:5106 # 100 is the VM ID. 174c:5106 is the USB drive ID
Reboot the VM and from terminal,
sudo mkdir /mnt/bkup
sudo fdisk -l # to see the USB drive device name (it was /dev/sdb1 again)
sudo mount -t exfat /dev/sdb1 /mnt/bkup
Then, upload to crypt folder in pcloud with rclone.
cd /mnt/bkup/20251010
sudo ls dump/* > filelist.txt
rclone listremotes
rclone lsd bkup_crypt:/
rclone copy --include-from=filelist.txt . bkup_crypt:/20260718/ --log-file /var/log/rclone/rclone20260718.log --log-level INFO
To see how upload is going,
sudo apt install nethogs
sudo nethogs
tail -f /var/log/rclone/rclone20260718.log
It shows the progress like this every minute:
2026/07/18 16:32:24 INFO :
Transferred: 1.825 GiB / 421.975 GiB, 0%, 3.916 MiB/s, ETA 1d6h31m5s
Checks: 6 / 6, 100%
Transferred: 0 / 1, 0%
Elapsed time: 9m8.4s
Transferring:
* dump/vzdump-qemu-100-2…07_18-11_10_00.vma.zst: 0% /421.975Gi, 3.916Mi/s, 30h31m6s
Before closing the terminal for rclone
C-z # to suspend
bg # make it a background task
disown # detach -> safe to close terminal
When done,
# on Linux guest
umount /mnt/bkup
# on Proxmox shell
qm set 100 -delete usb0
My internet plan is the $35/m one of Starry Internet, and it limits the upload speed to 50Mbps(~=6MB/s), and these days (7/6/2026; updated post) I see about 3MB/s. Isn’t it a bit too slow against the advertised number?
The backup file size has grown from 270GB to 420GB in the past 6 months as I migrated all my photos from Google Photos, which made it almost impossible to upload backup files to 500GB limit.
So, I just bought an additional 1TB as the 4th of July 2026 sale at $199. Now, I can backup to pCloud again. If I think about the recent price jump for SSD/HDD (because of AI), it was a good deal to me. Last year, the minimum (I think) was $279/2TB.