Btrfs

Come eseguire il backup delle istantanee Btrfs su unità esterne

Come eseguire il backup delle istantanee Btrfs su unità esterne

Per impostazione predefinita, puoi memorizzare le istantanee che prendi dei tuoi sottovolumi Btrfs nello stesso filesystem Btrfs, ma non è possibile memorizzare le istantanee di un filesystem Btrfs direttamente su un altro filesystem Btrfs. Tuttavia, il filesystem Btrfs fornisce gli strumenti necessari per eseguire il backup delle istantanee di un filesystem Btrfs su un altro filesystem Btrfs. Questo articolo mostra come eseguire il backup degli snapshot Btrfs su un filesystem Btrfs esterno su un'unità esterna.

Prerequisiti

Per provare gli esempi inclusi in questo articolo, è necessario soddisfare i seguenti prerequisiti:

Ho l'hard disk da 20 GB, sdb, sulla mia macchina Ubuntu. Ho creato due partizioni, sdb1 e sdb2, su questo disco rigido.

$ sudo lsblk -e7

Nota: Il tuo disco rigido o SSD avrà un nome diverso dal mio, così come le partizioni. Quindi, assicurati di sostituire questi nomi con i tuoi d'ora in poi.


Creerò filesystem Btrfs sul sdb1 e il sdb2 partizioni. Le istantanee create sul filesystem Btrfs (sdb1) verrà eseguito il backup nel filesystem Btrfs creato su sdb2 partizione. Il filesystem Btrfs creato su sdb2 partizione fungerà da unità esterna. Puoi anche utilizzare una chiavetta USB o un disco rigido esterno; assicurati di formattarlo con il filesystem Btrfs.

Per assistenza con l'installazione del filesystem Btrfs in Ubuntu, consulta il mio articolo Installa e usa Btrfs su Ubuntu 20.04 LTS.

Per assistenza con l'installazione del filesystem Btrfs in Fedora, consulta il mio articolo Installa e usa Btrfs su Fedora 33.

Creazione di file system Btrfs richiesti

formatterò entrambi sdb1 e sdb2 partizioni come Btrfs. userò il sdb1 partizione per la memorizzazione dei dati e delle istantanee Btrfs. userò il sdb2 partizione per il backup delle istantanee del filesystem Btrfs creato sul sdb1 partizione.

Per creare un filesystem Btrfs sul sdb1 partizione e assegnagli i dati dell'etichetta del filesystem, esegui il seguente comando:

$ sudo mkfs.btrfs -L dati /dev/sdb1

Ora dovrebbe essere creato un filesystem Btrfs su sdb1 partizione.

Per creare un filesystem Btrfs sul sdb2 partizione e assegnagli le istantanee dell'etichetta del filesystem, esegui il seguente comando:

$ sudo mkfs.btrfs -L snapshot /dev/sdb2

Ora dovrebbe essere creato un filesystem Btrfs su sdb2 partizione.

Crea le directory /dati e /istantanee per il montaggio del sdb1 e sdb2 partizioni, rispettivamente, come segue:

$ sudo mkdir -v /dati,istantanee

Monta il filesystem Btrfs che hai creato sul sdb1 partizione nella directory /data, come segue:

$ sudo mount /dev/sdb1 /data

Allo stesso modo, monta il filesystem Btrfs che hai creato sul sdb2 partizione sul /istantanee rubrica, come segue:

$ sudo mount /dev/sdb2 /snapshots

Come puoi vedere nello screenshot qui sotto, entrambi i filesystem Btrfs (sdb1 e sdb2 partizioni) sono stati montati correttamente.

$ df -h -t btrfs

Scattare istantanee di un filesystem Btrfs

In questa sezione creeremo il progetto fittizio web1 sul /data/projects/web1 Btrfs sottovolume. Scatteremo un'istantanea di quel sottovolume in questa sezione, così come alcune altre istantanee nelle sezioni successive di questo articolo.

