Btrfs

Hvordan bruke Btrfs Balance?

Hvordan bruke Btrfs Balance?
Btrfs-filsystemet har innebygd støtte for flere enheter, slik at du kan opprette forskjellige RAID-nivåer ved hjelp av det.

Når du har opprettet en Btrfs RAID, kan du legge til flere lagringsenheter i RAID for å utvide RAID. Men når du har lagt til flere lagringsenheter i RAID, vil ikke Btrfs automatisk spre eksisterende data / metadata / systemdata til de nye lagringsenhetene. Så du får kanskje ikke ønsket gjennomstrømning (lese / skrivehastighet) ut av RAID, og ​​det kan hende at du ikke kan fylle de nye lagringsenhetene med de nødvendige overflødige dataene. Så RAID-arrayet kan ikke overleve ønsket antall stasjonsfeil.

For å løse disse problemene gir Btrfs-filsystemet et innebygd balanseringsverktøy. Btrfs-balanseringsverktøyet vil spre data / metadata / systemdata for eksisterende lagringsenheter i RAID til de nylig lagrede lagringsenhetene.

I denne artikkelen skal jeg vise deg hvordan du bruker Btrfs-balanseringsverktøyet til å spre data / metadata / systemdata for eksisterende RAID-lagringsenheter til de nylig lagrede lagringsenhetene. Så la oss komme i gang!

Forkortelser

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

Forutsetninger

For å følge denne artikkelen må du ha et fungerende Btrfs RAID- eller multi-enhetsoppsett.

Jeg har opprettet en Btrfs RAID i RAID-0 konfigurasjon ved hjelp av fire lagringsenheter sdb, sdc, sdd, og sde.

Som du kan se, tildeles Btrfs-filsystemet 1 GB diskplass for data1 256 MB diskplass for metadata2, og 4 MB diskplass for system-data3 fra hver av lagringsenhetene i RAID.

Om 18.75 GB ut av 20 GB er fortsatt ikke allokert4 fra hver av lagringsenhetene til RAID.

$ sudo btrfs filsystembruk / data

Skrive et skript for å generere tilfeldige filer

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

Opprett et nytt skallskript-genfiler.sh i katalogen / usr / local / bin / 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 ha 256 MB 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:

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

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

$ hvilke genfiler.sh

Genererer tilfeldige filer i Btrfs-filsystemet

Vi ønsker å generere tilfeldige filer i Btrfs RAID. La oss si at Btrfs RAID er montert på /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


Som du kan se, tildelte Btrfs RAID 2 GB fra hver av lagringsenhetene som ble lagt til RAID. Tidligere tildelte Btrfs RAID 1 GB fra hver av lagringsenhetene som ble lagt til RAID.

Den ikke tildelte diskplassen er redusert fra 18.75 GB til 17.75 GB i alle lagringsenhetene til RAID.

$ sudo btrfs filsystembruk / data

Legge til en annen lagringsenhet i Btrfs RAID

For å vise deg hvordan du balanserer en Btrfs RAID etter å ha lagt til en ny lagringsenhet, må du legge til en ny lagringsenhet til den.

Jeg har lagt til en ny harddisk sdf til datamaskinen min, som jeg vil legge til i Btrfs RAID montert på /data katalog. La oss se hvordan vi gjør det.

$ sudo lsblk -e7

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

$ cd

For å legge til lagringsenheten sdf til Btrfs RAID montert på /data katalog, kjør følgende kommando:

$ sudo btrfs enhet legge til / dev / sdf / data

Som du kan se, lagringsenheten sdf er lagt til Btrfs RAID. RAID-størrelsen har økt fra 80 GB til 100 GB.

$ sudo btrfs filsystembruk / data

Balansere Btrfs RAID

Som du kan se, er den nylig lagrede lagringsenheten (sdf) av RAID (montert på /data katalog) har 20 GB ikke tildelt, og de andre lagringsenhetene (sdb, sdc, sdd, sde, etc.) har 17.75 GB ufordelt.

$ sudo btrfs filsystembruk / data

Dataen1, metadata2, og systemdata3 er bare tilgjengelig på eksisterende RAID-lagringsenheter, ikke den nylig lagrede lagringsenheten.

For å spre data, metadata og systemdata på alle lagringsenhetene til RAID (inkludert den nylig lagrede lagringsenheten) montert på /data katalog, kjør følgende kommando:

$ sudo btrfs balance start - full-balance / data

Det kan ta en stund å spre data, metadata og systemdata på alle lagringsenhetene til RAID hvis det inneholder mye data.

Når lagringsenhetene til RAID er riktig balansert, bør du se følgende melding.

Som du kan se, etter at balanseoperasjonen er fullført, har den nylig lagt til lagringsenheten like mye ikke-tildelt diskplass som de andre lagringsenhetene i RAID.

Etter balanseoperasjonen tildeles like mye diskplass som de andre lagringsenhetene i RAID for data, metadata og systemdata fra den nylig lagrede lagringsenheten (sdf) av RAID.

Konklusjon

I denne artikkelen har jeg diskutert formålet med Btrfs-balanseringsverktøyet, samt hvordan man balanserer et Btrfs RAID- eller multi-enhetsfilsystem etter å ha lagt til nye lagringsenheter i RAID- eller multi-device-filsystemet.

Mus Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Xdotool er et gratis og åpen kildekode kommandolinjeverktøy for å simulere museklikk og tastetrykk. Denne artikkelen vil dekke en kort guide om bruk a...
Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...