GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare e interrogare un file system BTRFS

Nozioni di base

Il file system btrfs è progettato per soddisfare i requisiti di scalabilità in espansione dei sottosistemi di archiviazione di grandi dimensioni. Poiché il file system btrfs utilizza B-trees nella sua implementazione, il suo nome deriva dal nome di quelle strutture dati, sebbene non sia un vero acronimo. Un B-tree è una struttura di dati simile ad un albero che consente ai file system e ai database di accedere e aggiornare in modo efficiente blocchi di dati di grandi dimensioni, indipendentemente dalle dimensioni dell'albero.

Il file system btrfs fornisce le seguenti importanti funzionalità:

  • La funzionalità di copia su scrittura consente di creare snapshot sia leggibili che scrivibili e di ripristinare un file system a uno stato precedente, anche dopo averlo convertito da un file system ext3 o ext4.
  • La funzionalità di checksum garantisce l'integrità dei dati.
  • La compressione trasparente consente di risparmiare spazio su disco.
  • La deframmentazione trasparente migliora le prestazioni.
  • La gestione del volume logico integrato consente di implementare configurazioni RAID 0, RAID 1 o RAID 10 e di aggiungere e rimuovere dinamicamente la capacità di archiviazione.

A partire da CentOS/RHEL 6 Update 3, l'ISO di avvio consente di configurare un file system radice btrfs. Prima di CentOS/RHEL 6 Update 3, non era possibile creare un file system radice btrfs durante l'installazione.

Con UEK R3, btrfs supporta le seguenti funzionalità aggiuntive:

  • La funzione di invio/ricezione consente di registrare le differenze tra due sottovolumi, che possono essere istantanee dello stesso sottovolume o sottovolumi padre e figlio.
  • I gruppi di quote (qgroups) ti consentono di impostare limiti di dimensioni differenti per un volume e i suoi sottovolumi.
  • Puoi sostituire i dispositivi senza smontare o interrompere in altro modo l'accesso al file system.

Questo documento spiega come creare un file system BTRFS in un singolo dispositivo su un sistema CentOS/RHEL. I passaggi seguenti sono stati eseguiti su una macchina virtuale che esegue CentOS/RHEL 7 con un disco virtuale di 5 GB.

Crea un file system BTRFS

Aggiungi il disco desiderato in cui verrà configurato il filesystem btrfs e assicurati che il sistema riconosca il disco:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
├─xvda1 202:1 0 1G 0 part /boot
└─xvda2 202:2 0 19G 0 part
├─ol-root 251:0 0 17G 0 lvm /
└─ol-swap 251:1 0 2G 0 lvm [SWAP]
xvdb 202:16 0 5G 0 disk

Nell'output sopra, il nostro disco sarà "xvdb". I dispositivi possono essere semplici partizioni del disco, dispositivi di loopback (ovvero immagini disco nella memoria), dispositivi multipath o LUN che implementano RAID nell'hardware.

1. Installa il pacchetto btrfs-progs se non è già installato sul tuo sistema:

# yum install btrfs-progs

2. Crea il file system Btrfs usando il comando mkfs.brtfs:

# mkfs.btrfs /dev/xvdb
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication.
Label: (null)
UUID: c7d1687d-fe91-4837-b14a-4870466d1a3f
Node size: 16384
Sector size: 4096
Filesystem size: 5.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: single 8.00MiB
System: single 4.00MiB
SSD detected: yes
Incompat features: extref
Number of devices: 1
Devices:
ID SIZE PATH
1 5.00GiB /dev/xvdb

3. Utilizzare il comando btrfs filesystem show per verificare che il file system sia stato creato sul dispositivo:

# btrfs filesystem show
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

Il comando sopra mostra tutti i file system btrfs nel sistema

o

# btrfs filesystem show /dev/xvdb
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

Il comando sopra mostra le informazioni sul file system btrfs solo sul dispositivo specificato necessario (/dev/xvdb)

4. Montare il file system corrispondente:

# mount /dev/xvdb /btrfsTest

5. Assicurati che il file system btrfs sia ora montato:

# mount | grep btrfs
/dev/xvdb on /btrfsTest type btrfs (rw,relatime,seclabel,ssd,space_cache)

Interroga un file system BTRFS

Esegui il comando btrfs filesystem df per visualizzare informazioni più accurate sullo spazio utilizzato da un file system btrfs.

# btrfs filesystem df /btrfsTest/
Data, single: total=8.00MiB, used=64.00KiB
System, single: total=4.00MiB, used=16.00KiB
Metadata, single: total=264.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

Possiamo usare il normale comando df per interrogare il file system ma le informazioni visualizzate potrebbero non essere accurate.

# df -h /btrfsTest/
Filesystem Size Used Avail Use% Mounted on
/dev/xvdb 5.0G 17M 4.8G 1% /btrfsTest

Maggiori informazioni e opzioni possono essere trovate nella pagina di manuale di mkfs.btrfs:

# man mkfs.btrfs


Linux
  1. Come creare uno scambio in Linux

  2. Come creare un file di scambio in Linux

  3. Come creare un file e montarlo come filesystem?

  4. Esempi di comandi "btrfs" per creare e gestire file system Btrfs

  5. Come montare e smontare un file system in Linux

Che cos'è EFS (Elastic File System) in AWS e come utilizzarlo

Come creare ed eseguire file Ansible Playbook

Come aggiungere un nuovo dispositivo al file system BTRFS in Linux

Come controllare e riparare un file system in RHEL Linux

Come creare e utilizzare file di scambio su Linux

Come creare un file di grandi dimensioni da 1 GB o 10 GB nel sistema Linux