Hvordan bruke BTRFS -balanse?

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

Når du har opprettet et BTRFS -raid, kan du legge til flere lagringsenheter til raidet for å utvide raidet. Men når du har lagt til flere lagringsenheter til raidet, vil ikke BTRF-er spre de eksisterende dataene/metadata/systemdataene til de nye lagringsenhetene automatisk. Så du får kanskje ikke ønsket gjennomstrømning (lese/skrivehastighet) ut av raidet, og det kan ikke være i stand til å befolke de nye lagringsenhetene med de nødvendige overflødige dataene. Så kan raid -matrisen ikke overleve det ønskede antallet drivfeil.

For å løse disse problemene gir BTRFS-filsystemet et innebygd balanseringsverktøy. BTRFS-balanseverktøyet vil spre dataene/metadata/systemdataene til de eksisterende lagringsenhetene til raidet til de nylig tilførte lagringsenhetene.

I denne artikkelen skal jeg vise deg hvordan du bruker BTRFS Balance-verktøyet til å spre dataene/metadata/systemdataene til de eksisterende lagringsenhetene til raidet til de nylig tilførte lagringsenhetene. Så la oss komme i gang!

Forkortelser

PLYNDRINGSTOKT - Overflødig rekke rimelige/uavhengige disker
MB - Megabyte
GB - Gigabyte

Forutsetninger

For å følge denne artikkelen, må du ha et fungerende BTRFS RAID eller MULTI-DEVICE-oppsett.

Jeg har opprettet et BTRFS -raid i RAID-0 Konfigurasjon ved hjelp av 4 lagringsenheter SDB, SDC, SDD, og sde.

Som du kan se, er BTRFS -filsystemet tildelt 1 GB av diskplass for data1 256 MB av diskplass for Metadata2, og 4 MB av diskplass for systemdata3 fra hver av lagringsenhetene i raidet.

Om 18.75 GB ut av 20 GB er fremdeles ikke tildelt 4 fra hver av lagringsenhetene i raidet.

$ sudo btrfs filsystembruk /data

Skrive et skript for å generere tilfeldige filer

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

Lag et nytt genfiler fra Shell Script.SH i/usr/local/bin/katalogen som følger:

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

Skriv inn følgende koder i Genfiler.sh Shell -skript.

#!/bin/bash
mens sant
gjøre
Filnavn = $ (uuidgen)
ekko "[Opprette] $ filnavn"
dd if =/dev/tilfeldig av = $ filnavn bs = 1m telling = 256 status = fremgang
ekko "[opprettet] $ filnavn"
Ferdig

Når du er ferdig, trykk + X etterfulgt av Y og For å redde Genfiler.sh Shell -skript.

De Genfiler.sh Shell -skriptet kjører en uendelig samtidig som Løkke.

mens sant
gjøre
# Andre koder
Ferdig

Følgende linje genererer en UUID ved hjelp av uuidgen kommando 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 utførelse av tillatelse til Genfiler.sh Shell -skript som følger:

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

De Genfiler.sh Shell -skriptet skal nå være tilgjengelig som alle andre kommandoer.

$ hvilke genfiler.sh

Generere tilfeldige filer i BTRFS -filsystemet

Vi ønsker å generere tilfeldige filer i BTRFS RAID. La oss si, BTRFS -raidet er montert på /data katalog.

Naviger til /data Katalog der BTRFS -raidet er montert som følger:

$ cd /data

Som du ser, er det ingen filer tilgjengelig i BTRFS -raidet for øyeblikket.

$ ls -lh

For å generere noen tilfeldige filer i den gjeldende arbeidskatalogen (/data katalog i dette tilfellet), kjør Genfiler.sh Shell -skript som følger:

$ sudo -genfiler.sh

De Genfiler.sh Shell -skriptet skal begynne å generere tilfeldige filer i /data katalog.

De Genfiler.sh Skriptet genererer tilfeldige filer. La skriptet løpe i et par minutter, så det fyller opp omtrent 2-3 GB diskplass for BTRFS-raidet.

Når du vil stoppe Genfiler.sh Shell -skript, 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 er lagt til RAID. Tidligere BTRFS RAID tildelt 1 GB fra hver av lagringsenhetene som er lagt til RAID.

Den ikke tildelte diskplassen er redusert fra 18.75 GB til 17.75 GB I alle lagringsenhetene til raidet.

$ sudo btrfs filsystembruk /data

Legge til en annen lagringsenhet til BTRFS -raidet

For å vise deg hvordan du balanserer et BTRFS -raid etter å ha lagt til en ny lagringsenhet, må du legge til en ny lagringsenhet til den.

Jeg har lagt til en ny HDD SDF til datamaskinen min, som jeg vil legge til BTRFS -raidet 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 -raidet montert på /data Katalog, kjør følgende kommando:

$ SUDO BTRFS -enhet Legg til /dev /sdf /data

Som du kan se, lagringsenheten SDF blir lagt til BTRFS -raidet. Raidstørrelsen har økt fra 80 GB til 100 GB.

$ sudo btrfs filsystembruk /data

Balansere BTRFS -raidet

Som du kan se, den nylig tilførte lagringsenheten (SDF) av raidet (montert på /data katalog) har 20 GB ikke tildelt, og de andre lagringsenhetene (SDB, SDC, SDD, sde, etc.) har 17.75 GB ikke tildelt.

$ sudo btrfs filsystembruk /data

Dataen1, metadata2, og systemdata3 er bare tilgjengelige på de eksisterende lagringsenhetene til RAID, ikke den nylig tilførte lagringsenheten.

For å spre dataene, metadataene og systemdataene på alle lagringsenhetene i raidet (inkludert den nylig tilførte lagringsenheten) montert på /data Katalog, kjør følgende kommando:

$ sudo btrfs balanse start-full balanse /data

Det kan ta en stund å spre dataene, metadataene og systemdataene på alle lagringsenhetene til RAID IFIT inneholder mye data.

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

Som du kan se, har den nylig tilførte lagringsenheten en like stor mengde ikke tildelt diskplass som de andre lagringsenhetene etter raidet etter at balanseoperasjonen er fullført, som de andre lagringsenhetene i RAID.

Etter balanseoperasjonen er en like mengde diskplass som de andre lagringsenhetene til raidet tildelt data, metadata og systemdata fra den nylig tilførte lagringsenheten (SDF) av raidet.

Konklusjon

I denne artikkelen har jeg diskutert formålet med BTRFS Balance-verktøyet, samt hvordan jeg kan balansere et BTRFS-raid eller flere enhetsfilsystem etter å ha lagt til nye lagringsenheter til RAID eller Multi-Device-filsystemet.