Come determinare quale disco non è riuscito in un'installazione di FreeNAS / ZFS


12

Sto costruendo un server basato su FreeNAS in un contenitore Supermicro X6DHE-XB 3U con 4G di RAM, 16 alloggiamenti hot-swap SATA. Viene fornito con schede RAID 3Ware con porta 2x8, ma sto pensando di utilizzare solo le funzionalità ZFS anziché il RAID hardware. Il mio set di unità iniziale sarà 8x2 TB HITACHI Deskstar 7K3000 HDS723020BLA642 unità.

Se stavo usando RAID basato su hardware, mi darebbe una luce rossa sul vano unità in cui l'unità si guasta. Come funziona con ZFS quando un'unità si guasta? Non credo che ci sia alcuna garanzia che sda ​​= bay1, sdb = bay2, ecc. Quindi, come si determina quale unità deve essere sostituita? ZFS può riferire al controller SATA per accendere la spia "unità guasta"? Riporta semplicemente il numero di serie dell'unità? Che cosa succede se l'unità si guasta così tanto da non poter riportare il numero seriale? Suppongo che sia una buona idea scrivere il numero di serie di ogni unità e in quale alloggiamento è stato inserito prima di andare in diretta. Ci sono altre attività di "pre-produzione" per rendere più semplice la sostituzione delle unità in futuro?

Risposte:


4

zpool status -v dovrebbe dirti quale disco è online o no.


3
+1 FreeNAS è basato su FreeBSD e le unità saranno nell'ordine fornito dalla scheda. Se esiste un singolo controller SAS a 8 porte, le unità saranno comprese tra / dev / da0 e / dev / da7, con la stessa numerazione della scheda (anche i cavi corretti sono etichettati per unità). Se si dispone di più controller o qualcosa di complicato, è possibile eseguire camcontrol devlistper ottenere un elenco di tutte le unità SAS / SCSI e su quale scheda, destinazione, lun si trovano.
Chris S,

1
Chris S non è corretto. Le unità non vengono sempre visualizzate nell'ordine fornito dalla scheda. Ad esempio, il nostro "da7" appare secondo nell'elenco di 8 unità ... Inoltre, lo stato di zpool fornisce semplicemente le etichette e non i dischi effettivi.
Brian Knoblauch,

8

La versione corrente di FreeNAS (versione 9.3 al momento) creerà un gptid per ogni unità aggiunta a uno zpool. Immediatamente dopo la creazione, lo "stato zpool" sarà simile a questo (a seconda della configurazione del pool) ...

# pool di stati zpool
:
stato myzfstest :
scansione ONLINE : nessuna
configurazione richiesta:

    NAME                                            STATE     READ WRITE CKSUM
    myzfstest                                       ONLINE       0     0     0
      raidz-0                                       ONLINE       0     0     0
        gptid/4fc2b789-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/51d38480-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/54c672cc-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/56a07638-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
      raidz2-1                                      ONLINE       0     0     0
        gptid/630e1317-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/6557b52d-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/667a1318-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/68cadf75-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    logs
      mirror-2                                      ONLINE       0     0     0
        gptid/8839f22e-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/8a6d0b14-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    cache
      gptid/8c2f3824-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
      gptid/8da9ba80-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
    spares
      gptid/72f039f2-7b8a-11e4-9585-de9b81338d40    AVAIL
      gptid/750df91d-7b8a-11e4-9585-de9b81338d40    AVAIL

errori: nessun errore di dati noto