Per prima cosa, crea la nuova directory /dati/progetti, come segue:

$ sudo mkdir -v /dati/progetti

Quindi, crea il nuovo sottovolume web1 nel directory /dati/progetti, come segue:

$ sudo btrfs subvolume create /data/projects/web1

Infine, crea il nuovo indice del file.html in /dati/progetti/web1 sottovolume con l'editor di testo nano, come segue:

$ sudo nano /data/projects/web1/index.html

Digita le seguenti righe di codice nell'indice.file html:




Sito dimostrativo



Ciao mondo




Una volta terminato, premere <Ctrl> + X seguito da e <accedere> per salvare il indice.file html.

Allo stesso modo, crea il nuovo file stile.css nel /data/progetti/sottovolume web1 come segue:

$ sudo nano /data/projects/web1/style.css


Digita le seguenti righe di codice nel stile.css file:

h1
colore: verde;

Una volta terminato, premere <Ctrl> + X seguito da e <accedere> per salvare il stile.css file.

Ora il /data/progetti/sottovolume web1 contiene il indice.html e stile.file css.

$ ls -lh /dati/progetti/web1

Manterremo tutte le istantanee di questo filesystem Btrfs nel /dati/.istantanee directory.

Per prima cosa, crea il /dati/.istantanee directory con il seguente comando:

$ sudo mkdir -v /data/.istantanee

Quindi, crea l'istantanea di sola lettura /dati/.istantanee/web1-2020-12-30 del /data/progetti/sottovolume web1 con il seguente comando:

$ sudo btrfs subvolume snapshot -r /data/projects/web1 /data/.istantanee/web1-2020-12-30

Come puoi vedere, la nuova istantanea /dati/.istantanee/web1-2020-12-30 è stato creato.

$ sudo btrfs sottovolume elenco /dati

Backup delle istantanee su un'unità esterna

Per eseguire il backup dell'istantanea /dati/.istantanee/web1-2020-12-30 su un altro filesystem Btrfs (unità esterna sdb2, in questo caso) montato sul /istantanee directory, eseguire il seguente comando:

$ sudo btrfs send /data/.istantanee/web1-2020-12-30 | sudo btrfs riceve /snapshots

L'istantanea /dati/.istantanee/web1-2020-12-30 dovrebbe essere eseguito il backup sul filesystem Btrfs esterno (sdb2) montato sul /istantanee directory.

Come puoi vedere, il nuovo sottovolume web1-2020-12-30 è stato creato sul filesystem Btrfs esterno.

$ sudo btrfs subvolume list /snapshots

Il istantanea web1-2020-12-30 dovrebbe avere gli stessi file/directory come la /dati/.istantanee/web1-2020-12-30 istantanea.

$ albero -a /snapshot

È possibile ottenere ulteriori informazioni sull'istantanea di cui è stato eseguito il backup /snapshosts/web1-2020-12-30 come segue:

$ sudo btrfs subvolume show /istantanee/web1-2020-12-30

Backup incrementale delle istantanee su un'unità esterna

Se ci sono molti file nelle istantanee di cui eseguire il backup su un'unità esterna, i backup incrementali ti aiuteranno ad accelerare l'operazione di backup. In questo caso, Btrfs aggiornerà solo i file che sono cambiati dall'ultima istantanea e copierà i nuovi file che non erano disponibili nell'ultima istantanea.

In questa sezione, ti mostrerò come eseguire backup incrementali di snapshot Btrfs su filesystem Btrfs esterni.

Per prima cosa, apri il indice.file html dal /data/progetti/sottovolume web1, come segue:

$ sudo nano /data/projects/web1/index.html

Apportare le modifiche desiderate al indice.file html. Una volta terminato, premere <Ctrl> + X seguito da e <accedere> per salvare il indice.html file.

Scatta una nuova istantanea di sola lettura del /data/progetti/sottovolume web1, come segue:

