Fête Btrfs 2: sauvegarde à la vitesse de la lumière (sans rsync)

Publié par TheJoe sur

Temps de lecture estimé: 2 minutes

Dans le post précédent, nous avons vu comment rendre notre système résilient “sur place” en utilisant RAID et instantané. Mais si le PC explose ou si le serveur est volé, les instantanés locaux sont inutiles. Aujourd'hui, nous faisons le saut en qualité: impariamo a usare Btrfs Send e Receive.

Dimenticate rsync e le sue scansioni infinite dei file. Con Btrfs, il backup diventa un flusso di dati puro, trasferendo solo i blocchi che sono effettivamente cambiati dall’ultima volta.

1. La logique: perché send/receive è meglio

Il limite di rsync è che deve confrontare le date e le dimensioni (o i checksum) di ogni singolo file tra sorgente e destinazione. Se hai milioni di file, perdi minuti solo per capire cosa trasferire. Btrfs, essendo un file system copie sur écriture, tiene già traccia di ogni blocco modificato. La commande send estrae queste differenze e le “sauver” verso il comando receive, che le scrive sulla destinazione.

Requisito fondamentale: Entrambi i supporti (sorgente e destinazione) devono essere formattati in Btrfs.

2. Pratica: backup su disco esterno

Supponiamo di voler fare il backup della nostra /home su un disco USB. Prima creiamo uno snapshot di sola lettura (indispensabile per il send):

# Crea lo snapshot di sola lettura
sudo btrfs subvolume snapshot -r /home /home/backup_temp

Ora inviamo tutto al disco esterno montato in /mnt/backup_disk:

# Il primo invio (Full Backup)
sudo btrfs send /home/backup_temp | sudo btrfs receive /mnt/backup_disk/

Dalla prossima volta, potremo fare l’invio incrémentale, specificando lo snapshot precedente come base. Sarà una questione di millisecondi.

3. Backup remoti via SSH: efficienza massima

Questa è la parte che preferisco. Possiamo inviare il flusso di dati attraverso un tunnel SSH. Ideale per chi ha connessioni fibra con upload non esagerato, perché invierai solo i pochi MB modificati durante la giornata.

# Invia lo snapshot a un server remoto
sudo btrfs send /home/backup_oggi | ssh utente@server "sudo btrfs receive /backup/remoto"

I dati arrivano a destinazione esattamente come sono partiti, con l’integrità garantita dai checksum nativi del file system.

Regardez ici:  Tilda: disparition du terminal

4. Automazione: non farlo a mano (usa Btrbk)

Siamo onesti: nessuno si ricorda di lanciare questi comandi ogni giorno. Per questo esiste Btrbk. È uno script in Perl, leggerissimo, che si configura con un semplice file di testo in /etc/btrbk.conf.

Gli dici quale subvolume monitorare, quante copie tenere (c'est. 7 giornaliere, 4 Hebdomadaire) e dove inviarle. Lui si occupa di creare gli snapshot, fare il send/receive e cancellare quelli vecchi.

Esempio veloce di config btrbk:

volume /mnt/data
  subvolume home
    target send-receive /mnt/backup_esterno
    snapshot_preserve_min 2d
    snapshot_preserve 7d

5. Disaster recovery: Le “botte” dal backup

Cosa succede se il disco principale muore? Se hai usato Send/Receive su un altro disco interno o esterno, i tuoi dati sono già in formato subvolume. Non deviestrarreun archivio .tar o .zip. Ti basta montare il backup e, se necessario, usarlo come nuova /home modificando semplicemente /etc/fstab. È il ripristino più veloce del mondo.

Attention: Ricorda che gli snapshot usati come base per l’incrementale (il parametro -p nel send) devono esistere su entrambi i lati. Se cancelli lo snapshot “père” dal disco di backup, il prossimo incrementale fallirà e dovrai rifare un invio completo.

Conclusion

Btrfs Send/Receive trasforma il backup da un compito noioso a un processo invisibile e istantaneo. Se hai seguito la guida precedente e hai già i tuoi subvolume pronti, prendi un vecchio disco, formattalo Btrfs e inizia aspararei tuoi dati. La tranquillità di sapere che il tuo backup è un’immagine speculare e verificata dei tuoi dati non ha prezzo.

Hai dubbi su come configurare Btrbk o su come gestire i permessi SSH? Scrivilo nei commenti!


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.