Mon homelab tient sur un Dell Optiplex 3060 Micro qui fait tourner Proxmox VE. C’est minuscule, ça consomme 15W au repos, et ça encaisse une dizaine de LXC sans broncher. Le seul vrai problème : un disque, un point de défaillance.

La parade évidente est le backup. Mais entre “je copie /etc/pve quelque part” et “j’ai un PRA testé”, il y a un monde. Voilà ma version actuelle, qui me semble être un bon compromis effort / fiabilité pour un homelab.

Le setup matériel

  • Source : Optiplex 3060 Micro, SSD NVMe 1To, où tournent les LXC
  • Cible primaire : NAS UGREEN DX4800 Plus en RAID5 (4×8To), branché en 2.5GbE
  • Cible secondaire : disque externe 4To en USB, rotatif (un branché localement, un déposé sur un site distant, swap tous les 15 jours)

L’UGREEN tourne sur DSM-like (UGOS Pro) mais Proxmox Backup Server n’y tourne pas en natif. Du coup PBS tourne dans une VM Debian sur le NAS, avec un share NFS interne pour le stockage.

Le pipeline en pratique

PBS est configuré sur l’Optiplex pour pousser les snapshots vers la VM PBS sur le NAS. Schedule :

  • Quotidien : tous les LXC, rétention 14 jours
  • Hebdomadaire : pareil, rétention 8 semaines
  • Mensuel : pareil, rétention 12 mois

Avec la déduplication de PBS, l’empreinte réelle est ridicule : ~120Go pour ~1To de données dans les LXC, sur l’historique complet.

La règle 3-2-1 en pratique

  • 3 copies : la prod sur l’Optiplex, la sauvegarde sur le NAS, la sauvegarde rotative sur disque externe
  • 2 supports différents : NVMe + HDD
  • 1 copie hors site : le disque rotatif sur un site secondaire

Le swap des disques rotatifs prend 5 minutes : je débranche le disque local, je le dépose au site distant lors du prochain passage, je récupère l’autre, je le branche, et un script lance un rsync depuis PBS. Pas de cloud, pas d’abonnement mensuel.

Test de restauration

Tous les trois mois, je restaure un LXC depuis le backup vers une VM de test sur le NAS, je vérifie qu’il démarre, et que les services tournent. Découverte la dernière fois : Jellyfin avait un cache mal sauvegardé qui le faisait crash au premier lancement. Maintenant le cache est ignoré dans le backup.

C’est ce qu’on apprend en faisant des tests : sans test régulier, un backup c’est juste un fichier qui pèse sur ton stockage.