Când SLES Btrfs devine doar pentru citire: Diagnosticare înainte de remontare

Dacă un sistem de fișiere SUSE Linux Enterprise Btrfs raportează „Sistem de fișiere doar în citire”, aflați mai întâi dacă a fost montat intenționat doar în citire sau a fost comutat la doar citire după o eroare. Verificați opțiunile de montare, spațiul liber și jurnalul kernelului înainte de a încerca o remontare. Utilizați rollback-ul Snapper pentru o instantanee a sistemului bootabil verificată; dacă Btrfs a înregistrat erori de I/O sau de metadate, protejați datele și diagnosticați calea de stocare înainte de a scrie din nou în sistemul de fișiere.

Comenzile terminalului verifică dacă sistemul de fișiere /data Btrfs este montat doar în citire și listează dispozitivul său
Exemplul verifică opțiunile de montare și identifică dispozitivul Btrfs care conține /data.

1. Identificați o montare intenționată doar în citire dintr-o eroare de sistem de fișiere

Înlocuiți /datacu punctul de montare afectat sau /pentru root.

findmnt -T /data -o SOURCE,FSTYPE,OPTIONS
sudo btrfs filesystem show /data

În prima comandă, căutați rosau rwîn opțiuni. Se așteaptă ca o instantanee Snapper doar pentru citire să respingă scrierile. O montare configurată cu roin /etc/fstabpoate fi, de asemenea, intenționată. Btrfs poate trece, de asemenea, la doar citire după erori grave de tranzacție, metadate sau dispozitiv. În acest caz, rularea repetată mount -o remount,rwnu repară cauza și poate eșua imediat.

Dacă sistemul de fișiere a fost montat în mod deliberat în modul read-only, dispozitivul său este sănătos și jurnalul kernelului nu are erori Btrfs sau I/O, o montare normală de date poate fi remontată în modul read-write:

sudo mount -o remount,rw /data
findmnt -T /data -o TARGET,OPTIONS

Nu folosiți aceasta ca o comandă de recuperare pentru o instantanee read-only pornită sau pentru un sistem de fișiere read-only forțat din cauza unei erori. O remontare reușită confirmă posibilitatea de scriere, nu integritatea sistemului de fișiere.

2. Verificați dacă presiunea spațiului este problema reală

Exemplu de terminal care compară spațiul liber obișnuit cu spațiul alocat și nealocat Btrfs
Comparați spațiul liber din sistemul de fișiere cu detaliile de alocare Btrfs; valorile exemplu sunt ilustrative.

Btrfs poate rămâne fără spațiu alocat chiar și atunci când o vizualizare de bază a discului pare surprinzătoare, deoarece alocarea datelor și a metadatelor este urmărită separat. Verificați atât spațiul liber obișnuit, cât și utilizarea Btrfs:

df -hT /data
sudo btrfs filesystem usage -T /data

Dacă sistemul raportează acest lucru No space left on deviceși jurnalul kernelului nu arată erori ale dispozitivului sau erori structurale, verificați utilizarea Snapper înainte de a elimina orice:

sudo snapper list

Ștergeți doar instantaneele pe care politica dvs. de retenție vă permite să le pierdeți, utilizând sudo snapper delete SNAPSHOT_IDpentru fiecare ID selectat. Păstrați un instantaneu pre-actualizare cunoscut ca fiind valid dacă aveți nevoie de o opțiune de revenire la starea inițială; ștergerea instantaneelor ​​recuperează spațiu, dar elimină punctele de recuperare. Curățarea poate să nu returneze spațiu imediat, iar instantaneele nu vor remedia erorile I/O. Nu executați o echilibrare pentru a forța un sistem de fișiere doar pentru citire ca fiind inscriptibil; aceasta mută date și este destinată unei probleme de alocare diagnosticate pe un sistem de fișiere sănătos, inscriptibil.

3. Citiți jurnalul kernelului înainte de a alege o reparație

Exemplu de terminal care prezintă mesajele de eroare Btrfs și I/O pentru dispozitive bloc în jurnalul kernelului
Mesajele kernel pot distinge presiunea spațiului de erorile de citire, de control sau de dispozitiv; liniile afișate sunt exemple.

Căutați prima eroare Btrfs, block-device, controller sau transport, nu doar mesajul final care indică faptul că sistemul de fișiere a devenit read-only:

sudo journalctl -k -b --no-pager | grep -Ei 'btrfs|I/O error|nvme|ata|scsi'

