V súborovom systéme Btrfs s viacerými zariadeniami alebo Btrfs RAID môže v závislosti od konfigurácie súborového systému existovať viac kópií blokov údajov / metadát uložených na rôznych miestach úložných zariadení pridaných do súborového systému Btrfs. Keď nástroj na čistenie Btrfs nájde poškodený blok údajov / metadát, prehľadá všetky úložné zariadenia pridané do súborového systému Btrfs, aby našiel duplikáty tohto bloku údajov / metadát. Po nájdení duplikátu tohto bloku údajov / metadát sa poškodený blok údajov / metadát prepíše správnym blokom údajov / metadát. Týmto spôsobom nástroj na čistenie Btrfs opravuje poškodené bloky údajov / metadát v súborovom systéme Btrfs alebo RAID Btrfs pre viac zariadení.
V tomto článku vám ukážem, ako používať nástroj na čistenie Btrfs na vyhľadanie a opravu poškodených blokov údajov / metadát v súborovom systéme Btrfs alebo RAID Btrfs pre viac zariadení. Takže poďme na to.
Skratky
RAID - Redundantné pole lacných / nezávislých diskov
GB - Gigabyte
Predpoklady
Ak chcete nasledovať tento článok, musíte mať funkčný súborový systém Btrfs pre viac zariadení alebo Btrfs RAID.
V systéme som vytvoril Btrfs RAID RAID-1 konfigurácia (namontovaná na / údaje adresár) pomocou 4 pamäťových zariadení sdb, sdc, sdd, a sde, ako vidíte na snímke obrazovky nižšie. Budem používať tento Btrfs RAID na demonštráciu čistenia Btrfs v tomto článku.
$ sudo btrfs využitie / dáta súborového systému
Ak potrebujete pomoc s inštaláciou súborového systému Btrfs na Ubuntu, prečítajte si môj článok Inštalácia a používanie Btrfs na Ubuntu 20.04 LTS.
Ak potrebujete pomoc s inštaláciou súborového systému Btrfs na Fedore, prečítajte si môj článok Inštalácia a používanie Btrfs na Fedore 33.
Ak potrebujete pomoc s vytvorením Btrfs RAID, pozrite si môj článok Ako nastaviť Btrfs RAID.
Generovanie fiktívnych súborov na súborovom systéme Btrfs
Aby sme vám ukázali, ako funguje nástroj na čistenie Btrfs, musíme vygenerovať nejaké náhodné súbory, ktoré vyplnia súborový systém Btrfs. Vytvorme shell skript, ktorý robí práve toto.
Vytvorte nový shell skript genfiles.š v / usr / local / bin / adresár takto:
$ sudo nano / usr / local / bin / genfiles.š
Zadajte nasledujúce riadky kódov do genfiles.š shell skript.
#!/ bin / bashaj keď je to pravda
robiť
FILENAME = $ (uuidgen)
echo "[Vytvára sa] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = progress
echo "[Vytvorené] $ FILENAME"
hotový
Po dokončení stlačte
The genfiles.š shell skript beží nekonečne zatiaľ čo slučka.
aj keď je to pravdarobiť
# ďalšie kódy
hotový
Nasledujúci riadok generuje UUID pomocou uuidgen príkaz a uloží UUID do súboru NÁZOV SÚBORU premenná.
Nasledujúci riadok vytlačí správu na konzole pred súborom NÁZOV SÚBORU je vygenerovaný.
Nasledujúci riadok generuje nový náhodný súbor NÁZOV SÚBORU pomocou dd príkaz. Súbor bude 256 MB vo veľkosti.
Nasledujúci riadok vytlačí správu na konzole za súborom NÁZOV SÚBORU je vygenerovaný.
Pridajte povolenie na spustenie do genfiles.š nasledujúci shell skript:
s
The genfiles.š shell skript by mal byť teraz prístupný ako všetky ostatné príkazy.
$ ktoré genfiles.š
Poďme vygenerovať nejaké náhodné súbory v Btrfs RAID pripojenom k / údaje adresár.
Prejdite na ikonu / údaje adresár, do ktorého je pripojený RAID Btrfs, nasledovne:
$ cd / dáta
Ako vidíte, v mojom Btrfs RAID v súčasnosti nie sú k dispozícii žiadne súbory.
$ ls -lh
Generovanie náhodných súborov v aktuálnom pracovnom adresári (/ údaje v tomto prípade), spustite genfiles.š nasledujúci shell skript:
$ sudo genfiles.š
The genfiles.š shell skript by mal začať generovať náhodné súbory v / údaje adresár.
The genfiles.š skript generuje náhodné súbory. Skript nechajte niekoľko minút bežať, aby vyplnil asi 2–3 GB diskového priestoru disku Btrfs RAID.
Ak chcete zastaviť genfiles.š shell skript, stlačte
Ako vidíte, niektoré náhodné súbory sa generujú v Btrfs RAID.
$ ls -lh
Generoval som asi 13 GB náhodných súborov v Btrfs RAID pripojenom k / údaje adresár, ako vidíte na snímke obrazovky nižšie.
$ sudo du -sh / dáta
Práca s nástrojom Btrfs Scrub Tool
V tejto časti vám ukážem, ako používať nástroj na čistenie Btrfs. Začnime.
Proces čistenia môžete spustiť na súborovom systéme Btrfs pripojenom na serveri / údaje adresár s nasledujúcim príkazom:
$ sudo btrfs scrub start / data
Proces čistenia Btrfs by sa mal spustiť na súborovom systéme Btrfs namontovanom na serveri / údaje adresár.
Môžete vidieť stav procesu čistenia Btrfs bežiaceho na súborovom systéme Btrfs namontovanom na serveri / údaje adresár takto:
$ sudo btrfs stav / dáta čistenia
Ako vidíte, proces čistenia Btrfs je stále bežiaci.
Vyčistenie súborového systému Btrfs alebo Btrfs RAID, ktorý obsahuje veľa súborov, bude trvať dlho.
Po dokončení procesu čistenia Btrfs by sa mal stav zmeniť na dokončil, ako vidíte na snímke obrazovky nižšie.
$ sudo btrfs stav / dáta čistenia
Môžete tiež vidieť stav čistenia Btrfs pre každé úložné zariadenie pridané do súborového systému Btrfs (pripojené k / údaje adresár) osobitne nasledovne:
$ sudo btrfs scrub stav -d / dáta
Povedal som vám, že proces čistenia Btrfs trvá vo veľkom súborovom systéme Btrfs dlho. Jednou z veľkých výhod čistiaceho nástroja Btrfs je, že jeho proces je možné kedykoľvek pozastaviť a obnoviť.
Pozrime sa, ako pozastaviť a obnoviť proces čistenia Btrfs.
Najskôr spustite nový proces čistenia Btrfs na súborovom systéme Btrfs pripojenom v adresári / data nasledovne:
$ sudo btrfs scrub start / data
Ak chcete zrušiť alebo pozastaviť proces čistenia Btrfs, ktorý je momentálne spustený na súborovom systéme Btrfs namontovanom na serveri / údaje adresára, spustite nasledujúci príkaz:
$ sudo btrfs scrub zrušiť / dáta
Spustený proces čistenia Btrfs by sa mal zrušiť alebo pozastaviť.
Ako vidíte, stav čistenia Btrfs je potratený. Proces čistenia Btrfs už teda nebeží.
$ sudo btrfs stav / dáta čistenia
Ak chcete pokračovať v procese čistenia Btrfs, ktorý ste zrušili alebo pozastavili, spustite nasledujúci príkaz:
$ sudo btrfs scrub životopis / dáta
Mal by sa pokračovať v procese čistenia Btrfs.
Ako vidíte, stav čistenia Btrfs je teraz bežiaci. Proces čistenia Btrfs je teda obnovený.
$ sudo btrfs stav / dáta čistenia
Po dokončení procesu čistenia Btrfs by sa mal stav čistenia Btrfs zmeniť na dokončil.
$ sudo btrfs stav / dáta čistenia
Záver
V tomto článku som vám ukázal, ako pracovať s nástrojom na čistenie Btrfs na vyhľadanie a opravu poškodených blokov údajov / metadát súborového systému s viacerými zariadeniami Btrfs alebo RAID. Ukázal som vám, ako zrušiť / pozastaviť a obnoviť proces čistenia Btrfs, aj keď je tiež spustený.