Despre profilurile BTRFS
Una dintre marile caracteristici ale btrfs este capacitatea de a utiliza diferite profiluri de raid. Deoarece btrfs stochează datele și metadatele separat, puteți distribui datele pe discuri ca raid0 și oglindiți toate metadatele ca raid1. Această redundanță în metadate ocupă puțin spațiu suplimentar. Și acest lucru este recomandat în setările btrfs raid0.
S-a sugerat întotdeauna să duplicați metadatele, chiar și pe un singur disc, deoarece pierderea metadatelor înseamnă și pierderea datelor.
Btrfs este capabil să schimbe un profil de raid pe un sistem live, transformând datele și metadatele pentru a oferi (sau elimina) redundanță. Acest lucru se întâmplă cu a echilibru . Un echilibru btrfs rescrie toate blocurile sistemului de fișiere și se ajustează pentru a se potrivi cu noile profiluri așa cum o face.
Gandacul
Am încercat să schimb profilul de metadate de pe singurul meu disc de la singur la dup pentru redundanță.
$ sudo începe soldul btrfs -mconvert =dup / mnt
Sistemul de fișiere a intrat imediat într-o stare de numai citire. Sistemul a căzut. Când a repornit, nu am putut trece de initramfs de recuperare. Nu au putut fi scrise date pe disc.
Când o operațiune de echilibrare este întreruptă pe sistemul de fișiere btrfs, se reia automat data viitoare când sistemul de fișiere este montat. Acest lucru poate fi de obicei oprit cu:
$ sudo montură -O skip_balance,rw / dev / sdX / mnt
Apoi, anulați dacă este necesar folosind următoarea comandă:
$ sudo soldul btrfs anulați / mntCu toate acestea, eroarea nu numai că a cauzat blocarea echilibrului, dar opțiunile de montare pentru a opri continuarea au fost ignorate. De fiecare dată când sistemul de fișiere este montat, balanța încearcă să se reia. Nu a reușit și sistemul de fișiere a trecut la doar citire. Dacă întâlniți acest lucru, trebuie să porniți orice distro folosind un nucleu mai vechi. În cazul meu, a fost Arch cu 4.18.
Montați sistemul de fișiere cu chenelul mai vechi:
$ sudo montură -O skip_balance,rw / dev / sdX / mntAnulează soldul:
$ sudo soldul btrfs anulați / mntEfectuați din nou echilibrul:
$ sudo începe soldul btrfs -mconvert =dup / mntOdată ce echilibrul este complet, puteți porni în siguranță într-un nucleu mai nou, acum cu metadate duplicate în sistemul de fișiere. Verificați profilurile utilizate de sistemul de fișiere. Veți vedea că aveți două copii ale metadatelor sistemului de fișiere și o singură copie a datelor:
$ sudo btrfs fi utilizare < punctul de montare >
Concluzie
Btrfs este un sistem de fișiere uimitor capabil de multe opțiuni avansate. Cu toate acestea, atunci când utilizați btrfs, ar trebui să aveți copii de siguranță funcționale, precum și un nucleu bootabil dintr-o distribuție LTS pentru salvarea sistemului. Chiar dacă un echilibru poate fi rulat pe un sistem de fișiere rădăcină montat, nu este întotdeauna recomandat să faceți acest lucru. Există încă multe erori în sistemul de fișiere. Ar trebui să fiți pregătiți pentru o salvare a sistemului de fișiere atunci când modulul btrfs nu a fost testat complet împotriva nucleelor de vârf.