Come utilizzare l'equilibrio BTRFS?

Come utilizzare l'equilibrio BTRFS?
Il filesystem BTRFS ha un supporto multi-dispositivo integrato, quindi è possibile creare diversi livelli di RAID utilizzandolo.

Una volta che hai creato un raid BTRFS, è possibile aggiungere più dispositivi di archiviazione al raid per espandere il raid. Ma, una volta che hai aggiunto più dispositivi di archiviazione al RAID, BTRFS non diffonderà automaticamente i dati esistenti/metadati/sistemi sui nuovi dispositivi di archiviazione. Quindi, potresti non ottenere il throughput desiderato (leggi/scrittura) fuori dal raid e potrebbe non essere in grado di popolare i nuovi dispositivi di archiviazione con i dati ridondanti richiesti. Quindi, l'array RAID potrebbe non sopravvivere al numero desiderato di guasti dell'unità.

Per risolvere questi problemi, il filesystem BTRFS fornisce uno strumento di bilanciamento integrato. L'utilità di bilanciamento BTRFS diffonderà i dati/metadati/dati di sistema dei dispositivi di archiviazione esistenti del RAID sui dispositivi di archiviazione appena aggiunti.

In questo articolo, ti mostrerò come utilizzare l'utilità di bilanciamento BTRFS per diffondere i dati/metadati/dati di sistema dei dispositivi di archiviazione esistenti del RAID sui dispositivi di archiviazione appena aggiunti. Quindi iniziamo!

Abbreviazioni

Raid - Array ridondante di dischi economici/indipendenti
Mb - Megabyte
GB - Gigabyte

Prerequisiti

Per seguire questo articolo, è necessario disporre di un raid BTRFS funzionante o di una configurazione multi-dispositivo.

Ho creato un raid BTRFS RAID-0 Configurazione utilizzando 4 dispositivi di archiviazione sdb, SDC, SDD, E SDE.

Come puoi vedere, il filesystem BTRFS assegnato 1 GB di spazio su disco per dati1 256 Mb di spazio su disco per Metadata2, E 4 mb di spazio su disco per Sistema-Data3 da ciascuno dei dispositivi di archiviazione nel raid.

Di 18.75 GB fuori da 20 GB non è ancora allocato4 da ciascuno dei dispositivi di archiviazione del raid.

$ sudo btrfs Utilizzo /dati del filesystem

Scrivere uno script per generare file casuali

Per mostrarti come funziona l'utilità di bilanciamento BTRFS, dobbiamo generare alcuni file casuali per riempire il filesystem BTRFS. Creiamo uno script di shell che fa proprio questo.

Crea un nuovo script di shell Genfiles.SH nella/USR/Local/Bin/Directory come segue:

$ sudo nano/usr/locale/bin/genfiles.sh

Digitare le seguenti righe di codici in Genfiles.sh script shell.

#!/Bin/Bash
mentre è vero
Fare
FileName = $ (uuidgen)
Echo "[Creazione] $ nome file"
dd if =/dev/casuale di = $ nome file bs = 1m conteggio = 256 status = progresso
echo "[creato] $ nome file"
Fatto

Una volta che hai finito, premere + X seguito da Y E per salvare il Genfiles.sh script shell.

IL Genfiles.sh lo script shell esegue un infinito Mentre ciclo continuo.

mentre è vero
Fare
# altri codici
Fatto

La riga seguente genera un UUID usando il uuidgen comanda e memorizza l'UUID in NOME DEL FILE variabile.

La riga seguente stampa un messaggio sulla console prima del file NOME DEL FILE è generato.

La riga seguente genera un nuovo file casuale NOME DEL FILE usando il dd comando. Il file avrà una dimensione di 256 MB.

La riga seguente stampa un messaggio sulla console dopo il file NOME DEL FILE è generato.

Aggiungi il permesso di eseguire al Genfiles.sh Script Shell come segue:

$ sudo chmod +x/usr/local/bin/genfiles.sh

IL Genfiles.sh Lo script shell dovrebbe ora essere accessibile come altri comandi.

$ quali genfile.sh

Generazione di file casuali nel filesystem BTRFS

Vogliamo generare file casuali nel raid BTRFS. Diciamo, il raid BTRFS è montato sul /dati directory.

