Sukūrę „Btrfs“ RAID, galite pridėti daugiau atminties įrenginių prie RAID, kad išplėstumėte RAID. Bet, kai prie RAID pridėsite daugiau atminties įrenginių, „Btrfs“ automatiškai neplatins esamų duomenų / metaduomenų / sistemos duomenų į naujus saugojimo įrenginius. Taigi, jūs negalite gauti norimo RAID pralaidumo (skaitymo / rašymo greičio) ir gali nepavykti užpildyti naujų atminties įrenginių reikalingais nereikalingais duomenimis. Taigi, RAID masyvui gali nepavykti išgyventi norimo disko gedimų skaičiaus.
Norėdami išspręsti šias problemas, „Btrfs“ failų sistemoje yra įmontuotas balansavimo įrankis. „Btrfs balance“ įrankis paskleis esamų RAID atminties įrenginių duomenis / metaduomenis / sistemos duomenis į naujai pridėtus saugojimo įrenginius.
Šiame straipsnyje aš jums parodysiu, kaip naudoti „Btrfs balance“ įrankį, norint išplėsti esamų RAID atminties įrenginių duomenis / metaduomenis / sistemos duomenis į naujai pridėtus saugojimo įrenginius. Taigi, pradėkime!
Santrumpos
REIDAS - Perteklinis nebrangių / nepriklausomų diskų rinkinys
MB - Megabaitas
GB - Gigabaitų
Būtinos sąlygos
Norėdami sekti šį straipsnį, turite turėti veikiančią „Btrfs“ RAID arba kelių įrenginių sąranką.
Aš sukūriau „Btrfs RAID“ RAID-0 konfigūracija naudojant 4 atminties įrenginius SDB, SDK, sdd, ir sde.
Kaip matote, „Btrfs“ failų sistema buvo paskirta 1 GB disko vietos duomenims1 256 MB disko vietos diske metaduomenys2, ir 4 MB disko vietos diske sistema-duomenys3 iš kiekvieno RAID saugojimo įrenginio.
Apie 18.75 GB iš 20 GB vis dar nepaskirstytas4 iš kiekvieno RAID atminties įrenginio.
$ sudo btrfs failų sistemos naudojimas / duomenys
Rašant scenarijų, norint generuoti atsitiktinius failus
Norėdami parodyti, kaip veikia „Btrfs balance“ įrankis, turime sugeneruoti kelis atsitiktinius failus, kad užpildytume „Btrfs“ failų sistemą. Sukurkime apvalkalo scenarijų, kuris tai ir daro.
Sukurkite naujas apvalkalo scenarijaus genfiles.sh kataloge / usr / local / bin / taip:
$ sudo nano / usr / local / bin / genfiles.sh
Įveskite šias kodų eilutes genfiles.sh apvalkalo scenarijus.
#!/ bin / basho tiesa
padaryti
FILENAME = $ (uuidgen)
aidas „[Kuriama] $ FILENAME“
dd jei = / dev / = $ FILENAME atsitiktinis bs = 1M skaičius = 256 statusas = pažanga
aidas „[Sukurta] $ FILENAME“
padaryta
Baigę paspauskite
The genfiles.sh apvalkalo scenarijus veikia be galo kol kilpa.
o tiesapadaryti
# kiti kodai
padaryta
Šioje eilutėje sukuriamas UUID naudojant uuidgen komandą ir saugo UUID FAILO PAVADINIMAS kintamasis.
Šioje eilutėje prieš failą atspausdinamas pranešimas konsolėje FAILO PAVADINIMAS yra generuojamas.
Ši eilutė sukuria naują atsitiktinį failą FAILO PAVADINIMAS naudojant dd komandą. Failo dydis bus 256 MB.
Šioje eilutėje spausdinamas pranešimas konsolėje po failo FAILO PAVADINIMAS yra generuojamas.
Pridėti vykdymo leidimą genfiles.sh apvalkalo scenarijus:
$ sudo chmod + x / usr / local / bin / genfiles.sh
The genfiles.sh „shell“ scenarijus dabar turėtų būti prieinamas kaip ir visos kitos komandos.
$ kurios genfiles.sh
Atsitiktinių failų generavimas „Btrfs“ failų sistemoje
Mes norime generuoti atsitiktinius failus „Btrfs RAID“. Tarkime, „Btrfs“ RAID yra įdiegtas / duomenys kataloge.
Eikite į / duomenys katalogas, kuriame prijungtas „Btrfs RAID“, yra toks:
$ cd / duomenys
Kaip matote, šiuo metu mano „Btrfs RAID“ failų nėra.
$ ls -lh
Norėdami sukurti keletą atsitiktinių failų dabartiniame darbo kataloge (/ duomenys šiuo atveju), paleiskite genfiles.sh apvalkalo scenarijus:
$ sudo genfiles.sh
The genfiles.sh apvalkalo scenarijus turėtų pradėti kurti atsitiktinius failus / duomenys kataloge.
The genfiles.sh scenarijus generuoja atsitiktinius failus. Leiskite scenarijui veikti keletą minučių, kad jis užpildytų apie 2–3 GB „Btrfs RAID“ disko vietos.
Kai norite sustabdyti genfiles.sh apvalkalo scenarijų, paspauskite
Kaip matote, kai kurie atsitiktiniai failai yra sugeneruoti Btrfs RAID.
$ ls -lh
Kaip matote, „Btrfs RAID“ skyrė po 2 GB kiekvieno atminties įrenginio, pridėto prie RAID. Anksčiau „Btrfs“ RAID skyrė po 1 GB kiekvieno atminties įrenginio, pridėto prie RAID.
Nepaskirstytoje disko vietoje sumažėjo 18.75 GB į 17.75 GB visuose RAID atminties įrenginiuose.
$ sudo btrfs failų sistemos naudojimas / duomenys
Dar vieno saugojimo įrenginio pridėjimas prie „Btrfs“ RAID
Norėdami parodyti, kaip subalansuoti „Btrfs“ RAID, pridėjus naują atminties įrenginį, turite prie jo pridėti naują atminties įrenginį.
Pridėjau naują HDD sdf į savo kompiuterį, kurį noriu pridėti prie Btrfs RAID, prijungto prie / duomenys kataloge. Pažiūrėkime, kaip tai padaryti.
$ sudo lsblk -e7
Eikite į kitą katalogą (t.e., NAMAI katalogą) iš / duomenys katalogą taip:
$ cd
Norėdami pridėti atminties įrenginį sdf prie Btrfs RAID, pritvirtinto / duomenys kataloge, vykdykite šią komandą:
$ sudo btrfs įrenginys add / dev / sdf / data
Kaip matote, saugojimo įrenginys sdf pridedamas prie „Btrfs“ RAID. RAID dydis padidėjo nuo 80 GB į 100 GB.
$ sudo btrfs failų sistemos naudojimas / duomenys
„Btrfs“ RAID balansavimas
Kaip matote, naujai pridėtas saugojimo įrenginys (sdf) RAID (montuojamas ant / duomenys kataloge) yra nepaskirstyta 20 GB, o kiti saugojimo įrenginiai (SDB, SDK, sdd, sde, ir pan.) turi 17.75 GB nepaskirstytas.
$ sudo btrfs failų sistemos naudojimas / duomenys
Duomenys1, metaduomenys2, ir sistemos duomenys3 yra prieinami tik esamuose RAID atminties įrenginiuose, o ne naujai pridėtame saugojimo įrenginyje.
Skleisti duomenis, metaduomenis ir sistemos duomenis visuose RAID atminties įrenginiuose (įskaitant naujai pridėtą atminties įrenginį), pritvirtintus prie / duomenys kataloge, vykdykite šią komandą:
$ sudo btrfs balance start - visas balansas / duomenys
Gali užtrukti, kol išplatinsite duomenis, metaduomenis ir sistemos duomenis visuose RAID atminties įrenginiuose, jei jame yra daug duomenų.
Kai RAID saugojimo įrenginiai bus tinkamai subalansuoti, turėtumėte pamatyti šį pranešimą.
Kaip matote, baigus balanso operaciją, naujai pridėtame saugojimo įrenginyje yra tiek pat nepaskirstytos vietos diske, kaip ir kituose RAID atminties įrenginiuose.
Atlikus balanso operaciją, naujai pridėto saugojimo įrenginio duomenims, metaduomenims ir sistemos duomenims paskirstomas toks pat vietos diske kaip ir kitų RAID saugojimo įrenginių (sdf) RAID.
Išvada
Šiame straipsnyje aptariau „Btrfs balance“ įrankio paskirtį ir apie tai, kaip subalansuoti „Btrfs“ RAID ar kelių įrenginių failų sistemą pridėjus naujus saugojimo įrenginius prie RAID arba kelių įrenginių failų sistemos.