Btrfs

Sådan bruges Btrfs Scrub?

Sådan bruges Btrfs Scrub?
Btrfs-filsystemet er et filsystem med flere enheder, der har indbygget support til RAID. I et Btrfs-filsystem eller RAID med flere enheder kan data- / metadatablokkene blive gemt i en eller flere lagerenheder. Btrfs-skrubbeværktøjet læser alle data / metadata-blokke fra alle lagerenheder, der er føjet til et Btrfs-filsystem eller RAID, og ​​finder alle de beskadigede data / metadata-blokke. Når de beskadigede data / metadata-blokke er fundet, reparerer Btrfs-skrubbeværktøjet automatisk disse beskadigede data / metadata-blokke, hvis det er muligt.

I et Btrfs-filsystem med flere enheder eller Btrfs RAID, afhængigt af filsystemkonfigurationen, kan der være flere kopier af data / metadata-blokke, der er gemt forskellige steder på lagerenhederne, der er føjet til Btrfs-filsystemet. Når Btrfs-skrubbeværktøjet finder en beskadiget data / metadata-blok, søger det i alle lagerenheder, der er føjet til Btrfs-filsystemet for duplikatkopier af den data / metadata-blok. Når en kopi af den pågældende data / metadata-blok er fundet, overskrives den beskadigede data / metadata-blok med den korrekte data / metadata-blok. Sådan reparerer Btrfs-skrubbeværktøjet beskadigede data / metadata-blokke i et Btrfs-filsystem med flere enheder eller Btrfs RAID.

I denne artikel vil jeg vise dig, hvordan du bruger Btrfs-skrubbeværktøjet til at finde og reparere beskadigede data / metadata-blokke i et Btrfs-filsystem med flere enheder eller Btrfs RAID. Så lad os komme i gang.

Forkortelser

RAID - Redundant matrix med billige / uafhængige diske
GB - Gigabyte

Forudsætninger

For at følge denne artikel skal du have et fungerende Btrfs-filsystem med flere enheder eller et Btrfs RAID.

Jeg har oprettet en Btrfs RAID i RAID-1 konfiguration (monteret på /data bibliotek) ved hjælp af 4 lagerenheder sdb, sdc, sdd, og sde, som du kan se på skærmbilledet nedenfor. Jeg bruger denne Btrfs RAID til Btrfs-skrubbedemonstrationen i denne artikel.

$ sudo btrfs filsystembrug / data

Hvis du har brug for hjælp til installation af Btrfs-filsystemet på Ubuntu, skal du kontrollere min artikel Installer og brug Btrfs på Ubuntu 20.04 LTS.

Hvis du har brug for hjælp til installation af Btrfs-filsystemet på Fedora, skal du se min artikel Installer og brug Btrfs på Fedora 33.

Hvis du har brug for hjælp til at oprette en Btrfs RAID, skal du tjekke min artikel Sådan opsættes Btrfs RAID.

Generering af dummy-filer på Btrfs-filsystemet

For at vise dig, hvordan Btrfs-skrubbeværktøjet fungerer, er vi nødt til at generere nogle tilfældige filer for at udfylde Btrfs-filsystemet. Lad os oprette et shell-script, der gør netop det.

Opret et nyt shell-script genfiles.sh i / usr / local / bin / katalog som følger:

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

Indtast de følgende linjer med koder i genfiles.sh skal script.

#!/ bin / bash
mens det er sandt
gør
FILENAME = $ (uuidgen)
ekko "[Opretter] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = progress
ekko "[Oprettet] $ FILENAME"
Færdig

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde genfiles.sh skal script.

Det genfiles.sh shell-script kører en uendelig mens løkke.

mens det er sandt
gør
# andre koder
Færdig

Den følgende linje genererer et UUID ved hjælp af uuidgen kommando og gemmer UUID i FILNAVN variabel.

Den følgende linje udskriver en besked på konsollen før filen FILNAVN genereres.

Den følgende linje genererer en ny tilfældig fil FILNAVN bruger dd kommando. Filen bliver 256 MB i størrelse.

Den følgende linje udskriver en besked på konsollen efter filen FILNAVN genereres.

Tilføj udfør tilladelse til genfiles.sh shell-script som følger:

s

Det genfiles.sh shell-script skal nu være tilgængeligt som andre kommandoer.

