Portál AbcLinuxu, 3. května 2025 18:50
V tomto díle seriálu se dozvíte, jak systém souborů Btrfs vytvořit a připojit, ale i o dalších nástrojích pro práci s ním.
Kód systému souborů Btrfs se v jádře nachází od vydání 2.6.29 z počátku roku 2009. Od té doby byl vývoj jaderného kódu dělán přímo v upstreamu, takže hlavní řada jádra obsahuje veškerý kód vhodný k obecnému používání. Uživatelům, kteří chtějí Btrfs používat k práci, se zpravidla doporučuje držet se aktuálních vydání hlavní řady. Pořád se objevuje velké množství oprav; je tedy asi lepší používat opravený kód, než na vlastní kůži zjistit, proč byly tyto opravy vlastně potřeba. Ještě novější kód pak lze najít ve vývojovém repozitáři Btrfs, ale to by pro lidi, kteří se na vývoji Btrfs aktivně nepodílejí, mohlo být až moc čerstvé.
Aktuální nástroje pro uživatelský prostor, které se starají o vytváření a správu systémů souborů Btrfs, lze získat z následujícího repozitáře:
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
Až donedávna bylo posledním vydáním btrfs-progs 0.19 vytvořené v červnu 2009. Ke konci listopadu bylo ale označení verze změněno na „v3.12“, čímž byla zahájena nová éra, kde čísla verzí kopírují vydání jádra. Vývojář Btrfs Chris Masom tehdy poznamenal, že očekává, že bude dělat vydání btrfs-progs stejně často jako bude vydáváno jádro. Jelikož je na straně uživatelského prostoru potřeba udělat hodně práce, tak by mělo pro uživatele Btrfs jít o příjemnou změnu.
Opět platí, že ti, kdo chtějí používat Btrfs pro skutečnou práci, by se měli držet aktuálních verzí těchto nástrojů. Do tohoto kódu směruje hodně práce (a oprav chyb), ale je nutné aktualizovat, abyste mohli tuto práci zužitkovat. Některé distribuce se drží vývoje v repozitáři btrfs-progs více než jiné; Fedora 19 už má například v3.12, takže její uživatelé nemusejí sestavovat kód sami. Ti ostatní, kteří nemají takové štěstí, by měli sestavování kódu zvážit.
Nástroj pro vytváření systémů souborů Btrfs se pochopitelně nazývá mkfs.btrfs; je možné jej zavolat buď přímo nebo přes program mkfs. Nejjednodušeji se dá spustit takto:
mkfs.btrfs /dev/název-oddílu
Kde název-oddílu je pochopitelně název oddílu, kde se má systém souborů nacházet.
mkfs.btrfs má samosebou hodně parametrů, i když je jich méně než u jiných systémů souborů. Mezi některé z nich, co jsou důležité pro základní používání, patří --force (nutné pro přesvědčení mkfs.btrfs, že má přepsat existující systém souborů na cílovém oddílu), --label pro nastavení popisku a --version pro prosté vypsání verze a ukončení. Je také možné předat parametr --mixed, aby systém souborů míchal bloky dat a metadat dohromady. Běžně to fungování zpomalí, takže se to doporučuje jen v případech, kdy je diskové místo naprosto nejdůležitější; manuálová stránka doporučuje tuto volbu používat jen u systémů souborů do velikosti 1 GB.
Systémy souborů jsou, jak je běžné, přístupné přes příkaz mount. Stejně jako většina netriviálních systémů souborů má Btrfs řadu specializovaných voleb pro mount, pomocí kterých je možné řídit jeho chování. Některé z těchto voleb probereme v dalších dílech; mezi ty zajímavé patří:
Připojený systém souborů Btrfs se chová převážně jako jakýkoliv jiný systém souborů na Linuxu. Sem tam se vynoří nějaké odlišnosti. Mohou být i znepokojivé, například když smažete velký soubor a množství volného místa se nezvětší. Stačí se podívat o minutu nebo dvě později a chybějící místo se objeví – samozřejmě pokud není tento velký soubor součástí některého ze snapshotů. Btrfs dělá na pozadí více práce než spousta jiných systémů souborů.
Repozitář btrfs-progs obsahuje řadu dalších programů kromě mkfs.btrfs. Jednou z čerstvých novinek je nástroj pro kontrolu a opravu systému souborů btrfsck. Manuálová stránka nenechává o novosti tohoto nástroje pochyb: Vzhledem k tomu, že to není dobře otestované na reálných situacích, může btrfsck na rozbitém Btrfs napáchat místo oprav dodatečné chyby. Proto by si měli uživatelé spouštění btrfsck v režimu --repair dobře rozmyslet a spíše využít jedné z funkčností pro obnovu, kterou popisujeme níže.
Neexistence prověřeného nástroje btrfsck zůstává jedním z předních důvodů, proč se administrátoři tohoto systému souborů obávají. Smutnou pravdou zůstává ale to, že jediným způsobem, jak udělat opravdu účinný nástroj pro opravu systému souborů, je sledovat postupem času, jakými způsoby se systém souborů poškozuje a přicházet s řešeními, jak tyto problémy opravit. Proto se časem btrfsck rozvine v nástroj, který dovede řešit řadu problémů, ale není žádný způsob, jak tento proces urychlit.
Všichni ti, kdo pracují s Btrfs, časem dospějí k jinému nástroji nazvanému jednoduše btrfs. Tento nástroj je ve světě Btrfs takovým univerzálním švýcarským nožíkem; s ním je možné nad Btrfs provádět nespočet operací. btrfs implementuje řadu příkazů, kterými se v tomto seriálu budeme později zabývat. Za zmínku pro tentokrát stojí:
Zde popsané základy jsou postačující pro vyzkoušení Btrfs, se kterým budete zacházet jako s jiným unixovým systémem souborů, snad akorát s přídavkem v podobě komprese a kontrolních součtů dat. Jsou to ale právě pokročilé funkce, které činí Btrfs ve světě Linuxu opravdu jedinečným. Jedna z těchto funkcí – vestavěná podpora pro vícero zařízení a RAID – bude námětem dalšího dílu.
Pokud vím, tak příkaz df
lže o volném místě na btrfs partitionech. Mě většinou docházelo místo protože v pozadí běžel snapper a ukládal snapshoty file systému tak často, až se disk zaplnil a přitom df hlásilo volné místo.
příkaz btrfs fi show
by měl ukázat správnou hodnotu
příkaz snapper list
by měl vypsat jaké tam ty uložené snapshoty jsou
příkaz snapper delete číslo
je může vymazat
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.