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.
Come creare e montare il file system Btrfs (spiegato con esempi)Utilità btrfs
Utilizzare il comando btrfs per gestire e visualizzare le informazioni su un file system Btrfs. Il comando richiede un sottocomando. Immettere btrfs senza argomenti per elencare i sottocomandi:
# btrfs usage: btrfs [--help] [--version] [group] [[group]...] [command] [args] Command groups: subvolume manage subvolumes: create, delete, list, etc filesystem overall filesystem tasks and information balance balance data across devices, or change block groups using filters device manage and query devices in the filesystem scrub verify checksums of data and metadata rescue toolbox for specific rescue operations inspect-internal query various internal information property modify properties of filesystem objects quota manage filesystem quota settings qgroup manage quota groups replace replace a device in the filesystem Commands: check Check structural integrity of a filesystem (unmounted). restore Try to restore files from a damaged filesystem (unmounted) send Send the subvolume(s) to stdout. receive Receive subvolumes from a stream help Display help information version Display btrfs-progs version For an overview of a given command use 'btrfs command --help' or 'btrfs [command...] --help --full' to print all available options. Any command name can be shortened as far as it stays unambiguous, however it is recommended to use full command names in scripts. All command groups have their manual page named 'btrfs-[group]'.
Utilità di sottovolume btrfs
Utilizzare il comando btrfs subvolume per gestire e generare report sui sottovolumi Btrfs. Di seguito sono riportati alcuni esempi di creazione di sottovolumi btrfs e visualizzazione di informazioni su di essi.
1. Crea un sottovolume btrfs
Utilizzare il comando btrfs subvolume create per creare un sottovolume. L'esempio seguente crea un sottovolume denominato SV1 su un file system Btrfs montato su /btrfs:
# btrfs subvolume create /btrfs/SV1 Create subvolume '/btrfs/SV1'
2. Visualizza i sottovolumi btrfs
Utilizzare il comando btrfs subvolume list per visualizzare solo i sottovolumi in un file system Btrfs, come in questo esempio:
# btrfs subvolume list /btrfs ID 257 gen 12 top level 5 path SV1 ID 258 gen 9 top level 5 path SV1-snap
Questo comando visualizza anche l'ID del sottovolume (257), la generazione dell'ID radice dell'albero B (12) e l'ID di livello superiore (5).
2. Crea istantanee di sottovolume btrfs
Utilizzare il comando btrfs subvolume snapshot per creare un'istantanea scrivibile/leggibile di un sottovolume. L'esempio seguente crea uno snapshot del sottovolume SV1:
# btrfs subvolume snapshot /btrfs/SV1 /btrfs/SV1-snap Create a snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-snap’
Usa l'istantanea del sottovolume btrfs -r opzione per creare uno snapshot di sola lettura:
# btrfs subvolume snapshot –r /btrfs/SV1 /btrfs/SV1-rosnap Create a readonly snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-rosnap’
Utilità del filesystem btrfs
Utilizzare il comando btrfs filesystem per gestire e generare report sui file system Btrfs. L'elenco dei comandi disponibili è il seguente:
- df filesystem btrfs
- Mostra filesystem btrfs
- sincronizzazione del file system btrfs
- Deframmentazione del file system btrfs
- ridimensionamento del filesystem btrfs
- Bilanciamento del filesystem btrfs
- etichetta del filesystem btrfs
1. Utilità df filesystem btrfs
Quando il file system è montato e viene copiato un file, l'output del comando df può produrre informazioni imprecise per il file system Btrfs. Per ottenere informazioni accurate sullo spazio per un file system Btrfs, utilizzare il comando btrfs filesystem df:
# btrfs filesystem df /btrfs Data, single: total=8.00MiB, used=5.87MiB System, DUP: total=8.00MiB, used=16.00KiB Metadata, DUP: total=1.00GiB, used=144.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
2. btrfs filesystem mostra|utilità di sincronizzazione
Utilizzare il comando btrfs filesystem show per visualizzare la struttura di un file system. La sintassi segue:
# btrfs filesystem show [options|[path]|[uuid]]1. If you omit the optional path and uuid, the command shows information about all the Btrfs file systems. The following example displays the structure of a Btrfs file system:# btrfs filesystem show Label: none uuid: 11fdc4b4-fe4f-4a73-9d7c-35859edbcecd Total devices 1 FS bytes used 6.03MiB devid 1 size 10.00GiB used 2.02GiB path /dev/sda2. Utilizzare il comando btrfs filesystem sync per forzare una sincronizzazione per il file system. Il file system deve essere montato. Per forzare una sincronizzazione del file system montato su /btrfs:
# btrfs filesystem sync /btrfs FSSync '/btrfs'3. Utilità di deframmentazione del filesystem btrfs
Btrfs fornisce la deframmentazione in linea di un file system, file o directory. La funzione di deframmentazione online riorganizza i dati in blocchi contigui ove possibile per creare sezioni più ampie di spazio su disco disponibile e per migliorare le prestazioni di lettura e scrittura. Usa il comando btrfs filesystem deframment per deframmentare un file o una directory.
# btrfs filesystem defragment [options] [file]|[dir] [...]Le opzioni disponibili includono quanto segue:
Opzione | Descrizione |
---|---|
-v | Prolisso |
-c | Comprime il contenuto del file durante la deframmentazione. |
-r | Deframmenta i file in modo ricorsivo. |
-f | Svuota il file system dopo la deframmentazione. |
-s inizio | Deframmenta solo dall'inizio del byte in poi. |
-l len | Deframmenta solo fino a len byte. |
-t taglia | Deframmenta solo i file di dimensione minima in byte. |
Puoi impostare la deframmentazione automatica specificando "-o deframmentazione automatica " opzione quando monti il file system. Non eseguire la deframmentazione con kernel fino alla versione 2.6.37 se hai creato snapshot o creato snapshot di file utilizzando "cp --reflink " opzione. Btrfs in questi kernel precedenti scollega le copie di dati in copia su scrittura.
4. Utilità di ridimensionamento del filesystem btrfs
Btrfs fornisce il ridimensionamento online di un file system. Usa il "ridimensionamento del filesystem btrfs " comando per ridimensionare un file system. Devi avere spazio disponibile per ospitare il ridimensionamento perché il comando non ha effetto sui dispositivi sottostanti. La sintassi è la seguente:
btrfs filesystem resize [devid:][+/-][newsize][gkm]|[devid:]max [path]
Descrizioni dei parametri:
- + nuove dimensioni – Aumenta la dimensione del file system di una nuova dimensione
- - nuova dimensione – Diminuisce la dimensione del file system in base alla nuova dimensione
- nuovo formato – Specifica l'importo della nuova dimensione
- g, k o m – Specifica l'unità di newsize (GB, KB o MB). Se non vengono specificate unità, il parametro predefinito è byte.
- massimo – Specifica che il file system occupa tutto lo spazio disponibile
Ad esempio, per ridurre la dimensione del file system di 2 GB:
# btrfs filesystem resize -2G /btrfs Resize '/btrfs/'' of '-2G'
5. Utilità del dispositivo btrfs
Utilizzare il comando btrfs device per gestire i dispositivi sui file system Btrfs. La "scansione del dispositivo btrfs " Il comando esegue la scansione dei dispositivi fisici alla ricerca di membri di un volume Btrfs. Questo comando consente di montare un file system Btrfs con più dischi senza specificare tutti i dischi nel comando mount. Non è necessario eseguire la scansione del dispositivo btrfs dalla riga di comando, perché udev esegue automaticamente la scansione del dispositivo btrfs all'avvio.
1. Utilizzare il comando btrfs device add per aggiungere un dispositivo a un file system montato, come in questo esempio:
# btrfs device add /dev/sdd /btrfs
2. Utilizzare il comando btrfs filesystem balance dopo aver aggiunto un dispositivo:
# btrfs filesystem balance /btrfs
3. Utilizzare il comando btrfs device delete per rimuovere un dispositivo da un file system:
# btrfs device delete /dev/sdd /btrfs
6. btrfs scrub Utilità
Utilizzare il comando btrfs scrub per gestire lo scrubbing sui file system Btrfs. La pulizia viene eseguita in background per impostazione predefinita. Tenta di segnalare e riparare i blocchi danneggiati sul file system. I comandi disponibili includono:
- inizio scrub btrfs
- cancella btrfs scrub
- Riprendi lo scrub btrfs
- stato di pulizia di btrfs
1. Usa il comando btrfs scrub start per avviare uno scrub su tutti i dispositivi di un file system o su un singolo dispositivo.
# btrfs scrub start /btrfs
2. Utilizzare il comando btrfs scrub status per ottenere lo stato di un lavoro di pulizia. L'esempio seguente include informazioni di pulizia dettagliate su ciascun dispositivo nel file system:
# btrfs scrub status –dR /btrfs
3. Utilizzare il comando btrfs scrub cancel per annullare un processo di pulizia in esecuzione:
# btrfs scrub cancel /btrfs
4. Utilizzare il comando btrfs scrub resume per riprendere uno scrub precedentemente annullato o interrotto:
# btrfs scrub resume /btrfs
7. btrfs fileyetm etichetta
Utilizzare il comando "btrfs filesystem label" per visualizzare l'etichetta del filesystem. Ad esempio:
# btrfs filesystem label /btrfs Btrfs