no se puede importar un volumen zpool: error de E/S

no se puede importar un volumen zpool: error de E/S

esto está en el almacenamiento abierto de nextenta. Tengo un zpool que está en estado UNAVAIL debido a algunos discos.

# zpool import -F
  pool: delta
    id: XYAZA
 state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
config:

        delta                        UNAVAIL  insufficient replicas
          raidz2-0                   UNAVAIL  insufficient replicas
            c0t5000C500573978EBd0    ONLINE
            c0t5000C50057397933d0    ONLINE
            c0t5000C50057397C47d0    UNAVAIL  cannot open
            c0t5000C5005739997Fd0    UNAVAIL  cannot open
            c0t5000C50057399F87d0    ONLINE
            c0t5000C5005739A90Bd0    ONLINE
            c0t5000C5005739ABC7d0    UNAVAIL  cannot open
            c0t5000C5005739AC0Fd0    ONLINE
          raidz2-1                   DEGRADED
            c0t5000C50057398657d0    ONLINE
            c0t5000C50057398E03d0    ONLINE
            c0t5000C50057398EF7d0    ONLINE
            c0t5000C50057398FAFd0    ONLINE
            c0t5000C5005739A39Fd0    UNAVAIL  cannot open
            c0t5000C5005739AAFFd0    ONLINE
            spare-6                  DEGRADED
              c0t5000C5005739AC3Fd0  UNAVAIL  cannot open
              c0t5000C50057398EDBd0  ONLINE
            c0t5000C5005739AE9Bd0    ONLINE


~# zpool import -FXf delta
cannot import 'delta': I/O error
        Destroy and re-create the pool from
        a backup source.
  1. ¿Cómo puedo hacer que esta importación de zpool funcione bien?
  2. ¿Los discos que aparecen como "NO DISPONIBLES"? ¿Cómo puedo repararlos o reemplazarlos?

Actualización: 7 de septiembre de 2018

Después de encontrar los discos para asignar ranuras en Nexenta y volver a colocar los discos en el volumen delta, pude obtener un disco EN LÍNEA en el grupo raidz2-1, pero los 3 discos en el grupo raidz2-0 aún continúan mostrándose como NO DISPONIBLE.

# zpool import -F
  pool: delta
    id: XYAZA
 state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
config:

        delta                        UNAVAIL  insufficient replicas
          raidz2-0                   UNAVAIL  insufficient replicas
            c0t5000C500573978EBd0    ONLINE
            c0t5000C50057397933d0    ONLINE
            c0t5000C50057397C47d0    UNAVAIL  cannot open
            c0t5000C5005739997Fd0    UNAVAIL  cannot open
            c0t5000C50057399F87d0    ONLINE
            c0t5000C5005739A90Bd0    ONLINE
            c0t5000C5005739ABC7d0    UNAVAIL  cannot open
            c0t5000C5005739AC0Fd0    ONLINE
          raidz2-1                   DEGRADED
            c0t5000C50057398657d0    ONLINE
            c0t5000C50057398E03d0    ONLINE
            c0t5000C50057398EF7d0    ONLINE
            c0t5000C50057398FAFd0    ONLINE
            c0t5000C5005739A39Fd0    ONLINE
            c0t5000C5005739AAFFd0    ONLINE
            spare-6                  DEGRADED
              c0t5000C5005739AC3Fd0  UNAVAIL  cannot open
              c0t5000C50057398EDBd0  ONLINE
            c0t5000C5005739AE9Bd0    ONLINE

Encontré un único disco de repuesto para otro onlinegrupo en el dispositivo. Ahora la pregunta es 1. ¿Debo desconectar/conectar el repuesto al grupo raidz2-1 que tiene solo un disco NO DISPONIBLE en la subcategoría de repuesto-6? o 2. ¿Debo desconectar/conectar el repuesto al grupo raidz2-0 que todavía tiene 3 discos NO DISPONIBLES?

Dado que este grupo está fuera de línea (después de la exportación) y no se puede importar ahora.

Miré algo de historia sobre cómo se creó este grupo, se creó con el siguiente comando en el pasado