$ hvilke genfiler.sh

Lad os generere nogle tilfældige filer i Btrfs RAID monteret i /data vejviser.

Naviger til /data mappe, hvor Btrfs RAID er monteret som følger:

$ cd / data

Som du kan se, er der ingen filer tilgængelige i min Btrfs RAID i øjeblikket.

$ ls -lh

For at generere nogle tilfældige filer i den aktuelle arbejdsmappe (/data i dette tilfælde), kør genfiles.sh shell-script som følger:

$ sudo genfiles.sh

Det genfiles.sh shell script skal begynde at generere tilfældige filer i /data vejviser.

Det genfiles.sh script genererer tilfældige filer. Lad scriptet køre i et par minutter, så det fylder ca. 2-3 GB diskplads på Btrfs RAID.

Når du vil stoppe genfiles.sh skal script, tryk + C.

Som du kan se, genereres nogle tilfældige filer i Btrfs RAID.

$ ls -lh

Jeg har genereret ca. 13 GB tilfældige filer i Btrfs RAID monteret i /data bibliotek, som du kan se på skærmbilledet nedenfor.

$ sudo du -sh / data

Arbejde med Btrfs Scrub Tool

I dette afsnit vil jeg vise dig, hvordan du bruger Btrfs-skrubbeværktøjet. Lad os komme igang.

Du kan starte skrubbe processen på Btrfs filsystemet monteret på /data bibliotek med følgende kommando:

$ sudo btrfs skrubbe start / data

En Btrfs-skrubbe-proces skal startes på Btrfs-filsystemet monteret på /data vejviser.

Du kan se status for Btrfs-skrubbe-processen, der kører på Btrfs-filsystemet monteret på /data katalog som følger:

$ sudo btrfs skrubber status / data

Som du kan se, er Btrfs-skrubbeprocessen stadig kører.

Skrubning af et Btrfs-filsystem eller Btrfs RAID, der har mange filer, tager lang tid at gennemføre.

Når Btrfs-skrubbe-processen er afsluttet, skal status ændres til færdig, som du kan se på skærmbilledet nedenfor.

$ sudo btrfs skrubber status / data

Du kan også se Btrfs-skrubbestatus for hver af de lagerenheder, der er føjet til Btrfs-filsystemet (monteret i /data katalog) separat som følger:

$ sudo btrfs skrubber status -d / data

Jeg har fortalt dig, at Btrfs-skrubbe-processen tager lang tid at gennemføre på et stort Btrfs-filsystem. En stor fordel ved Btrfs-skrubbeværktøjet er, at processen kan stoppes og genoptages når som helst.

Lad os se, hvordan vi sætter en Btrfs-skrubbe på pause og genoptager dem.

Start først en ny Btrfs-skrubbe-proces på Btrfs-filsystemet monteret i / data-biblioteket som følger:

$ sudo btrfs skrubbe start / data

For at annullere eller pause Btrfs-skrubbe-processen, der i øjeblikket kører på Btrfs-filsystemet monteret på /data bibliotek, kør følgende kommando:

$ sudo btrfs skrubbe annullere / data

Den kørende Btrfs-skrubbe-proces skal annulleres eller pauses.

Som du kan se, er Btrfs-skrubbestatus afbrudt. Så Btrfs skrubbe processen kører ikke længere.

$ sudo btrfs skrubber status / data

For at genoptage Btrfs-skrubbe-processen, som du har annulleret eller sat på pause, skal du køre følgende kommando:

$ sudo btrfs skrubbe CV / data

Btrfs-skrubbe-processen skal genoptages.

Som du kan se, er Btrfs-skrubbestatus nu kører. Så Btrfs-skrubbe-processen genoptages.

$ sudo btrfs skrubber status / data

Når Btrfs-skrubbe-processen er afsluttet, skal Btrfs-skrubbestatus ændres til færdig.

$ sudo btrfs skrubber status / data

Konklusion

I denne artikel har jeg vist dig, hvordan du arbejder med Btrfs-skrubbeværktøjet til at finde og rette beskadigede data / metadata-blokke i et Btrfs-filsystem med flere enheder eller RAID. Jeg har vist dig, hvordan du annullerer / pause og genoptager en Btrfs-skrubbe-proces, når den også er startet.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...