Necesito reemplazar el disco en zpool ... confundido

12

Necesito reemplazar un disco defectuoso en un zpool en FreeNAS.

zpool status muestra

  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 muestra

                                      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 muestra

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

Estoy bastante seguro de que ada2es el disco defectuoso.

Parece que dejé un repuesto allí, ada0 , la última vez que estuve en la caja. ¿Puedo reemplazar ada2 con ada0 de forma remota? ¿Hasta que alguien llegue a la oficina? Con que comandos?

Esto es lo que no entiendo:

  1. ¿Por qué no ada0, ada2, ada5, ada7, y ada8 aparecen en glabel status?
  2. ¿Por qué zpool statusmuestra esos largos gptidos para algunos discos y nombres "ada" para otros?
  3. Si quiero zpool replace raid2, ¿qué uso para el dispositivo y los nombres de dispositivos nuevos?
Dan
fuente

Respuestas:

17

FreeNAS es una solución NAS, por lo que algunas opciones técnicas están ocultas detrás de cualquier firmware, sistema o GUI que pueda usar dicho dispositivo.

Si obtiene el esquema de partición utilizado en un disco dado dentro de un grupo ZFS hecho con FreeNAS (ejemplo de máquina virtual pequeña):

$ 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

Una mirada más cercana al 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)

FreeNAS está agregando una pequeña partición de intercambio en cada disco agregado, el espacio restante en el disco está en la segunda partición (también conocido p2como ada4p2).

Por qué ?

Por qué no. En mi humilde opinión, podría tener algo que ver con la alineación de la partición , pero también puede ser simplemente porque FreeNAS generalmente se instala en una memoria USB o en una pequeña unidad CF sin ningún intercambio (o una es la excusa para la otra).

Sobre sus preguntas:

  1. ¿Por qué no aparecen ada0, ada2, ada5, ada7 y ada8 en estado de etiqueta?

    glabeles la abreviatura de etiquetado GEOM. Por lo tanto, solo muestra información sobre particiones compatibles / fs (consulte man glabel para obtener una lista más completa de particiones compatibles). En este caso, los discos mismos y las particiones de intercambio no se muestran.

  2. ¿Por qué zpool statusmuestra esos largos gptidos para algunos discos y nombres "ada" para otros?

    Igual que la pregunta 1: debido al etiquetado de GEOM, o en ese caso particular, falta de él.

    A veces, las particiones no se inician / etiquetan a través de la etiqueta (o pierden esta información). En todos los casos: no te preocupes demasiado, esto es solo una cuestión de nombres. Por lo tanto, no sería el fin del mundo si una partición tiene un gptid y la otra un nombre de dispositivo simple.

    Por supuesto, no puede cambiar la etiqueta una vez que las particiones están en un zpool (el sistema para evitar que modifique particiones usadas, tiene sentido).

  3. Si quiero zpool replace raid2, ¿qué uso para el dispositivo y los nombres de dispositivos nuevos?

    Como se ve, podría ser mejor dejar que FreeNAS configure las cosas para usted con respecto a la partición de los discos: reemplazar una unidad fallida en FreeNAS .

    Sin embargo, también es posible hacerlo a mano sin preocuparse por la partición (la replantación se activará automáticamente y durará aproximadamente el tiempo que se usa mientras se realiza un exfoliante, para darle un orden de magnitud):

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

    Una vez que se realiza el re-plateado, tendrías algo así:

    $ 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
    

    Luego, zpool detach raid2 gptid/5fe33556-3ff2-11e2-9437-f46d049aaecapara eliminar el dispositivo defectuoso del zpool.

    Todavía puede planificar un reemplazo mejor / más "en línea" cuando se cambia un disco nuevo por el defectuoso. Te aconsejo configurar cuidadosamente las cosas en una VM y preparar todo eso (ya que parece que eres nuevo en esto).

    ZFS es un buen sistema de archivos con muchas características excelentes, PERO requiere planificación.

Para mas informacion :

Ouki
fuente
1
Muy buena respuesta. No estaba al tanto de lo que FreeNAS hizo detrás de escena, viniendo de los mundos Nexenta y Linux ZFS.
ewwhite
1
FreeNAS agrega una pequeña partición de intercambio no para alineación, sino porque los discos de reemplazo pueden no ser exactamente del mismo tamaño; si el disco de reemplazo es más pequeño, entonces no se puede usar, agregar una partición de intercambio para usar una pequeña cantidad de espacio asegura que esto no puede suceder, porque la partición para zfs en el disco existente será 2-3 GB más pequeña, asegurando que el nuevo disco no sea más pequeño.
Stilez