FreeNAS confusione: non so cosa è successo. raidz1 "DEGRADED", disco "FAULTED"

Mi dispiace per la lunga narrazione, ma sono completamente confuso.

Sto utilizzando FreeNAS-8.0.4-RELEASE-p2-x64 (11367) in una casella con dischi SATA da 5x3TB configurati come un volume raidz.

  • FreeBSD: Come conoscere la dimensione del file reale su zfs con la compressione?
  • Autorizzazioni utente / limitazioni delle funzionalità del servizio di smbshare nativo zfs su linux
  • Import gli utenti di Active Directory nel gruppo Unix / Linux / FreeBSD
  • Come funziona l'utilizzo delle quote per ZFS su Linux?
  • ZFS RAID0 pool senza ridondanza
  • I disagi di una singola unità divisa in partizioni e partizioni unite in un raidz1 ZFS, rispetto a un singolo disco ZFS con duplicazione dati?
  • Qualche giorno fa, la console mi ha dato questo avviso:

    CRITICAL: The volume raid-5x3 (ZFS) status is DEGRADED

    zpool status dato:

      pool: raid-5x3 state: DEGRADED status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://www.sun.com/msg/ZFS-8000-8A scrub: resilver completed after 3h25m with 7607009 errors on Sun Aug 12 06:26:44 2012 config: NAME STATE READ WRITE CKSUM raid-5x3 DEGRADED 0 0 7.29M raidz1 DEGRADED 0 0 14.7M ada0p2 ONLINE 0 0 0 10739480653363274060 FAULTED 0 0 0 was /dev/ada1p2 ada2p2 ONLINE 0 0 0 ada3p2 ONLINE 0 0 3 254M resilvered ada1p2 ONLINE 0 0 0 errors: 7607009 data errors, use '-v' for a list 

    Ho fatto uno zpool status -v e ho ottenuto:

    Permanent errors have been detected in the following files:

    e ha elencato 2.660 file (su 50.000 o così)

    più cose come:

     raid-5x3/alpha:<0x0> raid-5x3/alpha:<0xf5ec> raid-5x3/alpha:<0xf5ea> 

    Abbiamo spento il server, inserito in una nuova unità, oltre ai cinque già presenti.

    Sono andato a console e view disks , ha appena detto "caricamento" per sempre * non poteva arrivare all'opzione "Sostituisci"!

    Poi abbiamo ottenuto:

     zpool status -v pool: raid-5x3 state: DEGRADED status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://www.sun.com/msg/ZFS-8000-8A scrub: none requested config: NAME STATE READ WRITE CKSUM raid-5x3 DEGRADED 0 0 0 raidz1 DEGRADED 0 0 0 ada0p2 ONLINE 0 0 0 10739480653363274060 UNAVAIL 0 0 0 was /dev/ada1p2 ada2p2 ONLINE 0 0 0 ada3p2 ONLINE 0 0 0 ada1p2 ONLINE 0 0 0 errors: Permanent errors have been detected in the following files: raid-5x3/alpha:<0x0> /mnt/raid-5x3/alpha/staff/Sound FX jw/Sound FX - scary horror/11 DR-EerieAct3-Waterphone..aif /mnt/raid-5x3/alpha/staff/Wheelhouse Shoots/ROCKY_THE_MUSICAL/ SHOOTS/WESTPORT/Cannon-CARD-B/CONTENTS/CLIPS001/AA0876/AA087601.SIF 

    … quindi 2.860 file e "raid-5×3 / alpha: <….>" voci …

    camcontrol devlist :

     <ST3000DM001-9YN166 CC4C> at scbus4 target 0 lun 0 (ada0,pass0) <WDC WD30EZRX-00MMMB0 80.00A80> at scbus4 target 1 lun 0 (aprobe1,pass6,ada4) <WDC WD30EZRX-00MMMB0 80.00A80> at scbus5 target 0 lun 0 (ada1,pass1) <ST3000DM001-9YN166 CC4C> at scbus5 target 1 lun 0 (ada2,pass2) <ASUS DRW-24B1ST a 1.04> at scbus6 target 0 lun 0 (cd0,pass3) <Hitachi HDS5C3030ALA630 MEAOA580> at scbus7 target 0 lun 0 (ada3,pass4) < USB Flash Memory 1.00> at scbus8 target 0 lun 0 (da0,pass5) 

    gpart show

     => 63 7831467 da0 MBR (3.7G) 63 1930257 1 freebsd [active] (943M) 1930320 63 - free - (32K) 1930383 1930257 2 freebsd (943M) 3860640 3024 3 freebsd (1.5M) 3863664 41328 4 freebsd (20M) 3904992 3926538 - free - (1.9G) => 0 1930257 da0s1 BSD (943M) 0 16 - free - (8.0K) 16 1930241 1 !0 (943M) => 34 5860533101 ada0 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada1 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada2 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada3 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada4 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) 

    glabel status

      Name Status Components ufs/FreeNASs3 N/A da0s3 ufs/FreeNASs4 N/A da0s4 ufs/FreeNASs1a N/A da0s1a gptid/446dd91d-8f15-11e1-a14c-f46d049aaeca N/A ada4p1 gptid/447999cb-8f15-11e1-a14c-f46d049aaeca N/A ada4p2 

    Sembrava che la nuova unità non fosse collegata correttamente?

    Riattaccato e riavviato.

    Ora la console ha mostrato l'allarme della luce verde.

    Ma quando sono andato a "visualizzare tutti i volumi", ha appena detto "caricamento …"

    Poi:

    glabel status

      Name Status Components ufs/FreeNASs3 N/A da0s3 ufs/FreeNASs4 N/A da0s4 ufs/FreeNASs1a N/A da0s1a 

    camcontrol devlist: codice: a scbus0 target 0 lun 0 (ada0, pass0) a scbus4 target 0 lun 0 (ada1, pass1) al target scbus4 lun 0 (ada2, pass2) a scbus5 target 0 lun 0 (ada3, pass3) a scbus5 target 1 lun 0 (ada4, pass4) al target scbus6 0 lun 0 (cd0, pass5) a scbus7 target 0 lun 0 (ada5, pass6) <memory flash USB 1.00> a scbus8 target 0 lun 0 (da0, pass7)

    gpart show

     => 63 7831467 da0 MBR (3.7G) 63 1930257 1 freebsd [active] (943M) 1930320 63 - free - (32K) 1930383 1930257 2 freebsd (943M) 3860640 3024 3 freebsd (1.5M) 3863664 41328 4 freebsd (20M) 3904992 3926538 - free - (1.9G) => 0 1930257 da0s1 BSD (943M) 0 16 - free - (8.0K) 16 1930241 1 !0 (943M) => 34 5860533101 ada1 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada2 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada3 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada4 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) => 34 5860533101 ada5 GPT (2.7T) 34 94 - free - (47K) 128 4194304 1 freebsd-swap (2.0G) 4194432 5856338703 2 freebsd-zfs (2.7T) 

    zpool status :

      pool: raid-5x3 state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://www.sun.com/msg/ZFS-8000-8A scrub: none requested config: NAME STATE READ WRITE CKSUM raid-5x3 ONLINE 0 0 0 raidz1 ONLINE 0 0 0 ada1p2 ONLINE 0 0 0 ada2p2 ONLINE 0 0 2 ada4p2 ONLINE 0 0 0 ada5p2 ONLINE 0 0 0 ada3p2 ONLINE 0 0 0 errors: 7607009 data errors, use '-v' for a list 

    A questo punto, qualcuno dei forum di FreeNAS ha detto: "Sei avvitato, a un certo punto avete 2 dischi falliti, a parte i dati."

    È vero?

    Ho scattato il button "scrub" … lo stato di zpool ha mostrato "resilver in corso … 900h per andare" … che è come un mese … e che ha continuato a salire fino a 30,000hrs …

    Tagliato a: oggi abbiamo ricontrollato tutti i collegamenti su tutti gli azionamenti.

    Poi ha cominciato a rivivere di nuovo, ma molto più veloce.

    Molti dei file – che sono stati precedentemente segnalati come corrotti – ho controllato a caso, e ora "sembrano" essere OK. (Significato Ho potuto copiare e giocarli – la maggior parte dei nostri dati è file video.)

    Quello che vorrei fare è copiare tutto per il quale non abbiamo un backup e che non è corrotto, ad un'altra macchina e quindi aggiorna questo a RAIDZ2.

    Penso forse che cosa è accaduto è che due drive sono stati dislocati. Penso che la baia di hotswap che abbiamo è scarsa qualità.

    Ma, di nuovo, sembravano collegati, solo colpiti … non lo so.

    Il rivestimento completato, in 3,5 ore.

    Ora lo stato di zpool dice:

      pool: raid-5x3 state: ONLINE scrub: resilver completed after 3h31m with 0 errors on Fri Aug 17 21:46:12 2012 config: NAME STATE READ WRITE CKSUM raid-5x3 ONLINE 0 0 0 raidz1 ONLINE 0 0 0 ada1p2 ONLINE 0 0 0 ada2p2 ONLINE 0 0 0 236G resilvered ada4p2 ONLINE 0 0 0 ada5p2 ONLINE 0 0 0 252G resilvered ada3p2 ONLINE 0 0 0 errors: No known data errors 

    Questo significa che i dati vengono recuperati? "Nessun errore conosciuto" sembra promettente!

    Ho iniziato uno scrub. (8 ore per andare.)

    Non abbiamo un backup per tutti i dati … quindi dobbiamo capire quali file sono corrotti e che sono utilizzabili.

    Un disco è fallito? In caso affermativo, quale? O è appena venuto a sciuparsi?

    Devo sostituirlo? Due?

    Qualcuno dei nostri dati è sicuro? In caso affermativo, quali file?

    2 Solutions collect form web for “FreeNAS confusione: non so cosa è successo. raidz1 "DEGRADED", disco "FAULTED"”

    Non ho usato zfs abbastanza da dire sull'integrità dei dati. list dei pool ha dato raidz1-0 ONLINE 0 0 0 c8t1d0p0 ONLINE 0 0 0 c8t2d0p0 ONLINE 0 0 0 c8t3d0p0 ONLINE 0 0 0

    smartctl -d sat, 12 -a / dev / rdsk / c8t3d0p0 elencano gli attributi specifici. -d sat -d ata -d scsi può farlo funzionare a seconda di quale tipo di unità hai. guarda il tasso di errore di lettura raw, il numero di settori trasferito, il tasso di errore di ricerca, l'hardware ecc e la rilocazione del settore in sospeso. -t breve o -t lungo invece di -a avvia un test. il test lungo può richiedere una o più ore a seconda dell'unità. gli errori di lettura e hardware non sono necessariamente un errore. come mai se continuano a saltare tra gli elenchi possono essere un buon indicatore. Anche alcuni produttori di unità potrebbero richiedere di utilizzare i loro strumenti per get un drive rma'd.

    Se ero nella tua posizione e non sono sicuro circa l'azionamento vorrei get un riassembly e dopo aver verificato il suo bene lavorando con il produttore o averlo rma. Vorrei mettere nell'azionamento in più come un ricambio caldo in modo che se succede di nuovo si dispone di un'altra unità pronta e in attesa. z2 non è una brutta idea, ma io continuerei a mantenere un ricambio nelle ali. con la dimensione degli azionamenti ora impiegano molto tempo per ribuild ed è ansible colpire un secondo errore.

    per quanto riguarda i file danneggiati se si dispone ancora di un originale where qualcun altro di uno di questi file "danneggiati" fanno un calcolo md5 e quindi vedi se il file corrotto corrisponde a md5. che ti dirà se i bit sono danneggiati. altrimenti potrebbero esserci danni invisibili ai file. se il suo danno sufficiente per essere un problema sarà a voi.

    La stessa cosa mi è accaduta quando ho rimosso accidentalmente l'unità non corretta quando sostituisco un errore. Quando ho controllato l'arrays ha detto che l'intera vdev era fallita con due dischi fatti. Una volta che ho ricollegato il disco non fallito e ho sostituito il disco danneggiato effettivo, la piscina è stata completamente rinnovata senza alcun impatto notevole sui file inizialmente elencati come danneggiati / persi / danneggiati.

    Come lo capisco, quando il disco è stato bloccato momentaneamente è stato contrassegnato come fallito, poiché un disco era effettivamente fallito, l'integer arrays è stato anche contrassegnato come fallito. Poi, non appena è stato ricollegato, viene scansionato e si presenta come parte della piscina esistente, e si è resilvered con il resto. Poiché i dischi 3/4 sono sufficienti per avere dati validi, finché i dati non sono cambiati troppo, tutto può ripristinare una volta che il disco fallito viene sostituito.

    Gli errori di Checksum non sono errori duri: sono errori recuperabili. Quando si verifica un errore di checksum, ZFS corregge immediatamente l'errore in RAIDZ, questo è uno dei motivi principali per cui ZFS è un sistema file di grandi size. Detto questo, vedere gli errori del checksum è un'indicazione di un problema. Tieni d'occhio i dischi, cerca di avere una mano utile in caso di guasto. Se si inizia a vedere gli errori di checksum nuovamente, sostituire qualsiasi unità / cavo in cui stanno accadendo. Può essere il backplane, può essere il connettore, può essere qualsiasi cosa, controllare tutto. Se sei preoccupato per tutta la baia, sostituisca.

    Nessun errore conosciuto si riferisce solo allo stato corrente del pool, non alla sua storia completa. Dal momento che il disco è stato sostituito e l'arrays ha resilvered, le statistiche sembrano essere stati cancellati pure; gli errori di checksum vengono azzerati. C'erano due errori in precedenza, e quelli rimarrebbero fino a quando non si schiarirono.

    Può essere affidabile la segnalazione ZFS, in modo che tutti i file non elencati nell'elenco dei file danneggiati debbano essere soddisfatti. Come accennato in un'altra risposta, se hai conosciuto delle buone copie di uno qualsiasi dei file, eseguire alcuni hash di check spot non può fare del male. Ottenere i backup completi non sarebbe una ctriggers idea. 😉

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.