zpool create -m /volumes/delta -o autoreplace=on delta raidz2 c0t5000C500573978EBd0 c0t5000C50057397933d0 c0t5000C50057397C47d0 c0t5000C5005739997Fd0 c0t5000C50057399F87d0 c0t5000C5005739A90Bd0 c0t5000C5005739ABC7d0 c0t5000C5005739AC0Fd0 raidz2 c0t5000C50057398657d0 c0t5000C50057398E03d0 c0t5000C50057398EF7d0 c0t5000C50057398FAFd0 c0t5000C5005739A39Fd0 c0t5000C5005739AAFFd0 c0t5000C5005739AC3Fd0 c0t5000C5005739AE9Bd0

¿Eso indica que raidz2-0 y raidz2-1 son dos grupos de espejos RAIDZ?

En caso afirmativo, ¿debería priorizar la reparación del grupo de discos raidz2-1 para que estén en línea en lugar de raidz2-0 (que tiene 3 fallas de disco)?

Respuesta1

  1. ¿Debo desconectar/conectar el repuesto al grupo raidz2-1 que tiene solo un disco UNAVAIL en la subcategoría de repuesto-6?

Su disco de repuesto ya se ha conectado automáticamente raidz2-1y se ha vuelto a platear. Normalmente, ahora lo desconectaría c0t5000C5005739AC3Fd0y eliminaría del sistema porque falló una vez (o lo reutilizaría en otro sistema y esperaría lo mejor, si no tiene recursos de sobra).

Pero eso no te ayudaría, ya que raidz2-0todavía está caído. Sicualquiervdev en un zpool falla, todo el grupo y todos los datos que contiene se pierden. Cada vdev fallará si no se puede mantener la paridad configurada, porque han fallado suficientes discos en su interior. En su caso, cada Z2 vdev puede sufrir la pérdida de dos discos, pero uno de ellos ha perdido tres.

  1. ¿Debo desconectar/conectar el repuesto al grupo raidz2-0 que todavía tiene 3 discos NO DISPONIBLES?

Primero, ahora no tienes repuesto real. E incluso si eliminaste un disco que funciona raidz2-1(¡no recomendado!), no obtendrás nada hasta que repares los discos defectuosos en raidz2-0. Los datos de paridad deben provenir de algún lugar y, en este caso, deben provenir de los discos fallidos. Si no logra que al menos uno de ellos funcione, lo mejor que puede hacer es restaurar desde la copia de seguridad.

Miré un poco de historia sobre cómo se creó este grupo, se creó con el siguiente comando en el pasado. zpool create -m /volumes/delta [...] ¿Eso indica que raidz2-0 y raidz2-1 son dos grupos espejo RAIDZ?

No, eso significa que su grupo consta de dos vdev seccionados, cada uno configurado con redundancia raidz2 y 8 discos. Puedes perder 2 discos en cada vdev como máximo. Si pierdes 3 en cualquiera de ellos, se acabó el juego.

En ZFS, toda la redundancia se maneja en el nivel vdev. El grupo siempre se divide en todos los vdevs existentes. Si falla algún vdev, el grupo falla. La duplicación es un tipo de redundancia para un vdev y es incompatible con raidz1/z2/z3 (puede mezclar y combinar vdevs con diferentes tipos de redundancia, pero el más débil definirá la fortaleza de su grupo y el rendimiento se verá afectado, por lo que esto es no recomendado).

En caso afirmativo, ¿debería priorizar la reparación del grupo de discos raidz2-1 para que estén en línea en lugar de raidz2-0 (que tiene 3 fallas de disco)?

No, primero debes arreglarlo raidz2-0.


Todos pertenecen a Seagate, hay una combinación de SEAGATE, Rev. A001 y SEAGATE, Rev. 0002, tamaño 1,82 TB.

Esto no le ayudará ahora, pero tal vez lo haga en el futuro: es aconsejable mezclar fabricantes y modelos e incluso fechas de fabricación, para igualar los casos de "un lote de unidades defectuoso". Por ejemplo, si compró 4 discos de cada uno de los 4 fabricantes principales (Seagate, Western Digital, Hitachi, Toshiba) y los dividió 2-2 en sus vdevs, incluso si todos los discos de un fabricante fallaron exactamente al mismo tiempo, todavía tendría un grupo de trabajo.

información relacionada