Come creare istantanee con BtrFS su Linux

Desideri creare istantanee di dati sul tuo PC Linux nel caso in cui qualcosa venga eliminato? Con il file system BtrFS, puoi. Prima di poter creare un’istantanea BtrFS, è necessario innanzitutto disporre di un dispositivo a blocchi su Linux che utilizzi il file system BtrFS. Se stai cercando di trasformare un’unità esistente in un’unità BtrFS per dati vari, segui le istruzioni seguenti. Vuoi invece usare BtrFS come file system di root? Assicurati di selezionare “installazione personalizzata” durante il processo di installazione e seleziona BtrFS come file system preferito.

Oltre ad avere un dispositivo a blocchi con il file system BtrFS formattato, l’utente deve anche installare il file btrfs-progs pacchetto.

Nota: potrebbe essere necessario eseguire il comando lsblk per determinare quale dispositivo a blocchi formattare.

BtrFS su Linux

Per formattare un’unità, eseguire prima il backup di tutti i dati su di essa e quindi aprire un terminale. Nel terminale ottieni root usando: sudo -s. Con l’accesso root, usa il comando mkfs per creare un nuovo file system sul dispositivo. In questo esempio, useremo / dev / sdd1

mkfs.btrfs -f /dev/sdd1

Risoluzione dei problemi

L’unità non funziona dopo la formattazione in BtrFS? Potrebbe essere necessario creare una nuova tabella delle partizioni. Ecco come farlo:

parted /dev/sdd
mklabel gpt
mkpart primary btrfs 1MiB 100%

Esci dallo strumento Parted con:

quit

Quindi, riesegui il comando di formattazione.

mkfs.btrfs -f /dev/sdd1

Crea istantanee con BtrFS

Prima di scattare istantanee, dovrai creare alcuni sotto-volumi. Il file system principale di Linux è BtrFS? Salta questo passaggio e vai direttamente alla configurazione dei sottovolumi. Segui questa parte del processo solo se stai utilizzando un’unità secondaria con il file system BtrFS, dovrai montarla. In questo esempio, il disco rigido sarà / dev / sdd.

sudo -s 
mkdir /btrfs
mount -t btrfs /dev/sdd1 /btrfs

La cartella principale di BtrFS è stata creata, montata ed è pronta per l’uso. È ora di creare un sottovolume. Cos’è un sottovolume? È una funzionalità speciale fornita con il file system BtrFS che consente ai volumi creati di funzionare in modo simile a un dispositivo a blocchi (si pensi a / dev / sda1 e così via).

La realtà è che in realtà non sono dispositivi a blocchi. Invece, sono directory fantasiose che sfruttano una tecnologia chiamata “spazi dei nomi”. Senza diventare troppo complicato, BtrFS sfrutta questa tecnologia dello spazio dei nomi per consentire agli utenti di creare un gruppo di volumi secondari montabili individuali che agiscono e si comportano in modo molto simile ai dispositivi a blocchi.

Per creare il tuo sottovolume, segui questi passaggi. In questo esempio, mostreremo una struttura di sottovolumi di base che inizia nella cartella principale / btrfs. Tieni presente che puoi creare i tuoi volumi dove vuoi, purché sia ​​fatto su un file system BtrFS.

Innanzitutto, ottieni un guscio di radice. Questi comandi potrebbero essere eseguiti con privilegi sudo, ma dato che interagire con il file system (come root) può essere noioso, è meglio ottenere subito root. Usa sudo -s o accedi a root usando su. Quindi fa:

btrfs subvolume create /btrfs/vol_a

Il primo comando crea un sottovolume BtrFS in / mnt / btrfs sul nostro drive di esempio / dev / sdd1. Se lo desideri, puoi fermarti qui e usarlo come volume per salvare tutti i dati importanti. In alternativa, puoi creare sub-sub volumi (quanti ne vuoi). Per creare un volume all’interno di un volume, dovresti fare:

btrfs subvolume create /btrfs/vol_a/vol_b

Per creare un’istantanea, prima sposta / copia tutti i dati importanti in un volume secondario. Per esempio:

cp -R ~/Documents /btrfs/vol_a/

quindi utilizzare il file system per creare un’istantanea.

btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1

Nota: sostituisci “backup_1” con quello che desideri chiamare la tua istantanea. Etichettali chiaramente in modo da poterli ordinare in seguito.

Ripristina qualsiasi snapshot con: mv / btrfs / vol_a / / mnt / btrfs / vol_a / backup_1

Montaggio di sottovolumi come dispositivi a blocchi

Parte del bello dei sottovolumi è la possibilità di montarli tutti individualmente, come dispositivi indipendenti. Per fare ciò, prima elenca tutti i volumi conosciuti usando il comando btrfs.

btrfs subvolume list /btrfs

Scorri l’elenco e trova il numero ID del sottovolume, quindi montalo con il comando mount. Quindi, smontalo una volta ottenuto l’ID.

mount -o subvolid=XXX /dev/sdX /btrfs

Sostituisci XXX con l’ID e / dev / sdX con l’unità in cui si trova il volume da montare. Tieni presente che non puoi montare un sottovolume sulla stessa partizione della partizione di primo livello. Montare invece su un’altra partizione o unità formattata BtrFS. Per esempio:

mount -o subvolid=38 /dev/sdc1 /btrfs

Subvol 38 si trova su / dev / sdd1, ma / dev / sdc1 è anche BtrFS, quindi è possibile montare gli snapshot lì. Questo non deve essere fatto su singole unità. Invece, potresti montarlo su / dev / sdc2 e così via.

Imposta il volume secondario predefinito

L’impostazione del volume secondario BtrFS predefinito è utile, poiché semplifica l’interazione con esso. Per impostare un valore predefinito, utilizzare prima il comando elenco dei sottovolumi per trovare l’ID. Prendi l’ID e collegalo al comando set-default:

btrfs subvolume set-default XXX /btrfs

Per sbarazzarti di un valore predefinito che hai impostato, usa lo stesso comando, tranne invece di usare un ID volume dall’elenco dei sottovolumi, usa il numero 0. Questo lo riporterà alle impostazioni di fabbrica, e poi sarai libero di usare altri sottovolumi come valori predefiniti.

btrfs subvolume set-default 0 /btrfs

Elimina un sottovolume

Se in qualsiasi momento desideri eliminare un volume, puoi eliminarlo utilizzando BtrFS. Per favore, non cancellare manualmente il sottovolume dal disco rigido, con comandi come “rmdir” o “rm -rf”. È preferibile utilizzare gli strumenti del file system BtrFS.

Per eliminare un volume, fai:

btrfs subvolume delete /btrfs/volume-name