Chcete si zabezpečit svá data v Linuxu pomocí snímků, pro případ nechtěného smazání? Souborový systém Btrfs vám to umožní. Než začnete, ujistěte se, že máte v systému Linux blokové zařízení s formátováním Btrfs. Pokud máte disk, který chcete převést na Btrfs, postupujte podle následujících instrukcí. Chcete použít Btrfs jako kořenový systém? Během instalace zvolte „vlastní instalaci“ a jako souborový systém vyberte Btrfs.
Kromě toho, že musíte mít blokové zařízení s naformátovaným systémem souborů Btrfs, potřebujete také nainstalovat balíček btrfs-progs.
Poznámka: Pro zjištění, které blokové zařízení chcete formátovat, můžete použít příkaz lsblk
.
Btrfs v Linuxu
Před formátováním disku si zálohujte všechna data. Poté otevřete terminál a získejte přístup roota pomocí sudo -s
. S právy roota použijte příkaz mkfs
pro vytvoření nového souborového systému. V tomto příkladu použijeme /dev/sdd1
:
mkfs.btrfs -f /dev/sdd1
Řešení problémů
Disk po naformátování na Btrfs nefunguje správně? Možná bude nutné vytvořit novou tabulku oddílů. Postup je následující:
parted /dev/sdd mklabel gpt mkpart primary btrfs 1MiB 100%
Ukončete nástroj parted:
quit
Poté spusťte znovu příkaz pro formátování:
mkfs.btrfs -f /dev/sdd1
Tvorba snímků s Btrfs
Před vytvořením snímků musíte vytvořit několik subsvazků. Používáte Btrfs jako svůj hlavní systém? Pak tento krok přeskočte a přejděte rovnou k nastavení subsvazků. Tento postup použijte jen v případě, že pracujete s sekundárním diskem s Btrfs, který musíte připojit. V tomto případě je disk /dev/sdd
.
sudo -s mkdir /btrfs mount -t btrfs /dev/sdd1 /btrfs
Hlavní složka Btrfs je vytvořena, připojena a připravena k použití. Nyní je čas vytvořit subsvazek. Co to je? Jedná se o funkci Btrfs, která umožňuje vytvořeným svazkům chovat se podobně jako bloková zařízení (např. /dev/sda1
).
Ve skutečnosti to nejsou bloková zařízení, ale speciální adresáře využívající technologii „name spaces“. Zjednodušeně řečeno, Btrfs tuto technologii využívá k vytváření mnoha jednotlivých připojitelných subsvazků, které fungují podobně jako bloková zařízení.
Chcete-li vytvořit subsvazek, postupujte takto. Ukážeme si základní strukturu subsvazku, začínající v hlavní složce /btrfs
. Svazky můžete vytvářet kdekoli v systému souborů Btrfs.
Nejprve získejte roota. Tyto příkazy lze provádět s právy sudo, ale je lepší získat roota přímo (sudo -s
nebo su
). Poté proveďte:
btrfs subvolume create /btrfs/vol_a
První příkaz vytvoří subsvazek Btrfs pod /mnt/btrfs
na disku /dev/sdd1
. Můžete zde skončit a použít ho k ukládání dat. Případně můžete vytvořit i další subsvazky. Pro vytvoření subsvazku v jiném subsvazku použijte:
btrfs subvolume create /btrfs/vol_a/vol_b
Pro vytvoření snímku zkopírujte všechna data do subsvazku. Například:
cp -R ~/Documents /btrfs/vol_a/
a potom pomocí systému souborů vytvořte snímek.
btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1
Poznámka: Název „backup_1“ můžete nahradit libovolným názvem. Pojmenujte snímky jasně, abyste se v nich později vyznali.
Pro obnovu snímku použijte: mv /btrfs/vol_a/ /mnt/btrfs/vol_a/backup_1
Připojení subsvazků jako blokových zařízení
Subsvazky můžete připojovat jednotlivě jako nezávislá zařízení. Pro zobrazení všech známých svazků použijte:
btrfs subvolume list /btrfs
Projděte seznam, najděte ID subsvazku a připojte ho pomocí příkazu mount
. Po získání ID ho odpojte.
mount -o subvolid=XXX /dev/sdX /btrfs
Nahraďte XXX ID a /dev/sdX
jednotkou, kde se svazek nachází. Subsvazek nemůžete připojit ke stejnému oddílu jako oddíl nejvyšší úrovně, ale k jinému oddílu nebo disku s formátem Btrfs. Například:
mount -o subvolid=38 /dev/sdc1 /btrfs
Subsvazek s ID 38 je na /dev/sdd1
, ale /dev/sdc1
je také Btrfs, takže je možné k němu připojovat snímky. Toto není nutné provádět na samostatných discích, můžete je připojit i do /dev/sdc2
, atd.
Nastavení výchozího subsvazku
Nastavení výchozího subsvazku usnadňuje interakci s ním. Pro nalezení ID použijte subvolume list
a poté ho použijte v příkazu set-default
:
btrfs subvolume set-default XXX /btrfs
Pro zrušení výchozího nastavení použijte stejný příkaz, ale místo ID svazku použijte číslo 0. Tím se vrátíte do továrního nastavení a poté můžete libovolně používat ostatní subsvazky jako výchozí.
btrfs subvolume set-default 0 /btrfs
Smazání subsvazku
Pokud se budete chtít zbavit svazku, použijte nástroje souborového systému Btrfs, neodstraňujte ho ručně pomocí příkazů jako rmdir
nebo rm -rf
.
Pro smazání svazku použijte:
btrfs subvolume delete /btrfs/volume-name