Comment déterminer quel disque a échoué dans une configuration FreeNAS / ZFS

12

Je construis un serveur basé sur FreeNAS dans un boîtier Supermicro X6DHE-XB 3U avec 4G de RAM, 16 baies remplaçables à chaud SATA. Il est livré avec des cartes RAID 3Ware 2x8 ports, mais je prévois d'utiliser uniquement les capacités ZFS au lieu du RAID matériel. Mon jeu de disques initial sera composé de disques 8x2 To HITACHI Deskstar 7K3000 HDS723020BLA642.

Si j'utilisais un RAID basé sur le matériel, cela me donnerait un voyant rouge sur la baie de disque où le disque est tombé en panne. Comment ça marche avec ZFS quand un disque tombe en panne? Je ne pense pas qu'il y ait une garantie que sda ​​= bay1, sdb = bay2, etc., alors comment déterminez-vous quel lecteur doit être remplacé? ZFS peut-il faire rapport au contrôleur SATA pour allumer le voyant "lecteur défectueux"? Signale-t-il simplement le numéro de série du lecteur? Que faire si le disque tombe en panne si fort qu'il ne peut pas signaler son numéro de série? Je suppose que c'est une bonne idée d'écrire le numéro de série de chaque lecteur et dans quelle baie il est entré avant de passer en direct. Existe-t-il d'autres tâches de "pré-production" pour faciliter le remplacement des disques à l'avenir?

John P
la source

Réponses:

4

zpool status -v devrait vous dire quel disque est en ligne ou non.

Marcin
la source
3
+1 FreeNAS est basé sur FreeBSD, et les disques seront dans l'ordre fourni par la carte. S'il y a un seul contrôleur SAS à 8 ports, les lecteurs seront de / dev / da0 à / dev / da7, avec la même numérotation que la carte (les bons câbles sont également étiquetés par lecteur). Si vous avez plusieurs contrôleurs, ou quelque chose de compliqué, vous pouvez exécuter camcontrol devlistpour obtenir une liste de tous les disques SAS / SCSI et sur quelle carte, cible, lun, ils sont.
Chris S
1
Chris S est incorrect. Les lecteurs n'apparaissent pas toujours dans l'ordre fourni par la carte. Par exemple, notre "da7" apparaît en deuxième position dans la liste des 8 lecteurs ... De plus, l'état zpool donne simplement les étiquettes et non les disques réels.
Brian Knoblauch
8

La version actuelle de FreeNAS (ver 9.3 pour le moment) créera un gptid pour chaque lecteur ajouté à un zpool. Immédiatement après la création, le "statut zpool" ressemblera à ceci (selon la configuration de votre pool) ...

# zpool status
pool: myzfstest
état:
analyse en ligne: aucune
configuration demandée:

    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

erreurs: aucune erreur de données connue

Malheureusement, l'interface graphique Web ne vous montre pas ces chiffres. Donc, si vous obtenez une erreur disant que "gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40" est mauvais ... comment savez-vous quel lecteur tirer? La configuration de cette pièce nécessite un peu de travail au moment de l'installation.

  1. Lorsque vous construisez votre système. Notez le numéro de série de chaque lecteur et notez également l'emplacement où ce lecteur a été inséré. Sur un boîtier JBOD double face par exemple, vous pouvez noter le recto / verso, la ligne et la colonne.
  2. Lorsque vous démarrez FreeNAS, dans l'interface graphique Web, accédez à "stockage> volumes / disques d'affichage". Sur cet onglet, vous devriez avoir une liste de tous vos disques et leurs numéros de série. Notez le nom du lecteur donné pour chaque numéro de série que vous aviez dans la liste précédente. Si vous ne voyez pas les numéros de série, vous devrez déposer dans le shell et taper smartctl -a /dev/ada0 | grep ^Serial(en remplaçant "/ dev / ada0" par chacun des noms de lecteur de la liste)
  3. Maintenant, au niveau du shell, nous devons faire correspondre les noms des lecteurs avec tous les nombres gptid. Alors, tapez glabel statuset vous devriez obtenir quelque chose comme ça ...

    # 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. Maintenant, écrivez tous les numéros gptid pour les associer aux noms de lecteur et donc aux numéros de série et à leurs emplacements. Remarque : lorsque vous voyez quelque chose comme "da3p1", c'est la partition un du lecteur identifié comme da3. La liste dans l'interface graphique Web n'affichera que l'étiquette "da3" pour le disque.