Mesajele despre citiri eșuate, neconcordanțe de sumă de control, dispozitive lipsă sau erori I/O indică o cale diferită de o simplă roopțiune de montare. Verificați informațiile despre discul, controlerul, RAID/HBA, SAN sau stratul de disc virtual și starea furnizorului raportate. Corectați mai întâi hardware-ul sau conectivitatea instabilă. Dacă datele sunt importante, reduceți la minimum scrierile și aranjați o copie de rezervă sau o imagine la nivel de bloc cu un administrator înainte de a încerca repararea sistemului de fișiere.

4. Alegeți recuperarea cu cel mai puțin risc care corespunde dovezilor

Ce ați găsitAcțiunea următoareCompromis
roeste configurat sau montarea a fost intenționat doar pentru citire; nu există erori relevante de kernelCorectați configurația de montare dacă este neintenționată sau remontați un subvolum normal inscriptibil după ce confirmați că dispozitivul este sănătos.Rapid, dar remontarea nu poate șterge o stare de citire forțată din cauza unei erori și nici nu poate face ca o instantanee de citire să fie scriibilă.
O instantanee root bootabilă funcționează, iar problema a apărut după o modificare a sistemului.Pornește și testează instantaneul, apoi rulează sudo snapper rollbackși repornește la intrarea implicită.Restaurează subvolumul rădăcină la starea de instantaneu. Datele din subvolumele excluse sau separate nu sunt anulate. SLES 15 SP7 acceptă această anulare numai cu aspectul implicit al subvolumului rădăcină și un sistem de fișiere rădăcină cu un singur dispozitiv.
Jurnalul kernelului conține erori I/O de stocare sau erori structurale BtrfsStabilizează spațiul de stocare și păstrează datele; folosește un mediu de salvare și escaladează pentru recuperarea specifică sistemului de fișiere.Mai lent, dar evită ascunderea unei probleme hardware nerezolvate cu o remontare inscriptibilă.
Se raportează doar epuizarea spațiului; erorile de stocare sunt absente.Verificați păstrarea Snapper și eliberarea snapshot-urilor sau a datelor permise, apoi verificați din nou utilizarea Btrfs.Eliberează capacitate cu costul punctelor de recuperare sau al fișierelor selectate.
Exemplu de meniu de boot cu o intrare mai veche evidențiată în lista de instantanee bootabile
Alegeți o instantanee de dinaintea erorii, verificați testul de pornire doar în citire, apoi efectuați revenirea la versiunea Snapper dacă aceasta rezolvă problema.

Pe SLES, snapshot-urile bootabile utilizează configurația implicită a rădăcinii Snapper. Rădăcina trebuie să fie Btrfs pe un dispozitiv, încărcătorul de boot trebuie să îl accepte și doar subvolumul rădăcină este anulat. Verificați un candidat înainte de validare; dacă este nepotrivit, reporniți sistemul la sistemul curent sau la mediul de salvare. Consultați procedura de anulare a anulării la SLES 15 SP7 Snapper .

Când sunt potrivite verificările offline sau o verificare preliminară

Dacă sistemul de fișiere nu se montează sau mesajele kernelului sugerează deteriorări structurale, porniți sistemul de salvare SLES sau alt mediu de recuperare adecvat, identificați dispozitivul corect și asigurați-vă că este demontat înainte de a rula verificarea implicită, doar pentru citire:

sudo btrfs check /dev/DEVICE

Folosește dispozitivul bloc Btrfs propriu-zis, nu un substituent pentru punctul de montare. O verificare poate necesita timp și memorie și raportează constatări structurale; nu garantează repararea. Nu adăugați --repairurmătorul pas ca o rutină. Documentația Btrfs avertizează că repararea poate agrava situația și trebuie utilizată numai cu îndrumarea unui expert după acceptarea riscului legat de date. Consultați asistența SUSE sau un specialist Btrfs atunci când verificarea raportează erori sau dispozitivul are erori I/O.

După ce stocarea este stabilă și sistemul de fișiere este montat în citire-scriere, sudo btrfs scrub start -B /datapoate verifica sumele de control. Scrub nu este un verificator structural. Poate repara daunele doar dintr-o copie redundantă cunoscută ca fiind bună; pe un layout cu o singură copie, detectează erori, dar nu poate reconstrui datele pierdute. Citiți documentația Btrfs scrub . Consultați și ghidul sistemelor de fișiere SLES 15 SP7 de la SUSE , articolul despre recuperarea Btrfs de la SUSE și manualul de verificare Btrfs .

