Kontrolu celého systému souborů můžete zahájit spuštěním úlohy čištění systému souborů. Úloha čištění běží ve výchozím nastavení na pozadí a kontroluje integritu celého systému souborů. Automaticky se pokusí nahlásit a opravit všechny špatné bloky, které na cestě najde. Namísto procházení celé diskové jednotky se čistící úloha zabývá pouze daty, která jsou skutečně přidělena. V závislosti na přiděleném prostoru na disku je to mnohem rychlejší než provádění skenování celého povrchu disku.
Čištění zahrnuje čtení všech dat ze všech disků a ověřování kontrolních součtů. Pokud některé hodnoty nejsou správné, lze data opravit načtením dobré kopie bloku z jiné jednotky. Čistící kód se také skenuje při čtení automaticky. Doporučuje se, abyste vysoce využívané souborové systémy promazávali jednou týdně a všechny ostatní systémy souborů jednou měsíčně.
Následuje seznam dostupných příkazů scrub btrfs:
# btrfs scrub
usage: btrfs scrub [command] [options] [path]|[device]
btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] [path]|[device]
Start a new scrub. If a scrub is already running, the new one fails.
btrfs scrub cancel [path]|[device]
Cancel a running scrub
btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] [path]|[device]
Resume previously canceled or interrupted scrub
btrfs scrub status [-dR] [path]|[device]
Show status of running or finished scrub
verify checksums of data and metadata Btrfs scrub Utility:Příklady
Pomocí příkazu btrfs scrub start spustíte scrub na všech zařízeních systému souborů nebo na jednom zařízení. Syntaxe je následující:
# btrfs scrub start [-BdqrR] [-c ioprio_class ...
Popis možností:
| Možnost | Popis |
|---|---|
| -B | Nespouštět na pozadí a po dokončení tisknout statistiky. |
| -d | Vytisknout samostatné statistiky pro každé zařízení systému souborů. Tato volba se používá ve spojení s volbou -B. |
| -q | Spouštět v tichém režimu, vynechávat chybové zprávy a statistiky. |
| -r | Spustit v režimu pouze pro čtení, neopravovat žádné chyby. |
| -R | Režim tisku Raw. Místo souhrnu vytiskněte úplná data. |
| -c ioprio_class | Nastavte třídu priority IO (viz manuálová stránka ionice). |
| -n ioprio_classdata | Nastavte data třídy priority IO (viz manuálová stránka ionice). |
Spouštění btrfs scrub
Následující příklad spustí scrubu na souborovém systému Btrfs, který je připojen k /btrfs.
# btrfs scrub start /btrfs scrub started on /btrfs, fsid ba60ac96-1628-4656-b68b-c7327ff49179 (pid=11164)
Pomocí příkazu btrfs scrub status získáte stav úlohy čištění. K dispozici je jedna možnost:
- -d – Tisk samostatných statistik pro každé zařízení systému souborů.
Níže je uveden příklad příkazu btrfs scrub status na zdravém souborovém systému. V případě poškozeného souborového systému uvidíte ve výstupu opravené chyby.
# btrfs scrub status /btrfs scrub status for ba60ac96-1628-4656-b68b-c7327ff49179 scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02 total bytes scrubbed: 325.29MiB with 0 errors
S volbou „-d“ ve výše uvedeném příkazu můžete získat stav na úrovni zařízení, jak je znázorněno v příkladu níže.
# btrfs scrub status /btrfs -d scrub status for ba60ac96-1628-4656-b68b-c7327ff49179 scrub device /dev/sda (id 1) history scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02 total bytes scrubbed: 325.29MiB with 0 errors
Zrušení/obnovení úlohy čištění btrfs
Můžete také zrušit běžící úlohu čištění. Postup se ukládá do souboru postupu čištění a můžete v něm pokračovat později. Zrušení čištění:
# btrfs scrub cancel /btrfs
Chcete-li obnovit zrušenou nebo přerušenou úlohu čištění:
# btrfs scrub resume /btrfs
Příkaz obnovení při čištění má stejné možnosti jako příkaz spuštění čištění. Btrfs ukládá poslední dvě minuty, ve 30sekundových intervalech, generování root ID. Btrfs pokračuje v používání těchto generací, i když v souborovém systému nejsou žádné změny.
Pokud scrub neopraví chyby, můžete použít následující možnost připojení k návratu ke známému dobrému B-stromu, protože zbytek stromu je dostupný díky kopírování při zápisu:
# mount –o recovery /dev/sda /btrfs