Puncte:3

e2fsck curăță un sistem de fișiere și apoi câteva minute mai târziu (după multe citiri) apar erori

drapel us

Sistemul de fișiere este pe un RAID5 LVM. Se pare că funcționează corect:

$ sudo pvs
[sudo] parola pentru jrwren: 
  PV VG Fmt Attr PSize PFree 
  /dev/sda2 datavg lvm2 a-- <7,28t 2,80t
  /dev/sdb2 datavg lvm2 a-- <3,64t 0 
  /dev/sdc2 datavg lvm2 a-- <7,28t <7,28t
  /dev/sdd2 datavg lvm2 a-- <7,28t 0 
  /dev/sde2 datavg lvm2 a-- <7,28t 73,82g
  /dev/sdf1 datavg lvm2 a-- <3,64t 0 
  /dev/sdg2 datavg lvm2 a-- <7,28t 3,99t
  /dev/sdh2 datavg lvm2 a-- <447,11g 8,00m
  /dev/sdi2 datavg lvm2 a-- <9,10t 2,21t
 $ sudo lvs
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  lxd2 datavg -wi-ao---- 147,10 g                                                    
  datavg în oglindă -wi-ao---- 300,00 g                                                    
  m datavg Rwi-aor--- 3.52t 100.00          
  m3 datavg Rwi-aor--- 4.00t 100.00          
  mu datavg Rwi-aor--- 1.00t 100.00          
  nomirror datavg -wi-ao---- 2.20t                                                    
  fotografii datavg Rwi-aor--- 200.00g 100.00          
  stocare datevg Rwi-aor--- 300,00 g 100,00          
  storj datavg -wi-ao---- 1.00t                                                    
  t datavg Rwi-aor--- 6.00t 100.00          
  t2 datavg Rwi-aor--- 3.90t 100.00     

Am un proces care face multe citiri pe volumul logic numit m. Acesta este dispozitivul dm-12. În cele din urmă, moare cu următoarele mesaje ale nucleului.

30 iunie 16:02:33 întârzie kernel: [393661.035286] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: com[68/1946]t main: pblk header/magic invalid: pblk invalid/extent 725 - magic 0, intrări 0, max 0(0), adâncime 0(0)                               
30 iunie 16:02:33 întârzie nucleul: [393661.039726] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 7655519 magic/extent invalid ener712 0, max 0(0), adâncime 0(0)                               
30 iunie 16:02:33 întârzie kernel: [393661.044175] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 7655519 magic/extents invalid ener712 0, max 0(0), adâncime 0(0)                               
30 iunie 16:02:33 întârzie nucleul: [393661.048584] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 7655519 magic/extents invalid ener712 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie nucleul: [393661.054717] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 7655519 magic/extents invalid ener712 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie kernel: [393661.060977] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 760977: pblk 7655519 magic - invalid enter712: invalid header712: 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie nucleul: [393661.063736] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 763736: pblk 7655519 magic - invalid ener712: bad header712 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie nucleul: [393661.066283] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 76655519 invalid magic/extents: invalid header712: 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie nucleul: [393661.068773] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 768773: pblk 7655519 magic - invalid enter712: invalid header712 0, max 0(0), adâncime 0(0) 
30 iunie 16:02:33 întârzie nucleul: [393661.071232] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 7655519 magic/extents invalid ener712 0, max 0(0), adâncime 0(0) 

Demontez sistemul de fișiere și rulez e2fsck:

$ sudo e2fsck -p /dev/datavg/m
filmele conține un sistem de fișiere cu erori, verificare forțată.
filme: inodul 118751237 are un nod de extensie nevalid (blk 475078659, lblk 0)


filme: INCONSETENȚĂ NEȘTEPTĂ; RUN fsck MANUAL.
        (adică fără opțiuni -a sau -p)
$ sudo e2fsck -y /dev/datavg/movies
e2fsck 1.45.7 (28-ian-2021)
filmele conține un sistem de fișiere cu erori, verificare forțată.
Pasul 1: Verificarea inodurilor, blocurilor și dimensiunilor
Inodul 177471496 are un nod de extensie nevalid (blk 709943175, lblk 0)
Clar? da
...

