Recupero dati BtrFS: consigli esperti per unità e sistemi RAID

In questo articolo forniamo una guida dettagliata su come recuperare efficacemente i dati da un disco BtrFS o da una configurazione RAID. Dalla comprensione delle caratteristiche uniche di BtrFS all’utilizzo di tecniche di recupero specializzate, trattiamo tutto ciò che è necessario sapere per recuperare i tuoi dati preziosi in modo sicuro. Che tu stia affrontando cancellazioni accidentali, corruzione di file o altri scenari di perdita dati, questo articolo ti fornisce le conoscenze e gli strumenti per ripristinare i dati e ritrovare tranquillità.

Recupero dati BtrFS: consigli esperti per unità e sistemi RAID

Di norma, mdadm e lvm sono utilizzati per creare un sistema RAID in Linux; puoi approfondire questi strumenti in altri video sul nostro canale.

Vai a vedere
Programmi per leggere un disco con file system BTRFS in Windows

Programmi per leggere un disco con file system BTRFS in Windows

Oltre agli strumenti descritti in questo video, un’altra funzionalità utile è il supporto RAID integrato nel file system BtrFS. BtrFS utilizza meccanismi propri per costruire e gestire array di dischi; vediamo più da vicino tutte le sue caratteristiche.

File system BtrFS

BtrFS è un file system moderno con funzionalità integrate di Copy on Write e supporto RAID. Il nucleo di questa modalità è che i dati vecchi non devono essere sovrascritti durante le operazioni di copia. Come grande vantaggio, ciò facilita il recupero dei file dopo guasti e crash, poiché un errore o un’interruzione durante la copia non compromette lo stato precedente dei file.

Caratteristica Descrizione
Tipo di file system Copy-on-Write (COW)
Supporto snapshot Possibilità di creare snapshot per un rapido recupero dei dati
Supporto RAID Supporto integrato per configurazioni RAID (RAID 0, 1, 5, 6, 10)
Compressione dei dati Supporto per la compressione trasparente dei dati per risparmiare spazio
Integrità dei dati Verifiche di integrità tramite hashing e recupero automatico
Deframmentazione Deframmentazione automatica e manuale dei dati
Scalabilità Espansione dinamica della dimensione del file system senza smontare
Clonazione dei file Capacità di clonare file rapidamente senza duplicare i dati

BtrFS memorizza i metadati separatamente dai dati del file system, e il suo principale vantaggio è che è possibile utilizzare diversi livelli di RAID per dati e metadati. Un altro scopo di questo file system journaling è fornire un modo più efficace per gestire il sistema di storage e migliorare le funzionalità di integrità dei dati in Linux.

Prima di poter iniziare a utilizzare BtrFS, è necessario installare alcuni strumenti per la gestione del file system eseguendo il seguente comando:

sudo apt install btrfs-tools

Installazione degli strumenti necessari per questo file system

Creare un punto di mount

È necessario creare una directory punto di mount per il file system BtrFS prima di poter costruire un array RAID.

Creiamo la directory:

Sudo mkdir –v /data

Dove “data” è il nome della directory.

Creazione del punto di montaggio

Ora procediamo alla creazione dell’array di dischi.

Come creare un RAID 5

Quando si crea un array, non è necessario dividere i dischi in partizioni, poiché questo file system non richiede tale operazione. È possibile unire sia interi dischi sia partizioni specifiche in un array, e persino combinare dischi e partizioni. Per illustrare, mostrerò come usare cinque dischi rigidi per creare un sistema RAID 5.

Per evitare di inserire la password root ogni volta, esegui il comando sudo -i e immetti la password; da quel momento potrai eseguire tutti i comandi come amministratore.

Tutti i comandi saranno eseguiti dall'account amministratore di Linux

Per creare un sistema RAID, digita questo comando nel terminale:

sudo mkfs.btrfs -L data -m raid5 -d raid5 -f /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

Dove:

  • L è l’etichetta o il nome del file system

Spiegazione:

  • d imposta il tipo di RAID5 per i dati.

  • m imposta il tipo di RAID5 per i metadati.

  • f forza la creazione di BtrFS anche se uno dei dischi è già formattato in un altro file system.

