Puncte:2

Matricea RAID spune „eroare critică de mediu”, dar smartctl spune că discul este sănătos - ce să faci în continuare?

drapel in

Am o gamă RAID-1 de SSD-uri (Samsung 970 EVO Plus), iar erorile apar în /var/log/syslog, dar smartctl raportează că unitatea este sănătoasă. Am făcut o grămadă de diagnostice (mai jos) și mă întreb dacă mai pot face ceva. Există sau nu o problemă și, dacă da, care este cel mai bun curs de acțiune? (Pe Kubuntu 18.04.6 LTS.)

Iată matricea:

$ cat /proc/mdstat
md1: raid1 activ nvme0n1p3[0] nvme1n1p3[2]
      1919724608 blocuri super 1.2 [2/2] [UU]
      bitmap: 5/15 pagini [20KB], bucată de 65536KB

Pare sănătos, conform mdadm:

$ sudo mdadm --detail /dev/md1
/dev/md1:
           Versiune: 1.2
     Ora creării: sâmbătă, 29 februarie 12:33:09 2020
        Nivelul raid: raid1
        Dimensiunea matricei: 1919724608 (1830,79 GiB 1965,80 GB)
     Dimensiune Dev folosită: 1919724608 (1830,79 GiB 1965,80 GB)
      Dispozitive raid: 2
     Total dispozitive: 2
       Persistență: Superblocul este persistent

     Bitmap intenție: intern

       Ora actualizării: vineri, 31 decembrie 14:04:55 2021
             Stare: curat 
    Dispozitive active: 2
   Dispozitive de lucru: 2
    Dispozitive eșuate: 0
     Dispozitive de rezervă: 0

Politica de consistență: bitmap

              Nume: kubuntu:1
              UUID: 7c84adca:31e96bad:b1be03ae:d7d0349d
            Evenimente: 41087

    Număr Major Minor Raid Starea dispozitivului
       0 259 3 0 sincronizare activă /dev/nvme0n1p3
       2 259 7 1 sincronizare activă /dev/nvme1n1p3

Cu toate acestea, unele erori de citire au început să apară în /var/log/syslog, în triple:

31 decembrie 12:32:56 kernel: [662973.969218] blk_update_request: eroare medie critică, dev nvme1n1, sector 2769948928 op 0x0:(READ) flags 0x0 phys_seg 9 prio class 0
Dec 31 12:32:56 kernel: [662973.969222] md/raid1:md1: nvme1n1p3: reprogramare sector 2702369024
31 decembrie 12:32:56 kernel: [662973.978792] md/raid1:md1: redirecționarea sectorului 2702369024 către altă oglindă: nvme0n1p3

31 decembrie 12:43:11 kernel: [663588.474940] blk_update_request: eroare medie critică, dev nvme0n1, sector 1815443200 op 0x0:(READ) flags 0x0 phys_seg 33 prio class 0
Dec 31 12:43:11 kernel: [663588.474943] md/raid1:md1: nvme0n1p3: reprogramare sector 1747863296
31 decembrie 12:43:11 kernel: [663588.499466] md/raid1:md1: redirecționarea sectorului 1747863296 către altă oglindă: nvme0n1p3

uneori urmată de:

kernel: [313519.337578] md/raid1:md1: eroare de citire corectată (8 sectoare la 1367197592 pe nvme1n1p3)

am fugit smartctl pentru a căuta probleme. Indică faptul că s-au întâmplat erori în trecut, dar mai spune „Rezultatul testului de autoevaluare a sănătății generale SMART: A TRUS."

Pentru /dev/nvme0n1:

