Btrfs

Sådan bruges Btrfs-balance?

Sådan bruges Btrfs-balance?
Btrfs-filsystemet har indbygget support til flere enheder, så du kan oprette forskellige RAID-niveauer ved hjælp af det.

Når du har oprettet en Btrfs RAID, kan du tilføje flere lagerenheder til RAID for at udvide RAID. Men når du først har tilføjet flere lagerenheder til RAID, spreder Btrfs ikke de eksisterende data / metadata / systemdata automatisk til de nye lagerenheder. Så du får muligvis ikke den ønskede gennemstrømning (læse / skrivehastighed) ud af RAID, og ​​den kan muligvis ikke udfylde de nye lagerenheder med de krævede overflødige data. Så RAID-arrayet kan muligvis ikke overleve det ønskede antal drevfejl.

For at løse disse problemer leverer Btrfs-filsystemet et indbygget balanceringsværktøj. Btrfs-balanceværktøjet spreder data / metadata / systemdata for de eksisterende lagerenheder i RAID til de nyligt tilføjede lagerenheder.

I denne artikel vil jeg vise dig, hvordan du bruger Btrfs-balanceværktøjet til at sprede data / metadata / systemdata for de eksisterende lagerenheder i RAID til de nyligt tilføjede lagerenheder. Så lad os komme i gang!

Forkortelser

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

Forudsætninger

For at følge denne artikel skal du have en fungerende Btrfs RAID- eller multi-enhedsopsætning.

Jeg har oprettet en Btrfs RAID i RAID-0 konfiguration ved hjælp af 4 lagerenheder sdb, sdc, sdd, og sde.

Som du kan se, tildelt Btrfs-filsystemet 1 GB diskplads til data1 256 MB diskplads til metadata2, og 4 MB diskplads til systemdata3 fra hver af lagerenhederne i RAID.

Om 18.75 GB ud af 20 GB er stadig ikke allokeret4 fra hver af RAID's lagerenheder.

$ sudo btrfs filsystembrug / data

Skrivning af et script til generering af tilfældige filer

For at vise dig, hvordan Btrfs-balancevæ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-genfiler.sh i / usr / local / bin / biblioteket 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 har en størrelse på 256 MB.

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:

$ sudo chmod + x / usr / local / bin / genfiles.sh

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

$ hvilke genfiler.sh

Generering af tilfældige filer i Btrfs-filsystemet

Vi ønsker at generere tilfældige filer i Btrfs RAID. Lad os sige, at Btrfs RAID er monteret på /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


Som du kan se, tildelte Btrfs RAID 2 GB fra hver af de lagerenheder, der blev føjet til RAID. Tidligere tildelte Btrfs RAID 1 GB fra hver af de lagerenheder, der blev føjet til RAID.

Den ikke-tildelte diskplads er reduceret fra 18.75 GB til 17.75 GB i alle RAID's lagerenheder.

$ sudo btrfs filsystembrug / data

Tilføjelse af en anden lagerenhed til Btrfs RAID

For at vise dig, hvordan du balancerer en Btrfs RAID efter tilføjelse af en ny lagerenhed, skal du tilføje en ny lagerenhed til den.

Jeg har tilføjet en ny harddisk sdf til min computer, som jeg vil føje til Btrfs RAID monteret på /data vejviser. Lad os se, hvordan man gør det.

$ sudo lsblk -e7

Naviger til en anden mappe (i.e., HJEM bibliotek) fra /data katalog som følger:

$ cd

For at tilføje lagerenheden sdf til Btrfs RAID monteret på /data bibliotek, kør følgende kommando:

$ sudo btrfs enhed tilføje / dev / sdf / data

Som du kan se, lagerenheden sdf føjes til Btrfs RAID. RAID-størrelsen er steget fra 80 GB til 100 GB.

$ sudo btrfs filsystembrug / data

Balancering af Btrfs RAID

Som du kan se, er den nyligt tilføjede lagerenhed (sdf) af RAID (monteret på /data bibliotek) har 20 GB ikke-allokeret, og de andre lagerenheder (sdb, sdc, sdd, sde, etc.) har 17.75 GB ikke allokeret.

$ sudo btrfs filsystembrug / data

Dataene1, metadata2, og systemdata3 er kun tilgængelige på RAID's eksisterende lagerenheder, ikke den nyligt tilføjede lagerenhed.

At sprede data, metadata og systemdata på alle RAID's lagerenheder (inklusive den nyligt tilføjede lagerenhed) monteret på /data bibliotek, kør følgende kommando:

$ sudo btrfs balance start - fuld balance / data

Det kan tage et stykke tid at sprede data, metadata og systemdata på alle RAID's lagerenheder, hvis det indeholder en masse data.

Når RAID's lagerenheder er korrekt afbalanceret, skal du se følgende meddelelse.

Som balancen er afsluttet, har den nyligt tilføjede lagerenhed en lige så stor mængde ikke-allokeret diskplads som de andre lagerenheder i RAID.

Efter balanceoperationen tildeles en lige stor mængde diskplads som de andre lagerenheder i RAID til data, metadata og systemdata fra den nyligt tilføjede lagerenhed (sdf) af RAID.

Konklusion

I denne artikel har jeg diskuteret formålet med Btrfs-balanceværktøjet samt hvordan man balancerer et Btrfs RAID- eller multi-enheds-filsystem efter tilføjelse af nye lagerenheder til RAID- eller multi-enheds-filsystemet.

Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...
Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...
Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...