Maintenant, lorsqu'une erreur se produit indiquant qu'un disque avec le numéro gptid xyz a une erreur, vous pourrez référencer votre feuille et savoir quel lecteur vous devez retirer / remplacer.

Je sais que c'est plus tard pour l'affiche originale; mais peut-être que d'autres trouveront cela utile.

Craig
la source
1
Pour la question d'origine, le «statut de l'étiquette» est la partie critique. Cela vous permettra de comprendre le mappage entre les ID farfelus et le physique.
Brian Knoblauch
Sensationnel. Excellente réponse, mais c'est un peu décevant ZFS n'a pas un moyen à moitié décent de garder une trace des disques.
mikato
5

Vous avez besoin de l' utilitaire sas2ircu de LSI (maintenant Avago). LSI gère des versions pour FreeBSD, Linux et Windwos. Avec FreeNAS, vous aurez besoin de la version FreeBSD.

Pour l'essayer, vous devez le placer dans le répertoire / tmp et le rendre exécutable en premier.

La première étape consiste à découvrir l'ID de votre HBA SAS (exemple):

/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.

La deuxième étape serait de générer une liste de tous vos appareils que vous pourrez examiner plus tard:

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

L'étape 3 examine votre liste de disques. Il ressemblera à:

/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

L'étape 4 identifie votre disque défectueux - vous saurez par les informations manquantes ou endommagées signalées sur le disque. Obtenez le boîtier # et l'emplacement # et utilisez-les pour faire clignoter le voyant du plateau à l'étape 5: pour localiser le boîtier # 4, l'emplacement # 0

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

Pour éteindre la LED après le remplacement:

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

J'espère que ça aide!

Dimitar Boyn
la source
certains systèmes freeNAS peuvent avoir besoin de sas3ircu
Brian Minton
2

Regardez les volumes.

Sélectionnez le volume dégradé.

Au bas de votre écran, il y a trois sélections ... cliquez sur État du volume

Vous verrez maintenant un gros plan du volume et ses disques durs individuels répertoriés quelque chose comme ada3p2, ada5p2, ada6p2, ada4p2 etc.

Sélectionnez le disque dégradé.

Au bas de votre écran, vous verrez deux options; Modifier le disque et remplacer

Sélectionnez Modifier le disque

Vous devriez maintenant voir le numéro de série du disque dégradé.

Éteignez votre serveur FreeNAS et recherchez ce disque.

wri7913
la source
Cela devrait être la bonne réponse, lorsque j'ai fait cela, j'ai trouvé une liste complète de toutes les publications en série jointes, donc celle qui n'est pas jointe doit être celle qui est défectueuse! Merci beaucoup @ wri7913
Delta_zulu
1

Cela suppose que vous avez un boîtier doté de voyants HD individuels (également appelé boîtier de serveur)

Trouvez la liste du lecteur défectueux. Exemple / dev / da9, /dev/sda...etc

Déconnectez ce disque en utilisant les commandes du terminal GUI ou FreeNAS.

Exécutez DD pour lire ce disque dans / dev / null pendant que vous regardez à l'avant du serveur la lumière qui clignote maintenant follement.

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

Notez l'emplacement du disque, annulez la commande DD (ctrl-c), puis suivez votre méthode de remplacement. Pour freeNAS, chargez le nouveau disque puis cliquez sur le bouton GUI Replace et terminez ce processus. Une fois terminé, retirez le mauvais disque et faites ce que vous voulez avec. Testez-le davantage, effacez-le, détruisez-le physiquement, envoyez-le pour réparation sous garantie ..... etc.

Easyanswer
la source
0

moyen le plus simple que j'ai trouvé.

cliquez sur stockage, cliquez sur afficher les lecteurs.

retirez un câble sata. imprimer l'étiquette avec le disque manquant du disque de visualisation, alias étiquette bâton ada1, sur le côté du disque.

reconnectez le lecteur. tirer le deuxième câble sata de l'étiquette d'impression ada2, etc.

puis quand un disque tombe en panne, vous connaissez son ada2

Michael Harker
la source