Trecerea 1E: Optimizarea arborilor de extindere
Pasul 2: Verificarea structurii directoarelor
Pasul 3: Verificarea conectivității directorului
Pasul 4: Verificarea numărului de referințe
Pasul 5: Verificarea informațiilor rezumate ale grupului
Block bitmap differences:  -(709943175--709943176) -(868210688--868212735) -(868214784--868216831) -(868253696--868255743) -(868257792--868259839) -(868886528--868888575) -(868892672- -868894719) -(868896768--868898815) -(868900864--868902911) -(868904960--868907007) -(868909056--868911103) -(868913152--868917247) -(868921344--868923391) -(868925440-- 868927487) -(868929536--868931583) -(868933632--868935679) -(868937728--868939775) -(868941824--868943871) -(868945920--868947967) -(868950016--868954111) -(868958208--868960013 ) -(869894144--869922573)
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #21665 (24561, numărate=24563).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26495 (28672, numărate=32768).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26497 (18432, numărate=22528).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26516 (22528, numărate=32768).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26517 (16384, numărate=32768).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26518 (16626, numărate=26624).
Remediere? da

Blocurile gratuite sunt greșite pentru grupul #26547 (2290, numărate=30720).
Remediere? da

Blocurile gratuite se numără greșit (366951912, numărate=367025158).
Remediere? da



filme: ***** SISTEMUL DE FIȘIERE A FOST MODIFICAT *****
filme: 6896/236224512 fișiere (20,8% necontigue), 577868794/944893952 blocuri
$ sudo e2fsck -p /dev/datavg/movies
filme: curat, 6896/236224512 fișiere, 577868794/944893952 blocuri

Spune că este curat, așa că îl remontez și rulez din nou software-ul de citire.

Și câteva minute mai târziu:

30 iunie 16:34:49 întârzie kernel: [395595.309814] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic - invalid magic/extents 0 0, max 0(0), adâncime 0(0) 
30 iunie 16:34:49 întârzie kernel: [395595.317838] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic - invalid magic/extents:0 0, max 0(0), adâncime 0(0) 
30 iunie 16:34:49 întârzie kernel: [395595.320836] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic/magic: bad header692:0:0 0, max 0(0), adâncime 0(0) 
30 iunie 16:34:49 întârzie nucleul: [395595.323418] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic - invalid magic/extents 0 0, max 0(0), adâncime 0(0) 
30 iunie 16:35:14 întârzie kernel: [395619.785771] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic/magic: bad header6925:0 0, max 0(0), adâncime 0(0) 
30 iunie 16:35:14 întârzie kernel: [395619.793135] Eroare EXT4-fs (dispozitiv dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765551 invalid magic - invalid magic/extents 0 0, max 0(0), adâncime 0(0) 

Ce se intampla aici? LVM-ul este corupt și mă minte? Există o comandă pe care să o pot rula pentru a verifica? Ar trebui să rulez un badblocks (e2fsck -c) sau ceva?

Nu există mesaje LVM corespunzătoare din kernel. M-aș aștepta la erori LVM dacă discurile de bază ar avea probleme. Ce se întâmplă?

Actualizați: cineva a cerut ieșirea dmesg. Este exact ceea ce este mai sus cu mesajele EXT4-fs. Singurele mesaje din ieșirea dmesg, altele decât mesajele standard de boot sunt acestea repetate:

[527724.593062] RPTADDRS [3948921]: Segfault la 7FFC7A7A50B5 IP 00007FD9F0F86820 SP 00007FFC7A7A3FC8 ERROR 4 În LIBC-2.28.SO [7FD9F0E4C000+148000] [527724.59375 17 c0 c5 f8 77 c3 48 39 f7 0f 87 ab 00 00 00 0f 84 e5 fe ff ff c5 fe 6f 26 <c5> fe 6f 6c 16 e0 c5 fe 6f 74 16 c0 c5 fe 74 16 c5 c5 6f 4 6f
shodanshok avatar
drapel ca
Vă rugăm să afișați rezultatul `dmesg`
jrwren avatar
drapel us
@shodanshok am făcut-o. Erorile nucleului sunt chiar acolo. Voi actualiza cu rptaddrs segfaults.
Puncte:3
drapel cn

De două ori mi s-a întâmplat asta, cauza a fost o defecțiune hardware. Cauze subiacente posibile:

  • cabluri prost conectate
  • cablu de disc prost (mi s-a întâmplat o dată)
  • interfață SATA cu erori (am avut o interfață care a scris un bloc de zero octeți în dispozitivul meu de disc, o singură dată, dar apoi am aruncat cardul)
  • RAM proastă (coruperea datelor tamponate)
  • supraîncălzire sau erori introduse de overclockare
  • probabil mai puțin probabil, alte defecte hardware

De ambele ori mi s-a întâmplat acest lucru, am suferit pierderi de date. În zilele noastre, este mult mai puțin probabil, deoarece folosesc ZFS cu instantanee replicate și am și copii de rezervă pe bandă offline.

Faptul că puteți fsck și apoi găsiți că eșuează din nou imediat după aceea mă convinge că este o problemă hardware. Blocurile care sunt scrise de fsck pe disc atunci când se „rezolvă” problema probabil că nu ajung (întotdeauna) la suprafața discului necorupte, prezic.

În primul rând, asigurați-vă că cablurile existente sunt așezate corect și testați din nou. Dacă asta nu rezolvă problema, citiți mai departe:

S-ar putea să demonstrezi că aceasta este problema cu un disc de testare:

  1. Obțineți o imagine de sistem bootabilă live, de ex. pe o unitate USB. Nu pregătiți acest lucru pe mașina dvs. defectă, deoarece se presupune că se va deteriora. Folosiți o altă mașină sau cumpărați un stick USB pentru sistem live Linux.
  2. Opriți sistemul.
  3. Etichetați fiecare hard disk cu modul în care este conectat la interfețele SATA (de exemplu, ce port etc.)
  4. Deconectați unitățile și depozitați-le corespunzător (adică în containere robuste antistatice). Nu le conectați înapoi în sistem până când nu ați izolat și rezolvat problema, deoarece eforturile dvs. de a rezolva problema fsck doar fac mai rău.
  5. Conectați o sacrificial disc care conţine nu există date valoroase pe care le puteți suprascrie în siguranță
  6. Verificați de două ori dacă discul dvs. de sacrificiu și imaginea live bootabilă (vezi articolul următor) sunt numai dispozitive de stocare conectate la aparat. Trebuie să evitați partiționarea accidentală a unui disc cu datele dvs. valoroase pe el sau rularea badblocks pe un astfel de disc.
  7. Pornire dintr-o imagine de sistem live (de exemplu, sistem live USB bootabil)
  8. Partiționați unitatea într-un număr mic de partiții, prima fiind de câteva zeci de GB
  9. Alerga badblocks -w -B (cel -B ne asigurăm că exersăm și RAM-ul) pe o partiție mică (selectând una mică pentru ca testul să nu dureze zile)
  10. Dacă aceasta eșuează, aveți o problemă hardware; încercați să schimbați componentele pentru a vedea dacă problema dispare
    1. de exemplu, scoateți toate modulele RAM cu excepția unuia, rotiți prin ele pentru a identifica care dintre ele este prost
    2. de exemplu, schimbați portul SATA la care vă conectați, pentru a identifica o interfață sau un adaptor SATA prost
    3. de exemplu, păstrați același port SATA dar schimbați cablul, pentru a identifica un cablu defect
  11. Este posibil ca defecțiunile altor componente ale sistemului (chiar și o placă de bază defectă sau un PSU subalimentat) să cauzeze problema
  12. Dacă bănuiți că RAM proastă, puteți utiliza memtest86 pentru a-l testa. De asemenea, puteți omite -B marcați de la badblocks pentru a utiliza I/O direct în schimb, ceea ce va reduce, dar nu va elimina utilizarea RAM.

Odată ce ați identificat hardware-ul defect, înlocuiți-l. În mod ideal, restabiliți cea mai recentă copie de rezervă pe discuri noi (reținând că, dacă nu ați izolat și nu ați remediat problema, datele de pe discurile proaspete vor fi, de asemenea, corupte).

Editare: sunteți binevenit să votați negativ, dar dacă decideți să faceți acest lucru, v-aș aprecia dacă ați lăsa un comentariu care să indice de ce acest răspuns nu este util.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.