Besoin de remplacer le disque dans zpool… confus

12

J'ai besoin de remplacer un mauvais disque dans un zpool sur FreeNAS.

zpool status spectacles

  pool: raid-5x3
 state: ONLINE
 scrub: scrub completed after 15h52m with 0 errors on Sun Mar 30 13:52:46 2014
config:

    NAME                                            STATE     READ WRITE CKSUM
    raid-5x3                                        ONLINE       0     0     0
      raidz1                                        ONLINE       0     0     0
        ada5p2                                      ONLINE       0     0     0
        gptid/a767b8ef-1c95-11e2-af4c-f46d049aaeca  ONLINE       0     0     0
        ada8p2                                      ONLINE       0     0     0
        ada10p2                                     ONLINE       0     0     0
        ada7p2                                      ONLINE       0     0     0

errors: No known data errors

  pool: raid2
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
    the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scrub: none requested
config:

    NAME                                            STATE     READ WRITE CKSUM
    raid2                                           DEGRADED     0     0     0
      raidz1                                        DEGRADED     0     0     0
        gptid/5f3c0517-3ff2-11e2-9437-f46d049aaeca  ONLINE       0     0     0
        gptid/5fe33556-3ff2-11e2-9437-f46d049aaeca  UNAVAIL      0     0     0  cannot open
        gptid/60570005-3ff2-11e2-9437-f46d049aaeca  ONLINE       0     0     0
        gptid/60ebeaa5-3ff2-11e2-9437-f46d049aaeca  ONLINE       0     0     0
        gptid/61925b86-3ff2-11e2-9437-f46d049aaeca  ONLINE       0     0     0

errors: No known data errors

glabel status spectacles

                                      Name  Status  Components
                             ufs/FreeNASs3     N/A  da0s3
                             ufs/FreeNASs4     N/A  da0s4
                    ufsid/4fa405ab96518680     N/A  da0s1a
                            ufs/FreeNASs1a     N/A  da0s1a
                            ufs/FreeNASs2a     N/A  da0s2a
gptid/5f3c0517-3ff2-11e2-9437-f46d049aaeca     N/A  ada1p2
gptid/60570005-3ff2-11e2-9437-f46d049aaeca     N/A  ada3p2
gptid/60ebeaa5-3ff2-11e2-9437-f46d049aaeca     N/A  ada4p2
gptid/a767b8ef-1c95-11e2-af4c-f46d049aaeca     N/A  ada6p2
gptid/61925b86-3ff2-11e2-9437-f46d049aaeca     N/A  ada9p2
gptid/4599731b-8f15-11e1-a14c-f46d049aaeca     N/A  ada10p2

camcontrol devlist spectacles

<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus0 target 0 lun 0 (pass0,ada0)
<ST3000VX000-9YW166 CV13>          at scbus4 target 0 lun 0 (pass1,ada1)
<ST3000VX000-9YW166 CV13>          at scbus6 target 0 lun 0 (pass3,ada3)
<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus7 target 0 lun 0 (pass4,ada4)
<ST3000DM001-9YN166 CC4C>          at scbus8 target 0 lun 0 (pass5,ada5)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus8 target 1 lun 0 (pass6,ada6)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus9 target 0 lun 0 (pass7,ada7)
<ST3000DM001-9YN166 CC4C>          at scbus9 target 1 lun 0 (pass8,ada8)
<Hitachi HDS723030BLE640 MX6OAAB0>  at scbus10 target 0 lun 0 (pass9,ada9)
<Hitachi HDS5C3030ALA630 MEAOA580>  at scbus11 target 0 lun 0 (pass10,ada10)
< USB Flash Memory 1.00>           at scbus12 target 0 lun 0 (pass11,da0)

Je suis sûr que ada2c'est le mauvais disque.

Il semble que j'en ai laissé une de rechange - ada0 - la dernière fois que j'étais dans la boîte. Puis-je remplacer ada2 par ada0 à distance? Jusqu'à ce que quelqu'un arrive au bureau? Avec quelles commandes?

Voici ce que je ne comprends pas:

  1. Pourquoi ada0, ada2, ada5, ada7 et ada8 n'apparaissent- ils pas dans glabel status?
  2. Pourquoi zpool statusaffiche- t -on ces longs gptid pour certains disques et des noms "ada" pour d'autres?
  3. Si je veux zpool replace raid2- que dois-je utiliser pour les noms de périphérique et de nouveau périphérique?
Dan
la source

Réponses:

17

FreeNAS est une solution NAS, en tant que telle, certains choix techniques sont cachés derrière le micrologiciel, le système ou l'interface graphique qu'un tel appareil peut utiliser.

Si vous obtenez le schéma de partition utilisé sur un disque donné à l'intérieur d'un pool ZFS créé avec FreeNAS (petit exemple de machine virtuelle):

$ glabel status
                                      Name  Status  Components
gptid/a699226f-bcc4-11e3-952d-0800271cd34d     N/A  ada4p2
gptid/a6cfc072-bcc4-11e3-952d-0800271cd34d     N/A  ada5p2
gptid/a707f034-bcc4-11e3-952d-0800271cd34d     N/A  ada6p2

Regardons de plus près le disque ada4:

