Kad esat izveidojis Btrfs RAID, varat RAID pievienot vēl citas atmiņas ierīces, lai paplašinātu RAID. Bet, kad esat pievienojis vairāk atmiņas ierīču RAID, Btrfs automātiski neizplatīs esošos datus / metadatus / sistēmas datus jaunajās atmiņas ierīcēs. Tātad, iespējams, neizdosies iegūt RAID vēlamo caurlaidi (lasīšanas / rakstīšanas ātrumu), un tas, iespējams, nespēs aizpildīt jaunās atmiņas ierīces ar nepieciešamajiem liekajiem datiem. Tātad RAID masīvam var neizdoties izdzīvot vēlamo disku kļūmju skaitu.
Lai atrisinātu šīs problēmas, Btrfs failu sistēma nodrošina iebūvētu balansēšanas rīku. Btrfs bilances lietderība izplatīs RAID esošo atmiņas ierīču datus / metadatus / sistēmas datus uz nesen pievienotajām atmiņas ierīcēm.
Šajā rakstā es parādīšu, kā izmantot Btrfs bilances utilītu, lai izplatītu RAID esošo atmiņas ierīču datus / metadatus / sistēmas datus uz nesen pievienotajām atmiņas ierīcēm. Tātad, sāksim darbu!
Saīsinājumi
RAID - Lētu / neatkarīgu disku liekais masīvs
MB - Megabaitu
GB - Gigabaits
Priekšnoteikumi
Lai sekotu šim rakstam, jums ir jābūt darbojošam Btrfs RAID vai vairāku ierīču iestatījumam.
Gadā esmu izveidojis Btrfs RAID RAID-0 konfigurācija, izmantojot 4 atmiņas ierīces SDB, SDK, sdd, un sde.
Kā redzat, Btrfs failu sistēma tika piešķirta 1 GB vietas diskā datiem 256 MB domēna diska vietas metadati2, un 4 MB vietas diskā sistēma-dati3 no katras RAID atmiņas ierīces.
Par 18.75 GB beidzās 20 GB joprojām nav piešķirts4 no katras RAID atmiņas ierīces.
$ sudo btrfs failu sistēmas izmantošana / dati
Skripta rakstīšana, lai ģenerētu nejaušus failus
Lai parādītu, kā darbojas Btrfs bilances lietderība, mums jāveido daži nejauši faili, lai aizpildītu Btrfs failu sistēmu. Izveidosim čaulas skriptu, kas to dara.
Izveidojiet jaunus čaulas skripta genfailus.sh direktorijā / usr / local / bin / šādi:
$ sudo nano / usr / local / bin / genfiles.sh
Ierakstiet nākamās kodu rindas kodā genfiles.sh čaulas skripts.
#!/ bin / bashkamēr patiess
darīt
FILENAME = $ (uuidgen)
atbalss "[Izveido] $ FILENAME"
dd if = / dev / = $ FILENAME nejaušība bs = 1M skaits = 256 statuss = progress
atbalss "[Izveidots] $ FILENAME"
izdarīts
Kad esat pabeidzis, nospiediet
The genfiles.sh čaulas skripts darbojas bezgalīgi kamēr cilpa.
kamēr patiessdarīt
# citi kodi
izdarīts
Šajā rindā tiek ģenerēts UUID, izmantojot uuidgen komandu un saglabā UUID FAILA NOSAUKUMS mainīgais.
Šī rinda pirms faila izdrukā ziņojumu konsolē FAILA NOSAUKUMS tiek ģenerēts.
Šajā rindā tiek ģenerēts jauns izlases fails FAILA NOSAUKUMS izmantojot dd komandu. Faila lielums būs 256 MB.
Šajā failā konsolē pēc faila tiek izdrukāts ziņojums FAILA NOSAUKUMS tiek ģenerēts.
Pievienojiet izpildes atļauju genfiles.sh čaulas skripts:
$ sudo chmod + x / usr / local / bin / genfiles.sh
The genfiles.sh čaulas skriptam tagad jābūt pieejamam tāpat kā citām komandām.
$ kuras genfiles.sh
Nejaušo failu ģenerēšana Btrfs failu sistēmā
Mēs vēlamies ģenerēt nejaušus failus Btrfs RAID. Pieņemsim, ka Btrfs RAID ir uzstādīts uz / dati direktorijā.
Pārejiet uz / dati direktorijs, kurā ir uzstādīts Btrfs RAID, ir šāds:
$ cd / dati
Kā redzat, manā Btrfs RAID pašlaik nav pieejami faili.
$ ls -lh
Lai ģenerētu dažus nejaušus failus pašreizējā darba direktorijā (/ dati direktoriju šajā gadījumā), palaidiet genfiles.sh čaulas skripts:
$ sudo genfiles.sh
The genfiles.sh čaulas skriptam jāsāk ģenerēt nejauši faili / dati direktorijā.
The genfiles.sh skripts ģenerē nejaušus failus. Ļaujiet skriptam darboties pāris minūtes, lai tas aizpildītu apmēram 2-3 GB diska vietas Btrfs RAID.
Kad vēlaties pārtraukt genfiles.sh čaulas skriptu, nospiediet
Kā redzat, daži nejauši faili tiek ģenerēti Btrfs RAID.
$ ls -lh
Kā redzat, Btrfs RAID piešķīra 2 GB no katras RAID pievienotās atmiņas ierīces. Iepriekš Btrfs RAID no katras RAID pievienotās atmiņas ierīces piešķīra 1 GB.
Nepiešķirtā diska vieta ir samazināta no 18.75 GB uz 17.75 GB visās RAID atmiņas ierīcēs.
$ sudo btrfs failu sistēmas izmantošana / dati
Citas atmiņas ierīces pievienošana Btrfs RAID
Lai parādītu, kā līdzsvarot Btrfs RAID pēc jaunas atmiņas ierīces pievienošanas, tai jāpievieno jauna atmiņas ierīce.
Esmu pievienojis jaunu HDD sdf savam datoram, kuru es vēlos pievienot Btrfs RAID, kas uzstādīts uz / dati direktorijā. Apskatīsim, kā to izdarīt.
$ sudo lsblk -e7
Pārejiet uz citu direktoriju (t.i.e., MĀJAS direktoriju) no / dati direktoriju šādi:
$ cd
Lai pievienotu atmiņas ierīci sdf uz Btrfs RAID, kas uzstādīts uz / dati direktorijā, izpildiet šādu komandu:
$ sudo btrfs ierīce add / dev / sdf / data
Kā redzat, atmiņas ierīce sdf tiek pievienots Btrfs RAID. RAID izmērs ir palielinājies no 80 GB uz 100 GB.
$ sudo btrfs failu sistēmas izmantošana / dati
Btrfs RAID līdzsvarošana
Kā redzat, nesen pievienotā atmiņas ierīce (sdf) RAID (uzstādīts uz / dati direktorijā) ir nepiešķirts 20 GB, un pārējās atmiņas ierīces (SDB, SDK, sdd, sde, utt.) ir 17.75 GB nepiešķirts.
$ sudo btrfs failu sistēmas izmantošana / dati
Dati1, metadati2, un sistēmas dati3 ir pieejamas tikai esošajās RAID atmiņas ierīcēs, nevis nesen pievienotajā atmiņas ierīcē.
Lai izplatītu datus, metadatus un sistēmas datus visās RAID atmiņas ierīcēs (ieskaitot nesen pievienoto atmiņas ierīci), kas uzstādītas / dati direktorijā, izpildiet šādu komandu:
$ sudo btrfs atlikuma sākums - pilnīgs līdzsvars / dati
Datu, metadatu un sistēmas datu izplatīšana visās RAID atmiņas ierīcēs var aizņemt kādu laiku, ja tajā ir daudz datu.
Kad RAID atmiņas ierīces ir pareizi sabalansētas, jums vajadzētu redzēt šādu ziņojumu.
Kā redzat, pēc bilances operācijas pabeigšanas jaunpievienotajai atmiņas ierīcei ir vienāds nepiešķirtās diska vietas daudzums kā pārējām RAID atmiņas ierīcēm.
Pēc līdzsvara operācijas datiem, metadatiem un sistēmas datiem no nesen pievienotās atmiņas ierīces tiek piešķirts vienāds diska vietas apjoms, tāpat kā citām RAID atmiņas ierīcēm (sdf) RAID.
Secinājums
Šajā rakstā esmu apspriedis Btrfs bilances lietderības mērķi, kā arī to, kā līdzsvarot Btrfs RAID vai vairāku ierīču failu sistēmu pēc jaunu atmiņas ierīču pievienošanas RAID vai vairāku ierīču failu sistēmai.