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.
data a metadata kopírování při zápisu
– Btrfs poskytuje úložiště souborů založené na rozsahu s maximální velikostí souboru 50 TB a maximální velikostí systému souborů 50 TB.
– Všechna data a metadata se kopírují při zápisu. To znamená, že bloky dat se na disku nemění. Btrfs pouze zkopíruje bloky a poté kopie zapíše na jiné místo.
– Neaktualizace původního umístění eliminuje riziko částečné aktualizace nebo poškození dat při výpadku napájení.
– Kopírování -write charakter Btrfs také usnadňuje funkce souborového systému, jako je replikace, migrace, zálohování a obnova dat.
Snímky Btrfs
– Btrfs umožňuje vytvářet jak čitelné, tak zapisovatelné snímky.
– Snímek je kopie celého dílčího svazku Btrfs pořízeného v daném časovém okamžiku.
– Snímky se zobrazují jako normální adresáře a můžete k nim přistupovat snímek jako kterýkoli jiný adresář.
– Zapisovatelné snímky umožňují vrátit souborový systém do předchozího stavu. Můžete pořídit snímek, provést upgrade systému a restartovat do snímku, pokud aktualizace způsobí problémy. Všechny snímky jsou ve výchozím nastavení zapisovatelné, ale máte také možnost vytvářet snímky pouze pro čtení.
– Snímky pouze pro čtení jsou užitečné pro zálohování a po dokončení zálohování je lze smazat.
Vestavěná podpora RAID
– Btrfs má také vestavěnou podporu RAID pro úrovně RAID-0, RAID-1 a RAID-10.
– RAID Btrfs není vícediskový RAID jako softwarová zařízení RAID vytvořená pomocí příkazu mdadm. Není to ani blokový RAID, protože nezrcadlí bloková zařízení.
– RAID Btrfs jen zajišťuje, že pro každý blok existuje „x“ množství kopií. Například pro RAID-1 Btrfs pouze ukládá dvě kopie všeho na dvou různých zařízeních.
– Btrfs udržuje CRC pro všechna metadata a data, takže vše je kontrolováno, aby byla zachována integrita dat proti poškození. Pokud u konfigurace RAID-1 nebo RAID-10 selže kontrolní součet při prvním čtení, jsou data stažena z další kopie.
online změna velikosti a defragmentace
– Btrfs má online změnu velikosti a defragmentaci.
– Můžete přidávat nebo odebírat zařízení, zatímco systémy souborů zůstávají online.
– Když je zařízení odebráno, rozsahy na něm uložené jsou přerozděleny do ostatních zařízení v souborový systém.
– Zařízení můžete také vyměnit, když je Btrfs online. Btrfs znovu vyváží rozsahy na novém disku a poté můžete starý disk vypustit z pole Btrfs.
Transparentní komprese
– Btrfs má transparentní kompresi a aktuálně podporuje dvě metody komprese:zlib a LZO (výchozí nastavení).
– LZO nabízí lepší kompresní poměr, zatímco zlib nabízí rychlejší kompresi.
– Btrfs dokáže určit, zda lze bloky komprimovat, a proto komprimuje pouze tehdy, je-li to možné.
– Povolíte kompresi a určíte metodu komprese pomocí volby připojení. Chcete-li například povolit kompresi LZO nebo zlib:
# mount –o compress=lzo|zlib [device] [mount_point]
– Můžete také přinutit Btrfs vždy komprimovat data:
# mount -o compress-force [device] [mount_point]
Výkon Btrfs se zlepšuje s použitím ssd
– Btrfs automaticky detekuje disky SSD (Solid State Drive) a vypne všechny optimalizace pro rotační média.
– Například na rotujících discích je důležité ukládat související data blízko sebe, aby se omezilo vyhledávání. To vyžaduje cykly CPU k získání dobré datové lokality na rotujících discích, což u SSD není tak důležité.
– podpora TRIM je také optimalizací pro SSD. Sděluje SSD, které bloky již nejsou potřeba a je možné je přepsat.
Efektivní úložiště pro malé soubory
– Btrfs poskytuje efektivní úložiště pro malé soubory.
– Všechny systémy souborů Linux řeší úložiště ve velikostech bloků, například 4 KB. U jiných souborových systémů soubor menší než 4 KB plýtvá zbývajícím místem.
– Btrfs ukládá tyto menší soubory přímo do metadat, čímž poskytuje významnou výkonnostní výhodu oproti jiným souborovým systémům při vytváření a čtení malých souborů.
Jak vyladit souborový systém Btrfs pro lepší výkon