$ sudo smartctl -a /dev/nvme0n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (build local)
Drepturi de autor (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== ÎNCEPE SECȚIUNEA DE INFORMAȚII ===
Număr model: Samsung SSD 970 EVO 2TB
Număr de serie: S464NB0M406242D
Versiunea de firmware: 2B2QEXE7
ID furnizor/subsistem PCI: 0x144d
Identificator IEEE OUI: 0x002538
Capacitate totală NVM: 2.000.398.934.016 [2,00 TB]
Capacitate NVM nealocată: 0
ID controler: 4
Număr de spații de nume: 1
Dimensiunea/capacitatea spațiului de nume 1: 2.000.398.934.016 [2,00 TB]
Utilizare spațiu de nume 1: 1.017.558.851.584 [1,01 TB]
Spațiul de nume 1 Format LBA Dimensiune: 512
Ora locală este: vineri, 31 decembrie, 14:01:33 2021 EST
Actualizări de firmware (0x16): 3 sloturi, nu este necesară resetarea
Comenzi opționale de administrare (0x0017): Format de securitate Frmw_DL *Altele*
Comenzi opționale NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Other*
Dimensiunea maximă de transfer de date: 512 pagini
Avertisment Comp. Temp. Prag: 82 Celsius
Critic Comp. Temp. Prag: 82 Celsius

State de putere acceptate
St Op Max Activ Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 W - - 0 0 0 0 0 0
 1 + 4,30 W - - 1 1 1 1 0 0
 2 + 2,10 W - - 2 2 2 2 0 0
 3 - 0,0400 W - - 3 3 3 3 210 1200
 4 - 0,0050 W - - 4 4 4 4 2000 8000

Dimensiuni LBA acceptate (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
 0 + 512 0 0

=== ÎNCEPEREA SECȚIUNII DE DATE INTELIGENTE ===
Rezultatul testului de autoevaluare a sănătății generale SMART: A TRUS

Informații SMART/Sănătate (NVMe Log 0x02, NSID 0x1)
Avertisment critic: 0x00
Temperatura: 46 Celsius
Rezervă disponibilă: 73%
Pragul de rezervă disponibil: 10%
Procent utilizat: 0%
Unități de date citite: 232.548.547 [119 TB]
Unități de date scrise: 58.761.625 [30,0 TB]
Comenzi de citire gazdă: 1.144.416.417
Comenzi de scriere gazdă: 1.551.430.546
Timp ocupat controler: 7.250
Cicluri de alimentare: 114
Ore de pornire: 6.365
Opriri nesigure: 73
Erori de integritate media și date: 694
Intrări din jurnal de informații despre eroare: 926
Avertisment Comp. Timp de temperatură: 0
Critic Comp. Timp de temperatură: 0
Senzor de temperatură 1: 46 Celsius
Senzor de temperatură 2: 50 Celsius

Informații despre eroare (NVMe Log 0x01, max 64 intrări)
Num ErrCount SQId CmdId Stare PELoc LBA NSID VS
  0 926 28 0x0370 0xc502 0x000 3738332404 1 -
  1 925 6 0x015b 0xc502 0x000 2503721366 1 -
  2 924 22 0x0000 0xc502 0x000 1963251598 1 -
  3 923 11 0x038a 0xc502 0x000 1862557082 1 -
  4 922 16 0x00d1 0xc502 0x000 1862557082 1 -
  5 921 6 0x0141 0xc502 0x000 1826459600 1 -
  6 920 20 0x03b5 0xc502 0x000 1815443442 1 -
  7 919 8 0x034d 0xc502 0x000 2588273810 1 -
  8 918 11 0x0315 0xc502 0x000 2583041964 1 -
  9 917 9 0x02e3 0xc502 0x000 2583041964 1 -
 10 916 11 0x030e 0xc502 0x000 2583023500 1 -
 11 915 11 0x0308 0xc502 0x000 2583023468 1 -
 12 914 11 0x033a 0xc502 0x000 2583023500 1 -
 13 913 9 0x02ec 0xc502 0x000 2583023468 1 -
 14 912 14 0x03d2 0xc502 0x000 2472005420 1 -
 15 911 23 0x00cd 0xc502 0x000 2444721868 1 -
... (32 de intrări nu sunt afișate)

/dev/nvme1n1:

$ sudo smartctl -a /dev/nvme1n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (build local)
Drepturi de autor (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== ÎNCEPE SECȚIUNEA DE INFORMAȚII ===
Număr model: Samsung SSD 970 EVO 2TB
Număr de serie: S464NB0M403333H
Versiunea de firmware: 2B2QEXE7
ID furnizor/subsistem PCI: 0x144d
Identificator IEEE OUI: 0x002538
Capacitate totală NVM: 2.000.398.934.016 [2,00 TB]
Capacitate NVM nealocată: 0
ID controler: 4
Număr de spații de nume: 1
Dimensiunea/capacitatea spațiului de nume 1: 2.000.398.934.016 [2,00 TB]
Utilizare spațiu de nume 1: 1.044.938.612.736 [1,04 TB]
Spațiul de nume 1 Format LBA Dimensiune: 512
Ora locală este: vineri, 31 decembrie, 14:03:07 2021 EST
Actualizări de firmware (0x16): 3 sloturi, nu este necesară resetarea
Comenzi opționale de administrare (0x0017): Format de securitate Frmw_DL *Altele*
Comenzi opționale NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Other*
Dimensiunea maximă de transfer de date: 512 pagini
Avertisment Comp. Temp. Prag: 82 Celsius
Critic Comp. Temp. Prag: 82 Celsius

State de putere acceptate
St Op Max Activ Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 W - - 0 0 0 0 0 0
 1 + 4,30 W - - 1 1 1 1 0 0
 2 + 2,10 W - - 2 2 2 2 0 0
 3 - 0,0400 W - - 3 3 3 3 210 1200
 4 - 0,0050 W - - 4 4 4 4 2000 8000

Dimensiuni LBA acceptate (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
 0 + 512 0 0

=== ÎNCEPEREA SECȚIUNII DE DATE INTELIGENTE ===
Rezultatul testului de autoevaluare a sănătății generale SMART: A TRUS

Informații SMART/Sănătate (NVMe Log 0x02, NSID 0x1)
Avertisment critic: 0x00
Temperatura: 45 Celsius
Rezervă disponibilă: 81%
Pragul de rezervă disponibil: 10%
Procent utilizat: 1%
Unități de date citite: 180.057.901 [92,1 TB]
Unități de date scrise: 77.700.415 [39,7 TB]
Comenzi de citire gazdă: 801.630.346
Comenzi de scriere gazdă: 1.566.190.001
Timp ocupat controler: 6.925
Cicluri de alimentare: 156
Ore de pornire: 6.260
Opriri nesigure: 86
Erori de integritate media și date: 721
Intrări în jurnal de informații despre eroare: 1.015
Avertisment Comp. Timp de temperatură: 0
Critic Comp. Timp de temperatură: 0
Senzor de temperatură 1: 45 Celsius
Senzor de temperatură 2: 52 Celsius

Informații despre eroare (NVMe Log 0x01, max 64 intrări)
Num ErrCount SQId CmdId Stare PELoc LBA NSID VS
  0 1015 22 0x0178 0xc502 0x000 2395920012 1 -
  1 1014 31 0x02d6 0xc502 0x000 2065018576 1 -
  2 1013 10 0x004e 0xc502 0x000 1928508102 1 -
  3 1012 6 0x02aa 0xc502 0x000 2769949126 1 -
  4 1011 27 0x0204 0xc502 0x000 2180665946 1 -
  5 1010 27 0x023b 0xc502 0x000 2180598396 1 -
  6 1009 14 0x00ee 0xc502 0x000 2562333810 1 -
  7 1008 13 0x0075 0xc502 0x000 2423243572 1 -
  8 1007 30 0x03bb 0xc502 0x000 2326927278 1 -
  9 1006 24 0x03e6 0xc502 0x000 1775468746 1 -
 10 1005 16 0x0066 0xc502 0x000 1775468746 1 -
 11 1004 23 0x0148 0xc502 0x000 2813092280 1 -
 12 1003 26 0x02fa 0xc502 0x000 2452856518 1 -
 13 1002 5 0x03b1 0xc502 0x000 2119789206 1 -
 14 1001 27 0x009b 0xc502 0x000 3047371772 1 -
 15 1000 5 0x036c 0xc502 0x000 3047371772 1 -
... (5 intrări nu sunt afișate)

Cele două unități nu par să accepte autotestări (smartctl -c nu listează deloc autotestări).

$ sudo smartctl -c /dev/nvme0n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (build local)
Drepturi de autor (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== ÎNCEPE SECȚIUNEA DE INFORMAȚII ===
Actualizări de firmware (0x16): 3 sloturi, nu este necesară resetarea
Comenzi opționale de administrare (0x0017): Format de securitate Frmw_DL *Altele*
Comenzi opționale NVM (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Other*
Dimensiunea maximă de transfer de date: 512 pagini
Avertisment Comp. Temp.Prag: 82 Celsius
Critic Comp. Temp. Prag: 82 Celsius

State de putere acceptate
St Op Max Activ Idle RL RT WL WT Ent_Lat Ex_Lat
 0 + 6,20 W - - 0 0 0 0 0 0
 1 + 4,30 W - - 1 1 1 1 0 0
 2 + 2,10 W - - 2 2 2 2 0 0
 3 - 0,0400 W - - 3 3 3 3 210 1200
 4 - 0,0050 W - - 4 4 4 4 2000 8000

Dimensiuni LBA acceptate (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
 0 + 512 0 0

Îmi actualizez întrebarea:

Unele dintre erori par să fie atribuite script checkarray care rulează o dată pe lună, deoarece erorile încep „în prima duminică a fiecărei luni, la 01:06 dimineața”. „man md” adaugă:

[Activat] RAID1 este posibil ca problemele software să cauzeze raportarea unei nepotriviri [între cele două discuri]. Acest lucru nu înseamnă neapărat că datele din matrice sunt corupte. S-ar putea să fie pur și simplu că sistemului nu îi pasă de ce este stocat în acea parte a matricei - este spațiu neutilizat. Cauza cea mai probabilă pentru o nepotrivire neașteptată a RAID1 sau RAID10 apare dacă o partiție de schimb sau un fișier de schimb este stocat pe matrice.

Ce trebuie să fac în continuare? Mulțumesc foarte mult.

Nmath avatar
drapel ng
Ai întotdeauna încredere în cel mai rău raport. Asigurați-vă că backup-urile sunt în ordine. Amintiți-vă că [RAID nu este o copie de rezervă](https://www.raidisnotabackup.com/). Planificați înlocuirea unității defecte, mai devreme sau mai târziu.
DanB avatar
drapel in
Mulțumiri. Ce înseamnă că erorile au apărut brusc pe *ambele* SSD-uri din matrice? (Unele mesaje plasează eroarea pe `/dev/nvme0n1`, iar altele pe `/dev/nvme1n1`.
Nmath avatar
drapel ng
Dacă sunt oglindite, ar putea fi inconsecvențe între cele două discuri.
DanB avatar
drapel in
Ele sunt oglindite. Există o comandă pentru a verifica sau corecta situația dacă discurile sunt inconsecvente? PS: Tocmai am descoperit (căutând jurnalele vechi, arhivate) că aceste erori au loc de multe luni pe ambele unități, de obicei la aceeași oră a zilei, când sunt susținute de rsync (pe altă unitate).
Nmath avatar
drapel ng
Erorile pe care le vedeți vă anunță cu privire la corecțiile efectuate. Aceasta este ceea ce se înțelege prin „reprogramare” și „redirecționare”.
DanB avatar
drapel in
Mulțumiri! Ultima întrebare: ce înseamnă dacă eroarea este *nu* urmată de un mesaj de programare/corectare, cum ar fi acest mesaj în sine: „kernel: [905111.122813] blk_update_request: critic medium error, dev nvme1n1, sector 34055424 op 0x0:( CITIT) ..."?
DanB avatar
drapel in
Ah, tocmai am descoperit ceva în `/usr/share/doc/mdadm/README.checkarray`! „checkarray va executa verificări de paritate în toate matricele redundante. În mod implicit, este configurat să ruleze în prima duminică a fiecărei luni, la 01:06 dimineața.” Data și perioada respectivă corespund exact cu majoritatea mesajelor de eroare din jurnalele mele. (Totuși, nu toate mesajele de eroare.)
Nmath avatar
drapel ng
Nu sunt sigur de erorile care nu sunt urmate de o corecție. Are sens pentru mine că majoritatea corecțiilor ar avea loc atunci când sistemul le verifică

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.