Btrfs

Come utilizzare il saldo Btrfs?

Come utilizzare il saldo Btrfs?
Il filesystem Btrfs ha un supporto multi-dispositivo integrato, quindi puoi creare diversi livelli di RAID usandolo.

Dopo aver creato un RAID Btrfs, puoi aggiungere più dispositivi di archiviazione al RAID per espandere il RAID. Ma, una volta aggiunti più dispositivi di archiviazione al RAID, Btrfs non diffonderà automaticamente i dati/metadati/dati di sistema esistenti ai nuovi dispositivi di archiviazione. Quindi, potresti non ottenere il throughput desiderato (velocità di lettura/scrittura) dal RAID e potrebbe non essere in grado di popolare i nuovi dispositivi di archiviazione con i dati ridondanti richiesti. Pertanto, 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 ai 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 ai 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 in RAID-0 configurazione utilizzando 4 dispositivi di archiviazione sdb, sdc, sdd, e sde.

Come puoi vedere, il filesystem Btrfs allocato 1 GB di spazio su disco per i dati1 256 MB di spazio su disco per metadati2, e 4 MB di spazio su disco per dati-sistema3 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 del filesystem /data

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 faccia proprio questo.

Crea un nuovo genfile di script di shell.sh nella directory /usr/local/bin/ come segue:

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

Digita le seguenti righe di codici nel genfiles.sh script di shell.

#!/bin/bash
mentre vero
fare
FILENAME=$(uuidgen)
echo "[Creazione] $NOMEFILE"
dd if=/dev/random of=$FILENAME bs=1M count=256 status=progress
echo "[Creato] $FILENAME"
fatto

Quando hai finito, premi + X seguito da e per salvare il genfiles.sh script di shell.

Il genfiles.sh lo script della shell esegue un infinito mentre ciclo continuo.

mentre vero
fare
# altri codici
fatto

La riga seguente genera un UUID utilizzando il uuidgen comando e memorizza l'UUID nel 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 esecuzione al to genfiles.sh script di shell come segue:

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

Il genfiles.sh lo script della shell dovrebbe ora essere accessibile come qualsiasi altro comando.

$ che genfiles.sh

Generazione di file casuali nel filesystem Btrfs

Vogliamo generare file casuali nel RAID Btrfs. Diciamo che il RAID Btrfs è montato sul /dati directory.

Vai a /dati directory in cui è montato il RAID Btrfs 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 di shell come segue:

$ sudo genfiles.sh

Il genfiles.sh lo script della shell dovrebbe iniziare a generare file casuali nel /dati directory.

Il genfiles.sh lo script sta generando file casuali. Lascia che lo script venga eseguito per un paio di minuti, in modo che riempia circa 2-3 GB di spazio su disco del RAID Btrfs.

Quando vuoi fermare il genfiles.sh script di shell, premere + 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 allocava 1 GB da ciascuno dei dispositivi di archiviazione aggiunti al RAID.

Lo spazio su disco non allocato è stato ridotto da 18.75 GB per 17.75 GB in tutti i dispositivi di archiviazione del RAID.

$ sudo btrfs utilizzo del filesystem /data

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, devi 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 fare.

$ sudo lsblk -e7

Passare a 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 device add /dev/sdf /data

Come puoi vedere, il dispositivo di archiviazione sdf viene aggiunto al RAID Btrfs. La dimensione del RAID è aumentata da 80 GB per 100 GB.

$ sudo btrfs utilizzo del filesystem /data

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 del filesystem /data

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) montati sul /dati directory, eseguire il seguente comando:

$ sudo btrfs balance start --full-balance /data

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

Una volta che i dispositivi di archiviazione del RAID sono bilanciati correttamente, dovresti vedere il seguente messaggio.

Come puoi vedere, dopo che l'operazione di bilanciamento è stata completata, il dispositivo di archiviazione appena aggiunto ha una quantità uguale di spazio su disco non allocato come gli altri dispositivi di archiviazione del RAID.

Dopo l'operazione di bilanciamento, viene allocata una quantità di spazio su disco uguale a quella degli altri dispositivi di archiviazione del RAID 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 lo scopo dell'utilità di bilanciamento Btrfs e come bilanciare un RAID Btrfs o un filesystem multi-dispositivo dopo aver aggiunto nuovi dispositivi di archiviazione al filesystem RAID o multi-dispositivo.

Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...
Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...
Controlla e gestisci il movimento del mouse tra più monitor in Windows 10
Gestore mouse con doppio display ti consente di controllare e configurare il movimento del mouse tra più monitor, rallentando i suoi movimenti vicino ...