Btrfs

Hoe Btrfs-scrub te gebruiken?

Hoe Btrfs-scrub te gebruiken?
Het Btrfs-bestandssysteem is een bestandssysteem voor meerdere apparaten met ingebouwde ondersteuning voor RAID. In een Btrfs-bestandssysteem met meerdere apparaten of RAID kunnen de data-/metadatablokken worden opgeslagen in een of meer opslagapparaten. De Btrfs-scrubtool leest alle data-/metadatablokken van alle opslagapparaten die zijn toegevoegd aan een Btrfs-bestandssysteem of RAID en vindt alle beschadigde data-/metadatablokken. Zodra de beschadigde data-/metadatablokken zijn gevonden, zal de Btrfs-scrubtool deze beschadigde data-/metadatablokken indien mogelijk automatisch herstellen.

In een Btrfs-bestandssysteem met meerdere apparaten of Btrfs RAID kunnen er, afhankelijk van de configuratie van het bestandssysteem, meerdere kopieën van de data-/metadatablokken zijn opgeslagen op verschillende locaties van de opslagapparaten die aan het Btrfs-bestandssysteem zijn toegevoegd. Wanneer de Btrfs-scrubtool een beschadigd data-/metadatablok vindt, doorzoekt het alle opslagapparaten die aan het Btrfs-bestandssysteem zijn toegevoegd op dubbele kopieën van dat data-/metadatablok. Zodra een duplicaat van dat data-/metadatablok is gevonden, wordt het beschadigde data-/metadatablok overschreven met het juiste data-/metadatablok. Dit is hoe de Btrfs-scrubtool beschadigde data-/metadatablokken herstelt in een Btrfs-bestandssysteem met meerdere apparaten of Btrfs RAID.

In dit artikel laat ik je zien hoe je de Btrfs-scrubtool kunt gebruiken om beschadigde data-/metadatablokken te vinden en te repareren in een Btrfs-bestandssysteem met meerdere apparaten of Btrfs RAID. Dus laten we beginnen.

Afkortingen

INVAL - Redundante reeks goedkope/onafhankelijke schijven
NL - Gigabyte

Vereisten

Om dit artikel te volgen, moet u een werkend Btrfs-bestandssysteem voor meerdere apparaten of een Btrfs RAID hebben.

Ik heb een Btrfs RAID gemaakt in RAID-1 configuratie (gemonteerd op de /gegevens directory) met 4 opslagapparaten sdb, sdc, sdd, en sde, zoals je kunt zien in de onderstaande schermafbeelding. Ik zal deze Btrfs RAID gebruiken voor de Btrfs-scrubdemonstratie in dit artikel.

$ sudo btrfs bestandssysteemgebruik /data

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Ubuntu, bekijk dan mijn artikel Btrfs installeren en gebruiken op Ubuntu 20.04 LTS.

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Fedora, bekijk dan mijn artikel Installeer en gebruik Btrfs op Fedora 33.

Als je hulp nodig hebt bij het maken van een Btrfs RAID, bekijk dan mijn artikel Hoe Btrfs RAID in te stellen.

Dummy-bestanden genereren op het Btrfs-bestandssysteem

Om u te laten zien hoe de Btrfs-scrubtool werkt, moeten we enkele willekeurige bestanden genereren om het Btrfs-bestandssysteem te vullen. Laten we een shellscript maken dat precies dat doet.

Een nieuw shellscript maken genfiles.sh in de /usr/local/bin/ map als volgt:

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

Typ de volgende regels codes in de genfiles.sh shell-script.

#!/bin/bash
terwijl het waar is
Doen
FILENAME=$(uuidgen)
echo "[Creëren] $FILENAME"
dd if=/dev/random of=$FILENAME bs=1M count=256 status=progress
echo "[Gemaakt] $FILENAME"
gedaan

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden genfiles.sh shell-script.

De genfiles.sh shell-script voert een oneindige terwijl lus.

terwijl het waar is
Doen
# andere codes
gedaan

De volgende regel genereert een UUID met behulp van de uuidgen commando en slaat de UUID op in de BESTANDSNAAM variabele.

De volgende regel drukt een bericht af op de console vóór het bestand: BESTANDSNAAM is gegenereerd.

De volgende regel genereert een nieuw willekeurig bestand: BESTANDSNAAM de ... gebruiken dd opdracht. Het bestand wordt 256 MB in grootte.

De volgende regel drukt een bericht af op de console na het bestand BESTANDSNAAM is gegenereerd.

Voeg uitvoertoestemming toe aan de genfiles.sh shell-script als volgt:

zo

De genfiles.sh shellscript zou nu toegankelijk moeten zijn zoals elk ander commando command.

$ welke genfiles.sh