$ gpart show ada4
=>      34  62914493  ada4  GPT  (30G)
        34        94        - free -  (47k)
       128   4194304     1  freebsd-swap  (2.0G)
   4194432  58720095     2  freebsd-zfs  (28G)

FreeNAS ajoute une petite partition de swap sur chaque disque ajouté, l'espace disque restant étant sur la 2ème partition (alias p2pour ada4p2).

Pourquoi ?

Pourquoi pas. À mon humble avis, cela pourrait avoir quelque chose à voir avec l' alignement des partitions , mais cela peut aussi être simplement parce que FreeNAS est généralement installé sur une clé USB ou un petit lecteur CF sans aucun échange (ou l'un étant l'excuse pour l'autre).

A propos de vos questions:

  1. Pourquoi ada0, ada2, ada5, ada7 et ada8 n'apparaissent-ils pas dans le statut de glabel?

    glabelest l'abréviation de GEOM labelling. Il n'affiche donc que les informations concernant les partitions / fs prises en charge (voir man glabel pour une liste plus complète des partitions prises en charge). Dans ce cas, les disques eux-mêmes et les partitions de swap ne sont pas affichés.

  2. Pourquoi zpool statusaffiche- t -on ces longs gptid pour certains disques et des noms "ada" pour d'autres?

    Identique à la question 1: en raison de l'étiquetage GEOM ou, dans ce cas particulier, de son absence.

    Parfois, les partitions ne sont pas initiées / étiquetées via glabel (ou elles perdent ces informations). Dans tous les cas: ne vous inquiétez pas trop, ce n'est qu'une chose de nommage. Ce ne serait donc pas la fin du monde si une partition avait un gptid et l'autre un nom de périphérique simple.

    Bien sûr, vous ne pouvez pas changer l'étiquette une fois que les partitions sont dans un zpool (le système qui vous empêche de modifier les partitions utilisées - est logique).

  3. Si je veux zpool replace raid2- que dois-je utiliser pour les noms de périphérique et de nouveau périphérique?

    Comme vu, il pourrait être préférable de laisser FreeNAS définir les choses pour vous en ce qui concerne le partitionnement des disques: remplacer un disque défectueux sur FreeNAS .

    Cependant, il est également possible de le faire à la main sans se soucier du partitionnement (la réargenture se déclenchera automatiquement et durera environ le temps que vous utilisez pendant un gommage - pour vous donner un ordre de grandeur):

    $ zpool replace raid2 gptid/5fe33556-3ff2-11e2-9437-f46d049aaeca /dev/ada0
    

    Une fois la réargenture terminée, vous auriez quelque chose comme ça:

    $ zpool status raid2
      pool: raid2
     state: ONLINE
      scan: resilvered ...G in ?h?m with 0 errors on Sun Apr  6 17:17:25 2014
    config:
    
            NAME                                              STATE     READ WRITE CKSUM
            NAME                                              STATE     READ WRITE CKSUM
            raid2                                             ONLINE       0     0     0
              raidz1                                          ONLINE       0     0     0
                gptid/5f3c0517-3ff2-11e2-9437-f46d049aaeca    ONLINE       0     0     0
                replacing-0
                  gptid/5fe33556-3ff2-11e2-9437-f46d049aaeca  UNAVAIL      0     0     0  cannot open
                  ada0                                        ONLINE       0     0     0
                gptid/60570005-3ff2-11e2-9437-f46d049aaeca    ONLINE       0     0     0
                gptid/60ebeaa5-3ff2-11e2-9437-f46d049aaeca    ONLINE       0     0     0
                gptid/61925b86-3ff2-11e2-9437-f46d049aaeca    ONLINE       0     0     0
    

    Puis a zpool detach raid2 gptid/5fe33556-3ff2-11e2-9437-f46d049aaecapour retirer le périphérique défectueux du zpool.

    Vous pouvez toujours planifier un remplacement meilleur / plus "en ligne" lorsque vous avez un nouveau disque échangé contre un disque défectueux. Je vous conseille de régler soigneusement les choses sur une machine virtuelle et de préparer tout cela (car il semble que vous soyez nouveau dans ce domaine).

    ZFS est un joli système de fichiers avec beaucoup de fonctionnalités géniales MAIS il nécessite une planification.

Pour plus d'informations :

Ouki
la source
1
Très bonne réponse. Je ne savais pas ce que FreeNAS a fait dans les coulisses, venant des mondes Nexenta et Linux ZFS.
ewwhite
1
FreeNAS ajoute une petite partition de swap non pas pour l'alignement, mais parce que les disques de remplacement peuvent ne pas être exactement de la même taille - si le disque de remplacement est plus petit, il ne peut pas être utilisé, l'ajout d'une partition de swap pour utiliser un petit espace s'assure que ceci ne peut pas se produire, car la partition pour zfs sur le disque existant sera de 2 à 3 Go plus petite, ce qui garantit que le nouveau disque n'est pas plus petit.
Stilez
16

Je pense que vous devriez reconsidérer votre utilisation de FreeNAS . Vous en avez eu un inhabituellement . grand . numéro . des problèmes . avec . votre . FreeNAS . installation (s) . fini . les années .

Beaucoup de ces problèmes étaient liés à la planification et à la conception de ZFS. Il est peut-être temps de refactoriser ou de reconstruire votre environnement maintenant que vous avez une connaissance des meilleures ou des meilleures pratiques .

ewwhite
la source