Btrfs vairāku ierīču failu sistēmā vai Btrfs RAID atkarībā no failu sistēmas konfigurācijas Btrfs failu sistēmai pievienoto datu glabāšanas ierīču dažādās vietās saglabāto datu / metadatu bloku kopijas var būt vairākas. Kad Btrfs skrubēšanas rīks atrod bojātu datu / metadatu bloku, tas visās datu glabāšanas ierīcēs, kas pievienotas Btrfs failu sistēmai, meklē šo datu / metadatu bloka kopijas. Kad ir atrasta šī datu / metadatu bloka kopija, bojāto datu / metadatu bloks tiek pārrakstīts ar pareizo datu / metadatu bloku. Tas ir tas, kā Btrfs skrubēšanas rīks izlabo bojātu datu / metadatu blokus vairāku ierīču Btrfs failu sistēmā vai Btrfs RAID.
Šajā rakstā es parādīšu, kā izmantot skrūves rīku Btrfs, lai atrastu un labotu bojātu datu / metadatu blokus vairāku ierīču Btrfs failu sistēmā vai Btrfs RAID. Tātad, sāksim darbu.
Saīsinājumi
RAID - Lētu / neatkarīgu disku liekais masīvs
GB - Gigabaits
Priekšnoteikumi
Lai izpildītu šo rakstu, jums ir nepieciešama darbojoša vairāku ierīču Btrfs failu sistēma vai Btrfs RAID.
Gadā esmu izveidojis Btrfs RAID RAID-1 konfigurācija (uzstādīta uz / dati direktorijā), izmantojot 4 atmiņas ierīces SDB, SDK, sdd, un sde, kā redzat zemāk redzamajā ekrānuzņēmumā. Šajā Btrfs RAID es izmantoju Btrfs skrubja demonstrēšanai šajā rakstā.
$ sudo btrfs failu sistēmas izmantošana / dati
Ja jums nepieciešama palīdzība Btrfs failu sistēmas instalēšanā Ubuntu, skatiet manu rakstu Btrfs instalēšana un izmantošana Ubuntu 20.04 LTS.
Ja jums nepieciešama palīdzība Btrfs failu sistēmas instalēšanā Fedora, skatiet manu rakstu Btrfs instalēšana un izmantošana Fedora 33.
Ja jums nepieciešama palīdzība Btrfs RAID izveidošanā, skatiet manu rakstu Kā iestatīt Btrfs RAID.
Manekenu failu ģenerēšana Btrfs failu sistēmā
Lai parādītu, kā darbojas skrubēšanas rīks Btrfs, mums jāveido daži nejauši faili, lai aizpildītu Btrfs failu sistēmu. Izveidosim čaulas skriptu, kas to dara.
Izveidojiet jaunu čaulas skriptu genfiles.sh iekš / usr / local / bin / direktoriju šā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. Fails būs 256 MB pēc lieluma.
Šajā failā konsolē pēc faila tiek izdrukāts ziņojums FAILA NOSAUKUMS tiek ģenerēts.
Pievienojiet izpildes atļauju genfiles.sh čaulas skripts:
s
The genfiles.sh čaulas skriptam tagad jābūt pieejamam tāpat kā citām komandām.
$ kuras genfiles.sh
Ģenerēsim dažus nejaušus failus Btrfs RAID, kas uzstādīts / 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
Esmu izveidojis apmēram 13 GB izlases failus Btrfs RAID, kas uzstādīts / dati direktoriju, kā redzat zemāk redzamajā ekrānuzņēmumā.
$ sudo du -sh / data
Darbs ar rīku Btrfs skrubis
Šajā sadaļā es jums parādīšu, kā izmantot skrubēšanas rīku Btrfs. Sāksim.
Jūs varat sākt attīrīšanas procesu Btrfs failu sistēmā, kas uzstādīta uz / dati direktoriju ar šādu komandu:
$ sudo btrfs skrubja sākums / dati
Btrfs attīrīšanas process jāsāk Btrfs failu sistēmā, kas uzstādīta uz / dati direktorijā.
Jūs varat redzēt Btrfs skrubēšanas procesa statusu, kas darbojas Btrfs failu sistēmā, kas uzstādīta uz / dati direktoriju šādi:
$ sudo btrfs skrubja statuss / dati
Kā redzat, Btrfs skrubēšanas process joprojām ir skriešana.
Btrfs failu sistēmas vai Btrfs RAID, kurā ir daudz failu, attīrīšana prasīs daudz laika.
Kad Btrfs skrubēšanas process ir pabeigts, statuss jāmaina uz pabeigts, kā redzat zemāk redzamajā ekrānuzņēmumā.
$ sudo btrfs skrubja statuss / dati
Varat arī redzēt Btrfs skrubja statusu katrai no atmiņas ierīcēm, kas pievienotas Btrfs failu sistēmai (pievienotas / dati direktorijā) atsevišķi šādi:
$ sudo btrfs skrubja statuss -d / dati
Es jums teicu, ka Btrfs skrubēšanas process ilgst ilgu laiku, lai pabeigtu lielu Btrfs failu sistēmu. Viena liela skrāpēšanas rīka Btrfs priekšrocība ir tā, ka tā procesu var jebkurā laikā apturēt un atsākt.
Apskatīsim, kā apturēt un atsākt Btrfs skrubēšanas procesu.
Vispirms sāciet jaunu Btrfs skrubēšanas procesu Btrfs failu sistēmā, kas uzstādīta / data direktorijā, šādi:
$ sudo btrfs skrubja sākums / dati
Lai atceltu vai apturētu Btrfs skrubēšanas procesu, kas pašlaik darbojas Btrfs failu sistēmā, kas uzstādīta / dati direktorijā, izpildiet šādu komandu:
$ sudo btrfs skrubis atcelt / dati
Darbojošais Btrfs skrubēšanas process ir jāatceļ vai jāpārtrauc.
Kā redzat, Btrfs skrubja statuss ir pārtrauca. Tātad Btrfs skrubēšanas process vairs nedarbojas.
$ sudo btrfs skrubja statuss / dati
Lai atsāktu Btrfs attīrīšanas procesu, kuru esat atcēlis vai apturējis, izpildiet šādu komandu:
$ sudo btrfs skrubja atsākšana / dati
Btrfs skrubēšanas process ir jāatsāk.
Kā redzat, Btrfs skrubja statuss tagad ir skriešana. Tātad Btrfs skrubēšanas process tiek atsākts.
$ sudo btrfs skrubja statuss / dati
Pēc Btrfs skrubēšanas procesa pabeigšanas Btrfs skrubja statuss jāmaina uz pabeigts.
$ sudo btrfs skrubja statuss / dati
Secinājums
Šajā rakstā es jums parādīju, kā strādāt ar Btrfs skrubēšanas rīku, lai atrastu un labotu Btrfs vairāku ierīču failu sistēmas vai RAID bojātus datus / metadatu blokus. Es jums parādīju, kā atcelt / apturēt un atsākt Btrfs skrubēšanas procesu, tiklīdz tas ir sākts.