V datotečnem sistemu Btrfs ali Btrfs RAID z več napravami je lahko odvisno od konfiguracije datotečnega sistema več kopij blokov podatkov / metapodatkov, shranjenih na različnih mestih shranjevalnih naprav, dodanih v datotečni sistem Btrfs. Ko orodje za čiščenje Btrfs najde poškodovan blok podatkov / metapodatkov, poišče podvojene kopije tega bloka podatkov / metapodatkov v vseh pomnilniških napravah, dodanih v datotečni sistem Btrfs. Ko je najdena podvojena kopija tega podatkovnega / metapodatkovnega bloka, se poškodovani podatkovni / metapodatkovni blok prepiše s pravilnim blokom podatkovnih / metapodatkov. Tako orodje za čiščenje Btrfs popravi poškodovane bloke podatkov / metapodatkov v datotečnem sistemu Btrfs ali Btrfs RAID z več napravami.
V tem članku vam bom pokazal, kako z orodjem za čiščenje Btrfs najdete in popravite poškodovane bloke podatkov / metapodatkov v datotečnem sistemu Btrfs ali Btrfs RAID z več napravami. Torej, začnimo.
Okrajšave
RAID - Odvečna paleta poceni / neodvisnih diskov
GB - Gigabajt
Pogoji
Če želite slediti temu članku, morate imeti delujoč datotečni sistem Btrfs z več napravami ali Btrfs RAID.
V storitvi Windows ustvaril sem Btrfs RAID RAID-1 konfiguracija (nameščena na / podatki imenik) z uporabo 4 pomnilniških naprav sdb, sdc, sdd, in sde, kot lahko vidite na spodnjem posnetku zaslona. Ta Btrfs RAID bom uporabil za demonstracijo čiščenja Btrfs v tem članku.
Uporaba / podatki datotečnega sistema $ sudo btrfs
Če potrebujete kakršno koli pomoč pri namestitvi datotečnega sistema Btrfs v Ubuntu, si oglejte moj članek Namestitev in uporaba Btrfs v Ubuntu 20.04 LTS.
Če potrebujete pomoč pri namestitvi datotečnega sistema Btrfs v Fedori, si oglejte moj članek Namestitev in uporaba Btrfs v Fedori 33.
Če potrebujete pomoč pri ustvarjanju Btrfs RAID, si oglejte moj članek Kako nastaviti Btrfs RAID.
Ustvarjanje lažnih datotek v datotečnem sistemu Btrfs
Da vam pokažemo, kako deluje orodje za čiščenje Btrfs, moramo ustvariti nekaj naključnih datotek, da zapolnimo datotečni sistem Btrfs. Ustvarimo skript lupine, ki počne prav to.
Ustvarite nov skript lupine genfili.sh v / usr / local / bin / imenik, kot sledi:
$ sudo nano / usr / local / bin / genfiles.sh
Vnesite naslednje vrstice kod v genfili.sh skript lupine.
#!/ bin / bashčeprav resnično
naredi
FILENAME = $ (uuidgen)
echo "[Ustvarjanje] $ FILENAME"
dd, če = / dev / random od = $ FILENAME bs = 1M count = 256 status = napredek
echo "[Ustvarjeno] $ FILENAME"
Končano
Ko končate, pritisnite
The genfili.sh skript lupine teče neskončno medtem zanko.
čeprav resničnonaredi
# druge kode
Končano
Naslednja vrstica ustvari UUID z uporabo uuidgen in shrani UUID v IME DATOTEKE spremenljivka.
Naslednja vrstica natisne sporočilo na konzoli pred datoteko IME DATOTEKE se ustvari.
Naslednja vrstica ustvari novo naključno datoteko IME DATOTEKE uporabljati dd ukaz. Datoteka bo 256 MB velikosti.
Naslednja vrstica natisne sporočilo na konzoli za datoteko IME DATOTEKE se ustvari.
Dodajte dovoljenje za izvrševanje genfili.sh skript lupine, kot sledi:
s
The genfili.sh skript lupine mora biti zdaj dostopen kot vsi drugi ukazi.
$ kateri genfili.sh
Ustvarimo nekaj naključnih datotek v Btrfs RAID, nameščenem v / podatki imenik.
Pomaknite se do / podatki imenik, v katerega je nameščen Btrfs RAID, kot sledi:
$ cd / podatki
Kot lahko vidite, v mojem Btrfs RAID trenutno ni na voljo datotek.
$ ls -lh
Če želite ustvariti nekaj naključnih datotek v trenutnem delovnem imeniku (/ podatki v tem primeru), zaženite genfili.sh skript lupine, kot sledi:
$ sudo genfiles.sh
The genfili.sh skript lupine naj začne ustvarjati naključne datoteke v / podatki imenik.
The genfili.sh skript ustvarja naključne datoteke. Pustite, da skript deluje nekaj minut, tako da zapolni približno 2-3 GB prostora na disku Btrfs RAID.
Ko želite ustaviti genfili.sh lupinski skript, pritisnite
Kot lahko vidite, se v Btrfs RAID ustvari nekaj naključnih datotek.
$ ls -lh
Ustvaril sem približno 13 GB naključnih datotek v Btrfs RAID, nameščenem v / podatki imenik, kot lahko vidite na spodnjem posnetku zaslona.
$ sudo du -sh / data
Delo z orodjem za čiščenje Btrfs
V tem poglavju vam bom pokazal, kako uporabljati orodje za čiščenje Btrfs. Začnimo.
Postopek čiščenja lahko začnete v datotečnem sistemu Btrfs, nameščenem na / podatki imenik z naslednjim ukazom:
$ sudo btrfs scrub start / data
Postopek čiščenja Btrfs je treba zagnati v datotečnem sistemu Btrfs, nameščenem na / podatki imenik.
Ogledate si lahko stanje postopka čiščenja Btrfs, ki se izvaja v datotečnem sistemu Btrfs, nameščenem na / podatki imenik, kot sledi:
$ sudo btrfs stanje čiščenja / podatki
Kot lahko vidite, postopek čiščenja Btrfs še vedno poteka teče.
Čiščenje datotečnega sistema Btrfs ali Btrfs RAID, ki vsebuje veliko datotek, bo trajalo dlje časa.
Ko je postopek čiščenja Btrfs končan, je treba status spremeniti v Dokončano, kot lahko vidite na spodnjem posnetku zaslona.
$ sudo btrfs stanje čiščenja / podatki
Ogledate si lahko tudi stanje čiščenja Btrfs za vsako shranjevalno napravo, dodano v datotečni sistem Btrfs (nameščeno v / podatki imenik) ločeno, kot sledi:
$ sudo btrfs piling status -d / data
Povedal sem vam, da postopek čiščenja Btrfs v velikem datotečnem sistemu Btrfs traja dolgo. Velika prednost orodja za čiščenje Btrfs je, da se lahko njegov postopek kadar koli zaustavi in nadaljuje.
Poglejmo, kako zaustaviti in nadaljevati postopek čiščenja Btrfs.
Najprej zaženite nov postopek čiščenja Btrfs v datotečnem sistemu Btrfs, nameščenem v imeniku / data, kot sledi:
$ sudo btrfs scrub start / data
Če želite preklicati ali zaustaviti postopek čiščenja Btrfs, ki se trenutno izvaja v datotečnem sistemu Btrfs, nameščenem na / podatki imenik, zaženite naslednji ukaz:
$ sudo btrfs piling prekliči / podatke
Tekoči postopek čiščenja Btrfs je treba preklicati ali zaustaviti.
Kot lahko vidite, je stanje čiščenja Btrfs prekinil. Torej, postopek čiščenja Btrfs se ne izvaja več.
$ sudo btrfs stanje čiščenja / podatki
Če želite nadaljevati postopek čiščenja Btrfs, ki ste ga preklicali ali zaustavili, zaženite naslednji ukaz:
$ sudo btrfs čiščenje življenjepisa / podatkov
Postopek čiščenja Btrfs je treba nadaljevati.
Kot lahko vidite, je stanje čiščenja Btrfs zdaj teče. Torej se postopek čiščenja Btrfs nadaljuje.
$ sudo btrfs stanje čiščenja / podatki
Ko je postopek čiščenja Btrfs končan, je treba stanje čiščenja Btrfs spremeniti v Dokončano.
$ sudo btrfs stanje čiščenja / podatki
Zaključek
V tem članku sem vam pokazal, kako z orodjem za čiščenje Btrfs najdete in popravite poškodovane bloke podatkov / metapodatkov v datotečnem sistemu z več napravami Btrfs ali RAID. Pokazal sem vam, kako prekličete / zaustavite in nadaljujete postopek čiščenja Btrfs, ko se tudi ta začne.