Navigare verso il /dati Directory in cui il raid BTRFS è montato come segue:

$ cd /dati

Come puoi vedere, al momento non ci sono file disponibili nel mio raid BTRFS.

$ ls -lh

Per generare alcuni file casuali nella directory di lavoro corrente (/dati directory in questo caso), eseguire il Genfiles.sh Script Shell come segue:

$ sudo genfiles.sh

IL Genfiles.sh lo script shell dovrebbe iniziare a generare file casuali in /dati directory.

IL Genfiles.sh lo script sta generando file casuali. Lascia che lo script funzioni per un paio di minuti, quindi riempie circa 2-3 GB di spazio su disco del raid BTRFS.

Quando vuoi fermare il Genfiles.sh script shell, premi + C.

Come puoi vedere, alcuni file casuali vengono generati nel raid BTRFS.

$ ls -lh


Come puoi vedere, il RAID BTRFS ha assegnato 2 GB da ciascuno dei dispositivi di archiviazione aggiunti al raid. In precedenza il RAID BTRFS ha assegnato 1 GB da ciascuno dei dispositivi di archiviazione aggiunti al raid.

Lo spazio su disco non allocato è stato ridotto da 18.75 GB A 17.75 GB In tutti i dispositivi di archiviazione del raid.

$ sudo btrfs Utilizzo /dati del filesystem

Aggiunta di un altro dispositivo di archiviazione al raid BTRFS

Per mostrarti come bilanciare un raid BTRFS dopo aver aggiunto un nuovo dispositivo di archiviazione, è necessario aggiungere un nuovo dispositivo di archiviazione ad esso.

Ho aggiunto un nuovo HDD SDF al mio computer, che voglio aggiungere al raid BTRFS montato sul /dati directory. Vediamo come farlo.

$ sudo lsblk -e7

Navigare verso una directory diversa (i.e., CASA directory) dal /dati directory come segue:

$ CD

Per aggiungere il dispositivo di archiviazione SDF al raid btrfs montato sul /dati Directory, eseguire il seguente comando:

$ sudo btrfs dispositivo add /dev /sdf /dati

Come puoi vedere, il dispositivo di archiviazione SDF viene aggiunto al raid BTRFS. La dimensione del raid è aumentata da 80 GB A 100 GB.

$ sudo btrfs Utilizzo /dati del filesystem

Bilanciamento del raid BTRFS

Come puoi vedere, il dispositivo di archiviazione appena aggiunto (SDF) del raid (montato sul /dati Directory) ha 20 GB non allocati e gli altri dispositivi di archiviazione (sdb, SDC, SDD, SDE, eccetera.) Avere 17.75 GB non allocato.

$ sudo btrfs Utilizzo /dati del filesystem

I dati1, metadati2, e dati di sistema3 sono disponibili solo sui dispositivi di archiviazione esistenti del RAID, non sul dispositivo di archiviazione appena aggiunto.

Per distribuire i dati, i metadati e i dati di sistema su tutti i dispositivi di archiviazione del RAID (incluso il dispositivo di archiviazione appena aggiunto) montato sul /dati Directory, eseguire il seguente comando:

$ SUDO BTRFS Bilancia Start-Bilance /Data

Potrebbe volerci un po 'di tempo per distribuire i dati, i metadati e i dati di sistema su tutti i dispositivi di archiviazione del RAID IFIT contiene molti dati.

Una volta che i dispositivi di archiviazione del raid sono adeguatamente bilanciati, è necessario vedere il seguente messaggio.

Come puoi vedere, dopo il completamento dell'operazione di bilancia.

Dopo l'operazione di bilanciamento, viene assegnata una quantità uguale di spazio su disco poiché gli altri dispositivi di archiviazione del RAID vengono assegnati per i dati, i metadati e i dati di sistema dal dispositivo di archiviazione appena aggiunto (SDF) del raid.

Conclusione

In questo articolo, ho discusso dello scopo dell'utilità di bilanciamento BTRFS, nonché come bilanciare un filesystem RAID o multi-dispositivo BTRFS dopo aver aggiunto nuovi dispositivi di archiviazione al filesystem RAID o Multi-Device.