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.
Nástroje zařízení btrfs
Ke správě zařízení v souborových systémech Btrfs použijte příkaz zařízení btrfs. Seznam dostupných příkazů je následující:
# btrfs device usage: btrfs device [command] [args] btrfs device add [options] [device] [device...] [path] Add a device to a filesystem btrfs device delete [device]|[devid] [device|devid...] [path] btrfs device remove [device]|[devid] [device|devid...] [path] Remove a device from a filesystem btrfs device scan [(-d|--all-devices)|[device] [device...]] Scan devices for a btrfs filesystem btrfs device ready [device] Check device to see if it has all of its devices in cache for mounting btrfs device stats [options] [path]|[device] Show device IO error statistics btrfs device usage [options] [path] [path..] Show detailed information about internal allocations in devices. manage and query devices in the filesystem
Příkaz btrfs device scan skenuje fyzická zařízení a hledá č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 „btrfs device scan“ z příkazového řádku, protože udev automaticky spustí btrfs device scan při bootování. Pomocí příkazu btrfs device add přidejte zařízení do systému souborů. V tomto příkladu je aktuální struktura systému souborů následující:
# btrfs filesystem show Label: none uuid: ba60ac96-1628-4656-b68b-c7327ff49179 Total devices 1 FS bytes used 325.29MiB devid 1 size 10.00GiB used 867.66MiB path /dev/sda
Příkaz btrfs filesystem df zobrazuje:
# btrfs filesystem df /btrfs Data, single: total=547.66MiB, used=324.75MiB System, single: total=32.00MiB, used=16.00KiB Metadata, single: total=288.00MiB, used=528.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
Výstup příkazu df zobrazuje:
# df -h /btrfs Filesystem Size Used Avail Use% Mounted on /dev/sda 10G 342M 9.4G 4% /btrfs
Přidejte 10 GB disk /dev/sdb do systému souborů připojeného na /btrfs pomocí příkazu btrfs device add:
# btrfs device add /dev/sdb /btrfs
Výstup příkazu btrfs filesystem show ukazuje nově přidané zařízení:
# btrfs filesystem show Label: none uuid: ba60ac96-1628-4656-b68b-c7327ff49179 Total devices 2 FS bytes used 325.29MiB devid 1 size 10.00GiB used 867.66MiB path /dev/sda devid 2 size 10.00GiB used 0.00B path /dev/sdb
Výstup příkazu btrfs filesystem df nevykazuje po přidání nového zařízení žádný rozdíl:
# btrfs filesystem df /btrfs Data, single: total=547.66MiB, used=324.75MiB System, single: total=32.00MiB, used=16.00KiB Metadata, single: total=288.00MiB, used=528.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
Ve výstupu není žádný rozdíl, protože nově přidané zařízení ještě nebylo přiděleno ani pro data, ani pro metadata. Dodatečná velikost se projeví ve výstupu df:
# df -h /btrfs Filesystem Size Used Avail Use% Mounted on /dev/sda 20G 342M 20G 2% /btrfs
Po přidání zařízení se doporučuje spustit v systému souborů následující příkaz pro vyvážení:
# btrfs filesystem balance /btrfs WARNING: Full balance without filters requested. This operation is very intense and takes potentially very long. It is recommended to use the balance filters to narrow down the balanced data. Use 'btrfs balance start --full-balance' option to skip this warning. The operation will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. Done, had to relocate 17 out of 17 chunks
Spuštění tohoto příkazu přerozdělí prostor vyvážením částí souborového systému na všech zařízeních. Tento příkaz také získá zpět veškeré nevyužité místo. K odstranění zařízení ze systému souborů použijte příkaz btrfs device delete. Příklad:
# btrfs device delete /dev/sdb /btrfsJak používat příkaz „btrfs scrub“ ke správě scrubbingu na souborových systémech Btrfs
Příklady příkazu „btrfs“ k vytvoření a správě systému souborů Btrfs
Jak vytvořit a připojit systém souborů Btrfs (vysvětleno na příkladech)