Verificați rezultatul

După recuperarea aleasă, verificați dacă montarea are opțiunile dorite și poate efectua o scriere în siguranță:

findmnt -T /data -o TARGET,SOURCE,FSTYPE,OPTIONS
sudo touch /data/.rw-check && sudo rm /data/.rw-check

Pentru o revenire la o instantanee root, reporniți mai întâi și confirmați că sistemul implicit pornește normal. Apoi, verificați noul jurnal al kernelului pentru erori recurente Btrfs sau de dispozitiv. Un semnalizator de citire-scriere în sine nu este un certificat de stare bună: dacă apar erori repetate, opriți scrierile și reveniți la diagnosticarea stocării.

Lasă un comentariu

Când SLES Btrfs devine doar pentru citire: Diagnosticare înainte de remontare

Când SLES Btrfs devine doar pentru citire: Diagnosticare înainte de remontare

Identificați dacă Btrfs este intenționat doar pentru citire, are puțin spațiu sau protejează datele după erori, apoi alegeți o cale de recuperare care corespunde cauzei.

Înregistrați SLES 15 cu SUSE Manager într-o rețea offline

Înregistrați SLES 15 cu SUSE Manager într-o rețea offline

Pregătiți canalele oglindite, creați o cheie de activare și porniți un client SLES 15 fără acces direct la internet, păstrând în același timp conexiunea necesară pentru înregistrările Manager.

Faceți ca redirecționarea X11 a YaST să funcționeze prin SSH

Faceți ca redirecționarea X11 a YaST să funcționeze prin SSH

Corectează eroarea de lansare XIO a YaST prin SSH, verifică redirecționarea X11 și xauth și comută la interfața ncurses atunci când o fereastră la distanță nu este necesară.

Revenirea în siguranță la o actualizare SLES eșuată cu Snapper

Revenirea în siguranță la o actualizare SLES eșuată cu Snapper

Găsește snapshot-ul Btrfs de dinainte de actualizare, testează-l în modul doar pentru citire și fă recuperarea permanentă cu Snapper, înțelegând în același timp ce date rămân în afara rollback-ului rădăcină.

Redirecționare securizată SLES Syslog cu rsyslog și Mutual TLS

Redirecționare securizată SLES Syslog cu rsyslog și Mutual TLS

Trimiteți jurnalele de sistem SLES către un colector rsyslog la distanță prin TLS autentificat, cu verificări ale certificatelor, memorare temporară în caz de întreruperi și teste de livrare.

Urmăriți erorile de memorie la actualizarea SLES înainte de a reîncerca

Urmăriți erorile de memorie la actualizarea SLES înainte de a reîncerca

Folosește jurnalele RAM, swap, kernel și Zypper pentru a identifica presiunea reală a memoriei, a proteja starea pachetului și a alege o reîncercare mai sigură pentru actualizarea SLES.

Mențineți actualizările de securitate Debian 12 rulând pe un server headless

Mențineți actualizările de securitate Debian 12 rulând pe un server headless

Activează actualizările de securitate nesupravegheate ale Debian prin SSH, păstrează sursele implicite ale pachetelor și verifică rulările programate prin jurnalele systemd și APT.

Primiți avertismente despre discul SMART de pe Ubuntu prin e-mail cu smartd

Primiți avertismente despre discul SMART de pe Ubuntu prin e-mail cu smartd

Compară opțiunile de livrare a e-mailurilor, configurează smartd pe Ubuntu și verifică dacă avertismentele privind starea discului ajung în inbox.

Erori de căutare DNS în Debian 12: Reparare eroare rezolvată de systemd

Erori de căutare DNS în Debian 12: Reparare eroare rezolvată de systemd

Restaurați căutările DNS pe Debian 12 verificând systemd-resolved, reparând fișierul resolv.conf atunci când este necesar și verificând DNS-ul din amonte și rezoluția aplicației.

Ubuntu 24.04 nu afișează sunetul HDMI? Restaurați ieșirea

Ubuntu 24.04 nu afișează sunetul HDMI? Restaurați ieșirea

Setați Ubuntu să detecteze monitorul sau televizorul ca ieșire audio, selectați-o în setările Sunet și verificați conexiunea sau lista de dispozitive PipeWire dacă lipsește HDMI.