Btrfs je open source, univerzální souborový systém pro Linux. Název je odvozen od použití B-stromů k ukládání vnitřních struktur souborového systému. Pro systém souborů se používají různé názvy, včetně „Butter F S“ a „B-tree F S“. Vývoj Btrfs začal ve společnosti Oracle v roce 2007 a nyní se na vývoji podílí řada společností (včetně Red Hat, Fujitsu, Intel, SUSE a mnoha dalších). Btrfs je součástí hlavního linuxového jádra.
Jak vytvořit a připojit souborový systém Btrfs (vysvětleno na příkladech)Nástroj btrfs
Pomocí příkazu btrfs můžete spravovat a zobrazovat informace o systému souborů Btrfs. Příkaz vyžaduje dílčí příkaz. Pro seznam dílčích příkazů zadejte btrfs bez jakýchkoli argumentů:
# 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]'.
Btrfs subvolume utility
Pomocí příkazu btrfs subvolume můžete spravovat a reportovat subvolume Btrfs. Níže jsou uvedeny některé příklady vytváření podsvazků btrfs a prohlížení informací o nich.
1. Vytvořte podsvazek btrfs
Pomocí příkazu btrfs subvolume create vytvořte subvolume. Následující příklad vytvoří podsvazek s názvem SV1 v systému souborů Btrfs připojeném k /btrfs:
# btrfs subvolume create /btrfs/SV1 Create subvolume '/btrfs/SV1'
2. Zobrazit podsvazky btrfs
Použijte příkaz btrfs subvolume list k zobrazení pouze dílčích svazků v systému souborů Btrfs, jako v tomto příkladu:
# btrfs subvolume list /btrfs ID 257 gen 12 top level 5 path SV1 ID 258 gen 9 top level 5 path SV1-snap
Tento příkaz také zobrazí ID subvolume (257), generování kořenového ID B-stromu (12) a ID nejvyšší úrovně (5).
2. Vytvořte snímky subvolume btrfs
Pomocí příkazu btrfs subvolume snapshot vytvořte zapisovatelný/čitelný snímek subvolume. Následující příklad vytvoří snímek podsvazku SV1:
# btrfs subvolume snapshot /btrfs/SV1 /btrfs/SV1-snap Create a snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-snap’
Použijte snímek subvolume btrfs -r možnost vytvořit snímek pouze pro čtení:
# btrfs subvolume snapshot –r /btrfs/SV1 /btrfs/SV1-rosnap Create a readonly snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-rosnap’
Nástroje souborového systému btrfs
Pomocí příkazu souborového systému btrfs můžete spravovat a hlásit systémy souborů Btrfs. Seznam dostupných příkazů je následující:
- souborový systém btrfs df
- zobrazení souborového systému btrfs
- Synchronizace souborového systému btrfs
- Defragmentace souborového systému btrfs
- změna velikosti souborového systému btrfs
- vyváženost souborového systému btrfs
- štítek souborového systému btrfs
1. btrfs filesystem df Utility
Když je souborový systém připojen a je do něj zkopírován soubor, může výstup příkazu df produkovat nepřesné informace pro souborový systém Btrfs. Chcete-li získat přesné informace o prostoru pro souborový systém Btrfs, použijte příkaz 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 show|sync Utilities
K zobrazení struktury souborového systému použijte příkaz btrfs filesystem show. Syntaxe je následující:
# 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. Použijte příkaz btrfs filesystem sync k vynucení synchronizace pro souborový systém. Souborový systém musí být připojen. Chcete-li vynutit synchronizaci souborového systému připojeného na /btrfs:
# btrfs filesystem sync /btrfs FSSync '/btrfs'3. Nástroj pro defragmentaci souborového systému btrfs
Btrfs poskytuje online defragmentaci systému souborů, souboru nebo adresáře. Online defragmentační zařízení reorganizuje data do souvislých bloků, kdykoli je to možné, za účelem vytvoření větších částí dostupného místa na disku a zlepšení výkonu při čtení a zápisu. K defragmentaci souboru nebo adresáře použijte příkaz btrfs filesystem defragment.
# btrfs filesystem defragment [options] [file]|[dir] [...]Dostupné možnosti zahrnují následující:
Možnost | Popis |
---|---|
-v | Podrobné |
-c | Komprimujte obsah souboru během defragmentace. |
-r | Defragmentujte soubory rekurzivně. |
-f | Po defragmentaci vyprázdnit systém souborů. |
-s start | Defragmentujte pouze od začátku bajtů dále. |
-l len | Defragmentujte pouze do len bajtů. |
-t size | Defragmentujte soubory pouze o velikosti alespoň bajtů. |
Automatickou defragmentaci můžete nastavit zadáním "-o autodefrag ", když připojujete souborový systém. Nedefragmentujte s jádry do verze 2.6.37, pokud jste vytvořili snímky nebo snímky souborů pomocí "cp --reflink Btrfs v těchto dřívějších jádrech odpojuje kopie dat typu copy-on-write.
4. Nástroj pro změnu velikosti souborového systému btrfs
Btrfs poskytuje online změnu velikosti souborového systému. Použijte "změnu velikosti souborového systému btrfs " ke změně velikosti souborového systému. Pro změnu velikosti musíte mít k dispozici místo, protože příkaz nemá žádný vliv na základní zařízení. Syntaxe je následující:
btrfs filesystem resize [devid:][+/-][newsize][gkm]|[devid:]max [path]
Popis parametrů:
- + velikost novinek – Zvyšuje velikost systému souborů o velikost novinek
- - velikost novinek – Sníží velikost systému souborů o velikost novinky
- newsize – Určuje množství novinek
- g, k nebo m – Určuje jednotku velikosti novinek (GB, KB nebo MB). Nejsou-li zadány žádné jednotky, výchozí hodnota parametru jsou bajty.
- max – Určuje, že systém souborů zabírá veškerý dostupný prostor
Chcete-li například zmenšit velikost systému souborů o 2 GB:
# btrfs filesystem resize -2G /btrfs Resize '/btrfs/'' of '-2G'
5. btrfs zařízení Utilities
Ke správě zařízení v souborových systémech Btrfs použijte příkaz zařízení btrfs. „Kontrola zařízení btrfs " příkaz prohledá fyzická zařízení, která hledají členy svazku Btrfs. Tento příkaz umožňuje připojení vícediskového souborového systému Btrfs bez zadání všech disků v příkazu mount. Nemusíte spouštět kontrolu zařízení btrfs z příkazového řádku, protože udev automaticky spustí skenování zařízení btrfs při spouštění.
1. Pomocí příkazu btrfs device add přidejte zařízení do připojeného souborového systému, jako v tomto příkladu:
# btrfs device add /dev/sdd /btrfs
2. Po přidání zařízení použijte příkaz btrfs filesystem balance:
# btrfs filesystem balance /btrfs
3. Pomocí příkazu btrfs device delete odstraňte zařízení ze systému souborů:
# btrfs device delete /dev/sdd /btrfs
6. btrfs scrub Utilities
Pomocí příkazu btrfs scrub můžete spravovat scrubbing v souborových systémech Btrfs. Drhnutí se ve výchozím nastavení provádí na pozadí. Pokouší se nahlásit a opravit špatné bloky v systému souborů. Dostupné příkazy zahrnují:
- Zahájení čištění btrfs
- btrfs scrub cancel
- Obnovení čištění btrfs
- Stav čištění btrfs
1. Pomocí příkazu btrfs scrub start spusťte scrub na všech zařízeních souborového systému nebo na jednom zařízení.
# btrfs scrub start /btrfs
2. Pomocí příkazu btrfs scrub status získáte stav úlohy čištění. Následující příklad obsahuje podrobné informace o čištění o každém zařízení v systému souborů:
# btrfs scrub status –dR /btrfs
3. Pomocí příkazu btrfs scrub cancel zrušte běžící úlohu čištění:
# btrfs scrub cancel /btrfs
4. Pomocí příkazu btrfs scrub obnovit k obnovení dříve zrušeného nebo přerušeného čištění:
# btrfs scrub resume /btrfs
7. štítek btrfs filesyetm
Pomocí příkazu "btrfs filesystem label" zobrazte jmenovku souborového systému. Například:
# btrfs filesystem label /btrfs Btrfs