$ sudo btrfs subvolume snapshot -r /data/projects/web1 /data/.istantanee/web1-2020-12-31

Come puoi vedere, la nuova istantanea /dati/.istantanee/web1-2020-12-31 del /data/progetti/sottovolume web1 è stato creato.

$ sudo btrfs sottovolume elenco /dati

Ora siamo pronti per eseguire un backup incrementale.

Per eseguire un backup incrementale, avrai bisogno di un'istantanea comune dei filesystem Btrfs di origine e di destinazione (unità esterna). L'istantanea comune è solitamente l'ultima istantanea di un sottovolume Btrfs. Quando si acquisisce una nuova istantanea sul file system Btrfs di origine, la nuova istantanea viene confrontata con l'ultima istantanea (disponibile sia sul file system Btrfs di origine che su quella di destinazione) del file system Btrfs di origine. Btrfs calcolerà la differenza e invierà solo i dati richiesti al filesystem Btrfs di destinazione (l'unità esterna).

Ad esempio, per eseguire un backup incrementale del /dati/.istantanee/web1-2020-12-31 istantanea, è necessario specificare lo snapshot genitore (l'ultimo snapshot disponibile sia sul filesystem Btrfs di origine che su quello di destinazione), /dati/.istantanee/web1-2020-12-30, anche.

Un backup incrementale del /dati/.istantanee/web1-2020-12-31 l'istantanea può essere portata su un filesystem Btrfs esterno, come segue:

$ sudo btrfs send -p /data/.istantanee/web1-2020-12-30 /data/.istantanee/web1-2020-12-31 | sudo btrfs riceve /snapshots

Un backup incrementale del /dati/.istantanee/web1-2020-12-31 dovrebbe essere scattata un'istantanea.

Come puoi vedere, il web1-2020-12-31 istantanea è stato eseguito il backup sul filesystem Btrfs esterno montato su /istantanee directory.

$ sudo btrfs subvolume list /snapshots

Come puoi vedere nello screenshot qui sotto, le modifiche che hai apportato al indice.file html sono disponibili in web1-2020-12-31 istantanea di cui è stato eseguito il backup sul filesystem Btrfs esterno.

$ cat /istantanee/web1-2020-12-31/index.html

Allo stesso modo, puoi eseguire tutti i backup incrementali delle tue istantanee che desideri.

Ti mostrerò come eseguire un backup incrementale ancora una volta. Non mi prenderò il tempo di spiegarlo di nuovo. Invece, ti mostrerò solo il processo per chiarezza.

Apri il indice.file html dal /data/progetti/sottovolume web1, come segue:

$ sudo nano /data/projects/web1/index.html

Apportare le modifiche desiderate al indice.file html. Una volta terminato, premere <Ctrl> + X seguito da e <accedere> per salvare il indice.file html.

Scatta una nuova istantanea di sola lettura del /data/progetti/sottovolume web1, come segue:

$ sudo btrfs subvolume snapshot -r /data/projects/web1 /data/.istantanee/web1-2020-12-31_2

Eseguire un backup incrementale del /dati/.istantanee/web1-2020-12-31_2 istantanea a un filesystem Btrfs esterno, come segue:

$ sudo btrfs send -p /data/.istantanee/web1-2020-12-31 /data/.istantanee/web1-2020-12-31_2 | sudo btrfs riceve /snapshots

Nota: Ora, l'istantanea principale a cui /dati/.istantanee/web1-2020-12-31_2 istantanea sarà confrontato è /dati/.istantanee/web1-2020-12-31.

Come puoi vedere, il web1-2020-12-31_2 è stato eseguito il backup dell'istantanea sul filesystem Btrfs esterno montato sul /istantanee directory.

$ sudo btrfs subvolume list /snapshots

Come puoi vedere nello screenshot qui sotto, le recenti modifiche apportate al indice.file html sono disponibili su web1-2020-12-31_2 istantanea backup nel filesystem Btrfs esterno.

$ cat /istantanee/web1-2020-12-31_2/index.html

Mantenere le cose pulite

Se esegui frequentemente il backup delle tue istantanee Btrfs, ti ritroverai con molte istantanee e potrebbe diventare difficile gestirle. Fortunatamente, puoi rimuovere qualsiasi istantanea dal filesystem Btrfs.

Se stai utilizzando un'unità esterna abbastanza grande per conservare i backup delle istantanee Btrfs, puoi conservare alcune istantanee sul tuo filesystem Btrfs ed eseguire il backup di tutte le istantanee sull'unità esterna.

Se stai utilizzando un'unità esterna più piccola, puoi mantenere selettivamente il backup solo delle istantanee più importanti sull'unità esterna.

Per eseguire il backup delle tue istantanee Btrfs, devi conservare almeno l'ultima istantanea su entrambi i sorgenti (/dati/.istantanee) e la destinazione (/snapshots - unità esterna) File system Btrfs. Quindi, sentiti libero di rimuovere qualsiasi istantanea diversa dall'ultima istantanea su entrambe le estremità.

Ad esempio, in questo caso, l'ultima istantanea è web1-2020-12-31_2. Quindi, per eseguire backup incrementali, questa istantanea deve essere conservata sui filesystem Btrfs di origine e di destinazione (unità esterna).

Supponiamo di voler rimuovere il /dati/.istantanee/web1-2020-12-30 istantanea.

Per fare ciò, esegui il seguente comando:

$ sudo btrfs sottovolume cancella /data/.istantanee/web1-2020-12-30

L'istantanea di Btrfs /dati/.istantanee/web1-2020-12-30 ora dovrebbe essere rimosso.

Allo stesso modo, puoi rimuovere il /dati/.istantanee/web1-2020-12-31 istantanea, come segue:

$ sudo btrfs sottovolume cancella /data/.istantanee/web1-2020-12-31

Ora, solo l'ultima istantanea, /dati/.istantanee/web1-2020-12-31_2, è disponibile sul filesystem Btrfs, montato sul /dati directory. Il backup delle altre istantanee viene eseguito sull'unità esterna, montata sul /istantanee directory.

$ sudo btrfs sottovolume elenco /dati
$ sudo btrfs subvolume list /snapshots

Ripristino di istantanee da unità esterna

Se hai eseguito il backup delle tue istantanee sull'unità esterna, puoi ripristinarle in qualsiasi momento dall'unità esterna.

Ad esempio, ho rimosso il web1-2020-12-30 istantanea dal mio filesystem Btrfs, montato su /dati directory. Tuttavia, questa istantanea viene salvata sull'unità esterna, montata sul /istantanee directory. Ripristiniamo questa istantanea.

$ sudo btrfs subvolume list /snapshots

Per ripristinare il web1-2020-12-30 istantanea dall'unità esterna, eseguire il seguente comando:

$ sudo btrfs send /snapshots/web1-2020-12-30 | sudo btrfs riceve /dati/.istantanee

Il istantanea web1-2020-12-30 dovrebbe essere ripristinato sul filesystem Btrfs montato sul /dati directory.

Come puoi vedere, il web1-2020-12-30 istantanea viene ripristinato sul filesystem Btrfs montato sul /dati directory.

$ sudo btrfs sottovolume elenco /dati

E, come puoi vedere, il contenuto del indice.html file dal web1-2020-12-30 istantanea. Questa è la prima versione del indice.html file di prima.

$ gatto /dati/.istantanee/web1-2020-12-30/indice.html

Conclusione

In questo articolo, hai imparato come eseguire il backup delle istantanee del tuo filesystem Btrfs su un'unità esterna. Hai anche imparato come eseguire backup incrementali delle tue istantanee Btrfs su un'unità esterna. Infine, hai imparato come rimuovere le istantanee esistenti da un filesystem Brtfs e ripristinare le istantanee anche dall'unità esterna.

I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...
Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...