Creazione di un nuovo sistema BtrFS RAID 5

Ora puoi montare questo RAID BtrFS usando uno qualsiasi dei dischi inclusi nell’array.

Come montare un disco RAID

Nel mio caso ho utilizzato 5 dischi per creare un RAID: sdb, sdc, sdd, sde e sdf. Perciò posso montare il file system usando il disco sdb nella directory denominata “data”. Apri la Gestione dischi e monta il disco; successivamente risulterà disponibile.

Operazione di montaggio in Linux

In alternativa, puoi usare il seguente comando per montare il disco nel terminale.

sudo mount /dev/sdb1 /data

Verifica il risultato digitando questo comando: sudo df -h

sudo df -h

Ora l’array è montato nella directory /data

Operazione di montaggio in Linux tramite terminale

Per visualizzare informazioni sullo spazio utilizzato e libero in questo array, digita quanto segue:

sudo btrfs filesystem usage /data

Visualizzazione del rapporto su spazio utilizzato e libero

Per smontare l’array, digita semplicemente questo comando:

sudo umount /data

Smontaggio dell'array

Come sostituire o aggiungere un disco

Per sostituire un disco, digita nel Terminale: btrfs replace. L’operazione viene eseguita in modo asincrono, cioè in modalità step-by-step:

  • start - per avviare il processo,
  • cancel - per interromperlo,
  • status - per visualizzare lo stato dell’operazione.

Innanzitutto è necessario identificare il numero del disco danneggiato con il seguente comando:

sudo btrfs filesystem show

Identificazione del numero del disco danneggiato

Poi sostituiscilo con uno nuovo:

btrfs replace start <removed device or its ID> <added device> <the path where btrfs is mounted>

Nel mio caso, digito questo:

btrfs replace start 3 /dev/sdg

dove: 3 – il numero del disco assente, e sdg – il codice del nuovo disco.

Sostituzione di un disco danneggiato nell'array

Come recuperare un volume danneggiato

Per recuperare un array BtrFS è necessario utilizzare l’opzione di mount integrata - recovery:

sudo mount -o recovery /dev/sdb /mnt

Recupero RAID

Questo avvia il processo di recupero.

Recupero dati da BtrFS RAID 5

Anche il sistema più affidabile e tollerante ai guasti può fallire. Un errore di sistema, guasto di un disco, problemi hardware, metadati danneggiati, rimozione accidentale o impostazioni errate - ognuno di questi può causare il malfunzionamento dell’array RAID e la perdita di informazioni importanti. Se ti trovi in una di queste situazioni, utilizza Hetman RAID Recovery. Questo software è in grado di recuperare qualsiasi informazione da array di dischi non funzionanti o da dischi che facevano parte dell’array. L’applicazione ricostruirà l’RAID danneggiato leggendo tutte le informazioni disponibili passo dopo passo, e successivamente potrai copiare i dati rilevati altrove.

Recupero dei dati da array RAID danneggiati e inaccessibili al computer.

Collega i dischi a un computer Windows, oppure usa una macchina virtuale, o installa Windows come secondo sistema operativo.

Il programma analizzerà automaticamente i dischi e mostrerà tutte le informazioni relative al tuo array.

Il programma ha trovato alcune informazioni sul tuo RAID

Come si può notare, nel caso di BtrFS RAID il programma non raccoglie i dischi in un unico array (ciò può essere dovuto alle peculiarità della costruzione di questo tipo di array), ma tutte le informazioni sono memorizzate in base al tipo di RAID utilizzato.

Per avviare il processo di recupero, apri il Gestore unità, fai clic destro su qualsiasi disco che faceva parte dell’array e avvia la "Scansione rapida".

Ricerca rapida dei file

Quando viene scandito un qualsiasi disco, il risultato dovrebbe essere lo stesso per tutti, poiché sono elementi dello stesso array di dischi.

Al termine della scansione, il programma mostrerà i file trovati; la funzione di anteprima ti aiuterà a individuare più facilmente le immagini o i video necessari.

Risultati della ricerca e anteprima