Sfortunatamente, la GUI Web non ti mostra questi numeri. Quindi, se ricevi un errore che dice che "gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40" è male ... come fai a sapere quale unità tirare? Per capire che parte è necessario un po 'di lavoro al momento dell'installazione.

  1. Quando costruisci il tuo sistema. Annota il numero seriale di ogni unità e annota anche la posizione in cui è stata inserita l'unità. Su un caso JBOD a doppia faccia, ad esempio, potresti voler annotare fronte / retro, riga e colonna.
  2. Quando avvii FreeNAS, nella GUI web, vai su "archiviazione> volumi / visualizza dischi". In quella scheda dovresti avere un elenco di tutte le tue unità e i loro numeri di serie. Nota il nome dell'unità indicato per ciascun numero di serie nell'elenco precedente. Se non vedi i numeri di serie, dovrai smartctl -a /dev/ada0 | grep ^Serialpassare alla shell e digitare (sostituendo "/ dev / ada0" con ciascuno dei nomi delle unità dall'elenco)
  3. Ora, nella shell, dobbiamo abbinare i nomi delle unità con tutti i numeri gptid. Quindi, digita glabel statuse dovresti ottenere qualcosa del genere ...

    # glabel status
    
    CORRECT>glabel status (y|n|e|a)? yes    
                                          Name  Status  Components  
                                 ufs/FreeNASs3     N/A  ada0s3  
                                 ufs/FreeNASs4     N/A  ada0s4  
                                ufs/FreeNASs1a     N/A  ada0s1a
    gptid/616cddb6-7b7f-11e4-9585-de9b81338d40     N/A  ada0p2  
    gptid/630e1317-7b7f-11e4-9585-de9b81338d40     N/A  da1p1   
    gptid/6557b52d-7b7f-11e4-9585-de9b81338d40     N/A  da2p1   
    gptid/667a1318-7b7f-11e4-9585-de9b81338d40     N/A  da3p1   
    gptid/68cadf75-7b7f-11e4-9585-de9b81338d40     N/A  da4p1   
    
  4. Ora scrivi tutti i numeri gptid per associarli ai nomi delle unità e quindi ai numeri di serie e alle loro posizioni. Nota : quando vedi qualcosa come "da3p1" che è la partizione di un'unità identificata come da3. L'elenco nella GUI Web mostrerà solo l'etichetta "da3" per il disco.

Ora, quando viene visualizzato un errore che dice che un disco con numero gptid xyz ha un errore, sarai in grado di fare riferimento al tuo foglio e sapere quale unità devi estrarre / sostituire.

So che questo è oltre tardi per il poster originale; ma forse altri lo troveranno utile.


1
Per la domanda originale, "stato glabel" è la parte critica. Ciò ti consentirà di capire la mappatura tra gli ID stravaganti e il fisico.
Brian Knoblauch,

Wow. Ottima risposta, ma è un po 'deludente ZFS non ha un modo decente per tenere traccia dei dischi.
Mikato,

5

Ciò di cui hai bisogno è l' utilità sas2ircu di LSI (ora Avago). LSI mantiene le versioni per FreeBSD, Linux e Windwos. Con FreeNAS avrai bisogno della versione di FreeBSD.

Per provarlo dovresti metterlo nella directory / tmp e renderlo eseguibile per primo.

Il primo passo è scoprire l'ID del tuo HBA SAS (esempio):

/tmp# ./sas2ircu list
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS2008     1000h    72h   00h:04h:00h:00h      1000h   3020h
SAS2IRCU: Utility Completed Successfully.

Il secondo passaggio sarebbe generare un elenco di tutti i tuoi dispositivi che potrai esaminare in seguito:

/tmp# ./sas2ircu 0 display > disklist.txt

Il passaggio 3 sta esaminando l'elenco dei dischi. Sarà simile a:

/tmp# vi disklist.txt
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS2008
  BIOS version                            : 7.37.00.00
  Firmware version                        : 19.00.00.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 255
  Concurrent commands supported           : 3432
  Slot                                    : 4
  Segment                                 : 0
  Bus                                     : 4
  Device                                  : 0
  Function                                : 0
  RAID Support                            : No
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

Device is a Enclosure services device
  Enclosure #                             : 2
  Slot #                                  : 24
  SAS Address                             : 5003048-0-00d3-a87d
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X36
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Enclosure services device
  Enclosure #                             : 3
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00ca-7bfd
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X28
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00d3-a8cc
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 1907729/3907029167
  Manufacturer                            : ATA
  Model Number                            : WDC WD20EARS-00M
  Firmware Revision                       : AB51
  Serial No                               : WDWCAZA1037887
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 1

Il passaggio 4 sta identificando l'unità guasta: saprai quali informazioni mancanti o danneggiate sono riportate sull'unità. Prendi il contenitore n. E lo slot n. E usali per far lampeggiare il LED del vassoio nel passaggio 5: per individuare il contenitore n. 4, slot n. 0

 /tmp# ./sas2ircu 0 locate 4:1 ON

Per spegnere il LED dopo la sostituzione:

/tmp# ./sas2ircu 0 locate 4:1 OFF

Spero che questo possa essere d'aiuto!


alcuni sistemi freeNAS potrebbero richiedere sas3ircu
Brian Minton,

2

Guarda i volumi.

Seleziona il volume degradato.

Nella parte inferiore dello schermo ci sono tre selezioni ... fai clic su Stato volume

Ora vedrai un primo piano del volume e dei suoi singoli dischi rigidi elencati come ada3p2, ada5p2, ada6p2, ada4p2 ecc.

Seleziona l'unità degradata.

Nella parte inferiore dello schermo vedrai due opzioni; Modifica disco e sostituisci

Seleziona Modifica disco

Ora dovresti vedere il numero di serie del disco degradato.

Spegni il tuo server FreeNAS e cerca quel disco.


Questa dovrebbe essere la risposta corretta, quando ho fatto questo ho trovato un elenco completo di tutti i periodici allegati, quindi quello non allegato deve essere quello difettoso! Grazie mille @ wri7913
Delta_zulu

1

Ciò presuppone che tu abbia un caso con luci HD individuali (aka caso server)

Trova l'elenco per l'unità che è male. Esempio / dev / da9, /dev/sda...etc

Offline quel disco usando la GUI o i comandi del terminale FreeNAS.

Esegui DD per leggere quel disco su / dev / null mentre guardi la parte anteriore del server per la luce che ora lampeggia follemente.

sudo dd if=/dev/da# of=/dev/null

Nota la posizione del disco, annulla il comando DD (ctrl-c), quindi procedi con il tuo metodo di sostituzione. Per freeNAS, carica il nuovo disco, quindi fai clic sul pulsante Sostituisci GUI e completa il processo. Al termine, rimuovere l'unità danneggiata e fare ciò che si desidera. Provalo di più, Sicuro Cancellalo, distruggilo fisicamente, spediscilo per la riparazione in garanzia ..... ecc.


0

il modo più semplice che ho trovato.

fare clic su archiviazione fare clic su Visualizza unità.

staccare un cavo sata. stampa l'etichetta con l'unità mancante dal disco vista aka etichetta ada1 sul lato dell'unità.

ricollegare l'unità. staccare il secondo cavo sata dall'etichetta di stampa ada2 ecc

quindi quando un'unità si guasta si conosce il suo ada2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.