Btrfs

Hvordan bruke Btrfs Scrub?

Hvordan bruke Btrfs Scrub?
Btrfs-filsystemet er et filsystem med flere enheter som har innebygd støtte for RAID. I et Btrfs-filsystem eller RAID med flere enheter kan data- / metadatablokkene lagres i en eller flere lagringsenheter. Btrfs skrubbeverktøy vil lese alle data / metadatablokkene fra alle lagringsenhetene som er lagt til et Btrfs-filsystem eller RAID, og ​​finne alle de ødelagte data / metadatablokkene. Når de ødelagte data / metadatablokkene er funnet, vil Btrfs skrubbeverktøy automatisk reparere de ødelagte data / metadatablokkene hvis mulig.

I et Btrfs-filsystem eller Btrfs RAID med flere enheter, avhengig av filsystemkonfigurasjonen, kan det være flere kopier av data- / metadatablokkene som er lagret forskjellige steder på lagringsenhetene som er lagt til Btrfs-filsystemet. Når Btrfs skrubbeverktøy finner en ødelagt data / metadatablokk, søker den i alle lagringsenhetene som er lagt til i Btrfs-filsystemet for duplikatkopier av den data / metadatablokken. Når en duplikatkopi av den data- / metadatablokken er funnet, blir den ødelagte data- / metadatablokken overskrevet med riktig data / metadatablokk. Slik reparerer Btrfs skrubbeverktøy ødelagte data / metadatablokker i et Btrfs-filsystem eller Btrfs RAID med flere enheter.

I denne artikkelen skal jeg vise deg hvordan du bruker Btrfs skrubbeverktøy for å finne og reparere ødelagte data / metadatablokker i et Btrfs-filsystem eller Btrfs RAID med flere enheter. Så la oss komme i gang.

Forkortelser

PLYNDRINGSTOKT - Redundant matrise av billige / uavhengige disker
GB - Gigabyte

Forutsetninger

For å følge denne artikkelen må du ha et fungerende Btrfs-filsystem for flere enheter eller et Btrfs RAID.

Jeg har opprettet en Btrfs RAID i RAID-1 konfigurasjon (montert på /data katalog) ved hjelp av 4 lagringsenheter sdb, sdc, sdd, og sde, som du kan se på skjermbildet nedenfor. Jeg vil bruke denne Btrfs RAID for Btrfs-skrubbedemonstrasjonen i denne artikkelen.

$ sudo btrfs filsystembruk / data

Hvis du trenger hjelp til å installere Btrfs-filsystemet på Ubuntu, kan du sjekke artikkelen min Installer og bruk Btrfs på Ubuntu 20.04 LTS.

Hvis du trenger hjelp til å installere Btrfs-filsystemet på Fedora, kan du sjekke artikkelen min Installer og bruk Btrfs på Fedora 33.

Hvis du trenger hjelp til å lage en Btrfs RAID, kan du sjekke artikkelen min Hvordan sette opp Btrfs RAID.

Genererer Dummy Files på Btrfs Filesystem

For å vise deg hvordan Btrfs skrubbeverktøy fungerer, må vi generere noen tilfeldige filer for å fylle opp Btrfs-filsystemet. La oss lage et skallskript som gjør nettopp det.

Lag et nytt skallskript genfiles.sh i / usr / local / bin / katalog som følger:

$ sudo nano / usr / local / bin / genfiles.sh

Skriv inn følgende kodelinjer i genfiles.sh skallskript.

#!/ bin / bash
mens det er sant
gjøre
FILENAME = $ (uuidgen)
ekko "[Oppretter] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = progress
ekko "[Laget] $ FILENAME"
ferdig

Når du er ferdig, trykk + X etterfulgt av Y og for å redde genfiles.sh skallskript.

De genfiles.sh skallskript kjører en uendelig samtidig som Løkke.

mens det er sant
gjøre
# andre koder
ferdig

Følgende linje genererer et UUID ved hjelp av uuidgen kommandoen og lagrer UUID i FILNAVN variabel.

Følgende linje skriver ut en melding på konsollen før filen FILNAVN genereres.

Følgende linje genererer en ny tilfeldig fil FILNAVN bruker dd kommando. Filen vil være 256 MB i størrelse.

Følgende linje skriver ut en melding på konsollen etter filen FILNAVN genereres.

Legg til gjennomføringstillatelse til genfiles.sh skallskript som følger:

