Precisa substituir o disco no zpool… confuso

12

Preciso substituir um disco defeituoso em um zpool no FreeNAS.

zpool status mostra

  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 mostra

                                      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 mostra

<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)

Tenho certeza de que esse ada2é o disco defeituoso.

Parece que deixei um sobressalente lá - ada0 - da última vez que estive na caixa. Posso substituir ada2 por ada0 remotamente? Até que alguém chegue ao escritório? Com quais comandos?

Aqui está o que eu não entendo:

  1. Por que ada0, ada2, ada5, ada7 e ada8 não aparecem glabel status?
  2. Por que zpool statusmostrar esses gptid longos para alguns discos e nomes "ada" para outros?
  3. Se eu quiser zpool replace raid2- o que devo usar para o nome do dispositivo e do novo dispositivo?
Dan
fonte

Respostas:

17

O FreeNAS é uma solução NAS; portanto, algumas opções técnicas estão ocultas por trás de qualquer firmware, sistema ou GUI que esse dispositivo possa usar.

Se você obtiver o esquema de partição usado em um determinado disco dentro de um pool ZFS criado com o FreeNAS (pequeno exemplo de VM):

$ 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

Um olhar mais atento ao disco 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)

O FreeNAS está adicionando uma pequena partição de troca em cada disco adicionado, o espaço restante em disco na segunda partição (também conhecida p2como ada4p2).

Por quê ?

Por que não. IMHO, pode ter algo a ver com o alinhamento da partição , mas também pode ser simplesmente porque o FreeNAS geralmente é instalado em uma chave USB ou em uma pequena unidade CF sem troca (ou uma desculpa para a outra).

Sobre suas perguntas:

  1. Por que ada0, ada2, ada5, ada7 e ada8 não aparecem no status glabel?

    glabelé a abreviação de rotulagem GEOM. Portanto, ele exibe apenas informações sobre as partições suportadas / fs (consulte man glabel para obter uma lista mais completa das partições suportadas). Nesse caso, os próprios discos e as partições de troca não são mostrados.

  2. Por que zpool statusmostrar esses gptid longos para alguns discos e nomes "ada" para outros?

    O mesmo da pergunta 1: devido à rotulagem GEOM, ou nesse caso particular, à falta dela.

    Às vezes, as partições não são iniciadas / rotuladas através da glabel (ou perdem essas informações). Em todos os casos: não se preocupe muito, isso é apenas uma coisa de nome. Portanto, não seria o fim do mundo se uma partição tivesse um gptid e a outra um nome de dispositivo simples.

    Obviamente, você não pode alterar o rótulo depois que as partições estiverem em um zpool (o sistema para impedir a modificação de partições usadas - faz sentido).

  3. Se eu quiser zpool replace raid2- o que devo usar para o nome do dispositivo e do novo dispositivo?

    Como visto, pode ser melhor deixar o FreeNAS definir as coisas para você em relação ao particionamento de discos: substituindo uma unidade com falha no FreeNAS .

    No entanto, também é possível fazê-lo manualmente, sem se preocupar com o particionamento (o re-silvering será ativado automaticamente e durará o tempo em que você for usado durante uma limpeza - para fornecer uma ordem de magnitude):

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

    Uma vez feito o re-prateamento, você terá algo assim:

    $ 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
    

    Em seguida, a zpool detach raid2 gptid/5fe33556-3ff2-11e2-9437-f46d049aaecapara remover o dispositivo defeituoso do zpool.

    Você ainda pode planejar uma substituição melhor / mais "em linha" quando trocar um novo disco pelo defeituoso. Aconselho que você defina cuidadosamente as coisas em uma VM e prepare tudo isso (como parece que você é novo nisso).

    O ZFS é um bom sistema de arquivos com muitos recursos excelentes, mas requer planejamento.

Para mais informações :

Ouki
fonte
1
Resposta muito boa. Não sabia o que o FreeNAS fez nos bastidores, vindo dos mundos Nexenta e Linux ZFS.
precisa saber é o seguinte
1
O FreeNAS adiciona uma pequena partição de troca não para alinhamento, mas como os discos de substituição podem não ter exatamente o mesmo tamanho - se o disco de substituição for menor, ele não poderá ser usado, adicionar uma partição de troca para usar uma pequena quantidade de espaço garante que isso não pode acontecer, porque a partição para zfs no disco existente será 2-3 GB menor, garantindo que o novo disco não seja menor.
Stilez