¿Cambiar las referencias del disco ZFS para usar GPTID en lugar del nombre GEOM?

¿Cambiar las referencias del disco ZFS para usar GPTID en lugar del nombre GEOM?

He construido una plataforma FreeNAS en un pequeño y dulce HP ProLiant MicroServer.

En cuanto al almacenamiento, he creado un grupo ZFS de 3 discos usando RAIDZ1. Comencé con 3 discos pequeños mientras me familiarizaba con FreeNAS, pero finalmente decidí reemplazar el NAS de mi hogar por él.

Así que compré discos nuevos de 2 TB y reemplacé cada disco por uno más grande, uno a la vez, dejando que el grupo volviera a platearse después de cada reemplazo.

El grupo original, creado a través de la GUI, utilizaba referencias GPTID. zpool statusmostraría algo similar a esto:

  pool: vol2
 state: ONLINE
  scan: none requested
config:

        NAME                                          STATE     READ WRITE CKSUM
        vol2                                          ONLINE       0     0     0
          gptid/96857d85-6c2f-11e3-9387-78acc0f794bd  ONLINE       0     0     0

Cuando reemplacé los discos en el grupo zpool replace, terminé usando los nombres GEOM (adaN) en cambio. Para ser honesto, lo encontré mucho más fácil e intuitivo de esta manera.

Pero parece que hacer referencia a los discos usando nombres GEOM conlleva el riesgo de que se vuelvan a etiquetar las unidades al reiniciar.ZFS confusoy posiblemente corromper sus grupos ZFS en el proceso.

Pensé que podría "desconectar" cada uno de los discos y reemplazarlos con zpool replace, usando sus GPTID, lo que supongo requerirá una restauración, poniendo así en riesgo mis datos mientras se lleva a cabo.

Sin embargo, parece que no puedo encontrar ningún GPTID para mis discos "ada". ls /dev/gptidsolo enumera mi cuarto disco, que actualmente no se utiliza. glabel listdevuelve el mismo disco/GPTID y varias particiones FreeNAS.

  • ¿Tiene realmente sentido reemplazar los nombres GEOM a los que se hace referencia con GPTID?
  • ¿Por qué no puedo ver los GPTID de los discos nuevos? ¿Debo hacer algo antes de que se asignen los GPTID y glabel listdevuelvan sus nombres?
  • ¿Existe una forma más segura de hacerlo que no implique volver a platearse?

¡Gracias!

Respuesta1

•¿Tiene realmente sentido reemplazar los nombres GEOM a los que se hace referencia con GPTID?

Los nombres GEOM se generan a partir de las ranuras del controlador, por lo que si intercambia los conectores de los discos, sus nombres GEOM también se intercambiarán. Los nombres GPTID se basan en los números de serie del disco y son los mismos en todas partes.

•¿Por qué no puedo ver los GPTID de los discos nuevos? ¿Debo hacer algo antes de que se asignen los GPTID y la lista glabel devuelva sus nombres?

Cuando una identificación utiliza el disco (GEOM en zpool en su caso), otras identificaciones (incluido GPTID) se bloquean. Entonces, cuando desconecta el disco de zpool o simplemente lo desconecta, aparecerá gptid faltante en /dev/gptid

•¿Existe una forma más segura de hacerlo que no implique volver a platearse?

La única forma es desconectar el disco y adjuntarlo nuevamente al grupo con otro nombre. Resilvering no es tan peligroso como se podría pensar, porque es sólo un proceso de verificación y sincronización de espejos. Copia solo los datos que no están sincronizados, por lo que solo corre el riesgo de que se realicen cambios entre la separación y la reconexión del disco.

Respuesta2

ZFS ha sido diseñado con el objetivo de validar los datos: no entregará datos corruptos, pero ninguno si no puede producir datos correctos (comportamiento predeterminado configurable). Mover los discos del grupo no confundirá a ZFS siempre que pueda encontrarlos. Este enlace, (parcialmente en alemán) es bastante útil. Esto es sólo una pista incompleta; considérelo así.

información relacionada