s

De genfiles.sh skallskript skal nå være tilgjengelig som andre kommandoer.

$ hvilke genfiler.sh

La oss generere noen tilfeldige filer i Btrfs RAID montert i /data katalog.

Naviger til /data katalog der Btrfs RAID er montert som følger:

$ cd / data

Som du kan se, er det ingen filer tilgjengelig i Btrfs RAID for øyeblikket.

$ ls -lh

For å generere noen tilfeldige filer i gjeldende arbeidskatalog (/data katalog i dette tilfellet), kjør genfiles.sh skallskript som følger:

$ sudo genfiles.sh

De genfiles.sh skallskript skal begynne å generere tilfeldige filer i /data katalog.

De genfiles.sh skript genererer tilfeldige filer. La skriptet kjøre i et par minutter, så det fyller opp ca 2-3 GB diskplass på Btrfs RAID.

Når du vil stoppe genfiles.sh skallskript, trykk + C.

Som du kan se, genereres noen tilfeldige filer i Btrfs RAID.

$ ls -lh

Jeg har generert ca 13 GB tilfeldige filer i Btrfs RAID montert i /data katalog, som du kan se på skjermbildet nedenfor.

$ sudo du -sh / data

Arbeider med Btrfs Scrub Tool

I denne delen skal jeg vise deg hvordan du bruker Btrfs skrubbeverktøy. La oss komme i gang.

Du kan starte skrubbeprosessen på Btrfs-filsystemet montert på /data katalog med følgende kommando:

$ sudo btrfs skrubb start / data

En Btrfs-skrubbeprosess bør startes på Btrfs-filsystemet montert på /data katalog.

Du kan se status for Btrfs-skrubbeprosessen som kjører på Btrfs-filsystemet montert på /data katalog som følger:

$ sudo btrfs skrubber status / data

Som du kan se, er Btrfs skrubbeprosessen fortsatt løping.

Skrubbing av et Btrfs-filsystem eller Btrfs RAID som har mange filer vil ta lang tid å fullføre.

Når Btrfs-skrubbeprosessen er fullført, bør statusen endres til ferdig, som du kan se på skjermbildet nedenfor.

$ sudo btrfs skrubber status / data

Du kan også se status for Btrfs-skrubb for hver av lagringsenhetene som er lagt til i Btrfs-filsystemet (montert i /data katalog) separat som følger:

$ sudo btrfs skrubbestatus -d / data

Jeg har fortalt deg at Btrfs skrubbeprosessen tar lang tid å fullføre på et stort Btrfs filsystem. En stor fordel med Btrfs skrubbeverktøy er at prosessen kan stoppes og gjenopptas når som helst.

La oss se hvordan vi kan stoppe og gjenoppta en Btrfs-skrubbeprosess.

Start først en ny Btrfs-skrubbeprosess på Btrfs-filsystemet montert i / data-katalogen som følger:

$ sudo btrfs skrubb start / data

For å avbryte eller pause Btrfs-skrubbeprosessen som for øyeblikket kjører på Btrfs-filsystemet montert på /data katalog, kjør følgende kommando:

$ sudo btrfs skrubbe avbryt / data

Den igangværende Btrfs-skrubbeprosessen bør avbrytes eller pauses.

Som du kan se, er Btrfs skrubbestatus abortert. Så, Btrfs skrubbeprosessen kjører ikke lenger.

$ sudo btrfs skrubber status / data

For å gjenoppta Btrfs-skrubbeprosessen du har kansellert eller stoppet midlertidig, kjør følgende kommando:

$ sudo btrfs skrubbe CV / data

Btrfs-skrubbeprosessen bør gjenopptas.

Som du kan se, er Btrfs skrubbestatus nå løping. Så Btrfs skrubbeprosessen gjenopptas.

$ sudo btrfs skrubber status / data

Etter at Btrfs skrubbeprosessen er fullført, bør Btrfs skrubbestatus endres til ferdig.

$ sudo btrfs skrubber status / data

Konklusjon

I denne artikkelen har jeg vist deg hvordan du kan jobbe med Btrfs skrubbeverktøy for å finne og fikse ødelagte data / metadata blokker av et Btrfs filsystem eller RAID med flere enheter. Jeg har vist deg hvordan du avbryter / stopper og fortsetter en Btrfs-skrubbeprosess når den også er startet.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...