Btrfs è un file system open source per uso generico per Linux. Il nome deriva dall'uso di B-tree per memorizzare le strutture interne del file system. Per il file system vengono utilizzati nomi diversi, inclusi "Butter F S" e "B-tree F S". Lo sviluppo di Btrfs è iniziato in Oracle nel 2007 e ora numerose aziende (tra cui Red Hat, Fujitsu, Intel, SUSE e molte altre) stanno contribuendo allo sforzo di sviluppo. Btrfs è incluso nel kernel Linux principale.
Creazione di un file system Btrfs
1. Le utilità Btrfs sono fornite da btrfs-progs pacchetto software. Utilizzare il comando seguente per elencare i file forniti dal pacchetto.
# rpm –ql btrfs-progs
2. Usa mkfs.btrfs comando per creare un file system Btrfs. La sintassi è:
# mkfs.btrfs [options] block_device [block_device ...]
Puoi creare un file system Btrfs su un singolo dispositivo o su più dispositivi. I dispositivi possono essere partizioni del disco, dispositivi di loopback (immagini del disco in memoria), dispositivi multipath o LUN che implementano RAID nell'hardware. Alcune delle opzioni disponibili per il comando mkfs.btrfs sono:
-Un offset | Specificare l'offset dall'inizio del dispositivo per il file system. Il valore predefinito è 0, che è l'inizio del dispositivo. |
-b taglia | Specificare la dimensione del file system. L'impostazione predefinita è tutto lo spazio di archiviazione disponibile. |
-d tipo | Specifica in che modo i dati del file system vengono distribuiti sui dispositivi. L'argomento di tipo deve essere raid0, raid1, raid10 o single. |
-taglia l | Specifica la dimensione della foglia, l'elemento di dati minimo in cui Btrfs memorizza i dati. L'impostazione predefinita è la dimensione della pagina. |
-L nome | Specificare un nome di etichetta per il file system. |
-m profilo | Specifica in che modo i metadati del file system vengono distribuiti sui dispositivi. L'argomento del profilo deve essere raid0, raid1, raid10, single o dup. |
-M | Combina blocchi di dati e metadati per un utilizzo più efficiente dello spazio. Questa opzione influisce sulle prestazioni per file system di dimensioni maggiori ed è consigliata solo per file system di dimensioni pari o inferiori a 1 GB. |
-n dimensione | Specificare la dimensione del nodo. L'impostazione predefinita è la dimensione della pagina. |
-taglia s | Specifica la dimensione del settore, che è l'allocazione minima del blocco. |
-V | Stampa la versione mkfs.btrfs ed esci. |
Creazione del filesystem btrfs – Esempi mkfs.btrfs
1. Per creare un file system Btrfs su un dispositivo a blocco singolo (ad esempio, /dev/sdb):
# mkfs.btrfs /dev/sdb
2. Per creare un file system Btrfs su due dispositivi a blocchi (ad esempio, /dev/sdb e /dev/sdc):
# mkfs.btrfs /dev/sdb /dev/sdc
La configurazione predefinita per un file system con più dispositivi è:
-d raid0 – Stripe i dati del file system su tutti i dispositivi.
-m raid1 – Rispecchia i metadati del file system su tutti i dispositivi.
3. Per creare un file system Btrfs con più dispositivi (/dev/sdb e /dev/sdc) ed eseguire lo striping sia dei dati che dei metadati:
# mkfs.btrfs –m raid0 /dev/sdb /dev/sdc
4. Per creare un file system Btrfs con più dispositivi (/dev/sdb e /dev/sdc) e rispecchiare sia i dati che i metadati:
# mkfs.btrfs –d raid1 /dev/sdb /dev/sdc
5. Quando si specifica un singolo dispositivo, i metadati vengono duplicati su quel dispositivo a meno che non venga specificata una sola copia. Per creare un file system Btrfs su un dispositivo a blocco singolo (ad esempio, /dev/sdb) e specificare di non duplicare i metadati:
# mkfs.btrfs –m single /dev/sdb
6. Per dati o metadati RAID-10, è necessario specificare un numero pari di almeno quattro dispositivi. Per creare un file system Btrfs e eseguire lo striping di dati e metadati su dispositivi con mirroring (RAID-10):
# mkfs.btrfs –d raid10 –m raid10 /dev/sd[bcde]
Montaggio del file system
Usa il comando mount o inserisci una voce in /etc/fstab come faresti durante il montaggio di qualsiasi altro tipo di file system Linux.
Puoi fare riferimento a entrambi i dispositivi quando il tuo file system contiene più dispositivi. Puoi anche fare riferimento all'etichetta del file system o all'UUID.
Esempio:
# mount /dev/sdb /btrfs
Assicurati di avere la voce in /etc/fstab (l'esempio sotto usa l'UUID del dispositivo Btrfs):
# vi /etc/fstab UUID=e7e5c123-fg76-5gxx-a87d-gt5fed9r768e /data btrfs defaults 0 0Come ridimensionare / espandere un volume / file system Btrfs