Laten we een aantal willekeurige bestanden genereren in de Btrfs RAID die is gemount in de /gegevens map.

Navigeer naar de /gegevens directory waar de Btrfs RAID als volgt is aangekoppeld:

$ cd /gegevens

Zoals je kunt zien, zijn er op dit moment geen bestanden beschikbaar in mijn Btrfs RAID.

$ ls -lh

Om enkele willekeurige bestanden in de huidige werkmap te genereren (/gegevens directory in dit geval), voer de genfiles.sh shell-script als volgt:

$ sudo-genbestanden.sh

De genfiles.sh shellscript moet beginnen met het genereren van willekeurige bestanden in de /gegevens map.

De genfiles.sh script genereert willekeurige bestanden. Laat het script een paar minuten draaien, zodat het ongeveer 2-3 GB schijfruimte van de Btrfs RAID vult.

Wanneer u de wilt stoppen genfiles.sh shell-script, druk op + C.

Zoals u kunt zien, worden enkele willekeurige bestanden gegenereerd in de Btrfs RAID.

$ ls -lh

Ik heb ongeveer 13 GB aan willekeurige bestanden gegenereerd in de Btrfs RAID gemonteerd in de /gegevens map, zoals je kunt zien in de onderstaande schermafbeelding.

$ sudo du -sh /data

Werken met de Btrfs-scrubtool

In dit gedeelte laat ik je zien hoe je de Btrfs-scrubtool gebruikt. Laten we beginnen.

U kunt het scrubproces starten op het Btrfs-bestandssysteem dat is aangekoppeld op de /gegevens map met het volgende commando:

$ sudo btrfs scrub start /data

Een Btrfs-scrubproces moet worden gestart op het Btrfs-bestandssysteem dat is gekoppeld aan de /gegevens map.

U kunt de status zien van het Btrfs-scrubproces dat wordt uitgevoerd op het Btrfs-bestandssysteem dat is gekoppeld aan de /gegevens map als volgt:

$ sudo btrfs scrubstatus /data

Zoals je kunt zien, is het Btrfs-scrubproces nog steeds rennen.

Het opschonen van een Btrfs-bestandssysteem of Btrfs RAID met veel bestanden duurt lang.

Zodra het Btrfs-scrubproces is voltooid, moet de status worden gewijzigd in afgewerkt, zoals je kunt zien in de onderstaande schermafbeelding.

$ sudo btrfs scrubstatus /data

U kunt ook de Btrfs-scrubstatus zien voor elk van de opslagapparaten die aan het Btrfs-bestandssysteem zijn toegevoegd (aangekoppeld in de /gegevens directory) afzonderlijk als volgt:

$ sudo btrfs scrubstatus -d /data

Ik heb je verteld dat het Btrfs-scrubproces lang duurt om te voltooien op een groot Btrfs-bestandssysteem. Een groot voordeel van de Btrfs-scrubtool is dat het proces op elk moment kan worden onderbroken en hervat.

Laten we eens kijken hoe we een Btrfs-scrubproces kunnen pauzeren en hervatten.

Start eerst als volgt een nieuw Btrfs-scrubproces op het Btrfs-bestandssysteem dat in de /data-directory is gemount:

$ sudo btrfs scrub start /data

Om het Btrfs-scrubproces te annuleren of te pauzeren dat momenteel wordt uitgevoerd op het Btrfs-bestandssysteem dat is gekoppeld aan de /gegevens map, voer de volgende opdracht uit:

$ sudo btrfs scrub annuleren /data

Het lopende Btrfs-scrubproces moet worden geannuleerd of gepauzeerd.

Zoals u kunt zien, is de Btrfs-scrubstatus afgebroken. Het Btrfs-scrubproces wordt dus niet meer uitgevoerd.

$ sudo btrfs scrubstatus /data

Voer de volgende opdracht uit om het Btrfs-scrubproces te hervatten dat u hebt geannuleerd of onderbroken:

$ sudo btrfs scrub hervatten /data

Het Btrfs-scrubproces moet worden hervat.

Zoals je kunt zien, is de Btrfs-scrubstatus nu rennen. Het Btrfs-scrubproces wordt dus hervat.

$ sudo btrfs scrubstatus /data

Nadat het Btrfs-scrubproces is voltooid, moet de Btrfs-scrubstatus worden gewijzigd in: afgewerkt.

$ sudo btrfs scrubstatus /data

Conclusie

In dit artikel heb ik je laten zien hoe je met de Btrfs-scrubtool kunt werken om beschadigde data-/metadatablokken van een Btrfs-bestandssysteem voor meerdere apparaten of RAID te vinden en te repareren. Ik heb je laten zien hoe je een Btrfs-scrubproces kunt annuleren/pauzeren en hervatten zodra het ook is gestart.

Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...