Seleziona i file da recuperare, clicca su Recupera, scegli dove salvarli, quindi clicca nuovamente su Recupera. Alla fine troverai i file recuperati nella cartella che hai scelto.

Salvataggio dei file recuperati

Se la Scansione rapida non riesce a trovare le informazioni, esegui un’Analisi completa. Questo tipo di scansione richiede molto più tempo, ma è in grado di trovare tutte le informazioni ancora presenti sul disco, anche se sono state rimosse da molto tempo.

Esecuzione dell'analisi completa

Poiché si tratta di RAID 5, tutte le informazioni restano intatte se manca un solo disco; ma se due dischi sono guasti, una parte dei dati risulterà danneggiata.

Le informazioni risultano danneggiate quando due o più dischi sono guasti

Particolarità del file system BtrFS

BtrFS supporta la compressione dei dati: le informazioni presenti sui dischi vengono compresse automaticamente e, quando i dati vengono richiesti, il file corrispondente viene decompressato.

Questa funzionalità consente di risparmiare molto spazio su disco ed evita la necessità di ricorrere a software di compressione di terze parti. BtrFS supporta tre principali metodi di compressione dei file – zlib, lzo e zstd. Essi differiscono per il grado di compressione e per la velocità.

Il nostro software supporta il recupero di file compressi con ciascuno di questi metodi. Nell’interfaccia del programma, i volumi e i file compressi sono mostrati in questo modo - evidenziati con colori differenti.

Dati compressi evidenziati diversamente

Un altro vantaggio importante del file system BtrFS è la possibilità di creare sottovolumi. In termini semplici, è possibile creare, ad esempio, tre "dischi" diversi (sottovolumi) su un singolo disco fisico. Questi sottovolumi possono crescere utilizzando lo spazio libero disponibile in un altro volume. Se necessario, questa caratteristica permette di espandere un disco a spese di un altro senza comprimere o trasferire effettivamente i dati. I sottovolumi vengono quindi visualizzati come dischi all’interno del drive principale.

Rappresentazione dei sottovolumi

Allo stesso modo, vengono visualizzate le cartelle che contengono snapshot.

Usa il seguente comando per creare sottovolumi:

btrfs subvolume create /mnt/btrfs/my-subvolume

Creazione di sottovolumi tramite Terminale

Per visualizzare l’elenco dei sottovolumi presenti su questo disco, esegui il comando seguente:

btrfs subvolume list /mnt/btrfs

Visualizzazione dell'elenco dei sottovolumi nel Terminale

Per montare un sottovolume, usa questo comando:

mount -o subvol=my-subvolume /dev/sdd2 /mnt/btrfs2

dove sdb1 è il codice del disco.

Montaggio dei sottovolumi nel Terminale

Conclusione

Esistono soltanto pochi strumenti di recupero dati in grado di leggere i sistemi BtrFS RAID. Quando scegli quale utilizzare, ricorda sempre che durante la scansione le informazioni potrebbero essere cancellate; pertanto, avere l’opzione di creare un’immagine dell’array e poi eseguire la scansione sull’immagine anziché sull’insieme reale di dischi può rappresentare un vantaggio significativo. In definitiva, il modo migliore per evitare la perdita di dati importanti è eseguire regolarmente il backup dei tuoi file.

Anton Kryvoruchko

Autore: , Scrittore tecnico

Anton Kryvoruchko è traduttore dall'italiano, dall'inglese, dal francese e dal polacco. Ha molti anni di esperienza e lavora con testi di vario argomento: dalla narrativa e testi tecnici alle riviste scientifiche popolari. Lavora costantemente per migliorare le sue conoscenze e competenze, perciò nel tempo libero impara anche il tedesco e lo spagnolo.

Mykhailo Miroshnichenko

Editore: , Scrittore tecnico

Mykhaylo Miroshnychenko è uno dei programmatori principali di Hetman Software. Avendo già quindici anni di esperienza nello sviluppo di software condivide le sue conoscenze con i lettori del nostro blog. Oltre alla programmazione, Mykhaylo è anche un esperto di recupero di dati, di file system, di dispositivi di archiviazione e di array RAID.