não pode importar um volume zpool: erro de E / S

2

isso está no armazenamento aberto do nexenta. Eu tenho um zpool que está no estado UNAVAIL por causa de alguns 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. Como posso fazer com que essa importação de zpool funcione bem?
  2. Os discos indicados "UNAVAIL", como posso repará-los / substituí-los?

Atualização: 7 de setembro de 2018

Depois de encontrar os discos para o mapeamento de slots no Nexenta, recolocando os discos no volume delta, consegui um disco ONLINE no grupo raidz2-1, mas os 3 discos no grupo raidz2-0 ainda continuam sendo exibidos como UNAVAIL.

# 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

Encontrei um único disco reserva para outro online pool no appliance. Agora a questão é 1. Devo destacar / anexar o sobressalente ao grupo raidz2-1 que tem apenas um disco UNAVAIL na subcategoria de spare-6? ou 2. Devo destacar / anexar o sobressalente ao grupo raidz2-0 que ainda tem 3 discos UNAVAIL?

Dado que este conjunto está offline (após a exportação) e não é importável agora.

Eu olhei alguns históricos sobre como esse pool foi criado, ele foi criado com o comando abaixo no passado

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

Isso indica que raidz2-0 e raidz2-1 são dois conjuntos de reflexos RAIDZ?

Se sim, devo priorizar a correção do grupo de discos raidz2-1 para ficar online sobre o raidz2-0 (que tem 3 falhas no disco)?

    
por Nikhil Mulley 07.09.2018 / 00:08

1 resposta

0

  1. Should I detach/attach the spare to raidz2-1 group which has only one disk UNAVAIL under sub category of spare-6 ?

Seu disco reserva já foi anexado automaticamente a raidz2-1 e foi resilvered. Normalmente, você poderia agora desanexar c0t5000C5005739AC3Fd0 e removê-lo do sistema porque ele falhou uma vez (ou redirecioná-lo em outro sistema e esperar pelo melhor, se você não tiver recursos de sobra).

Mas isso não ajudaria você, pois raidz2-0 ainda está inativo. Se qualquer vdev em um zpool falhar, todo o seu conjunto e todos os dados nele serão perdidos. Cada vdev falhará se a paridade configurada não puder ser mantida, porque discos suficientes falharam dentro dela. No seu caso, cada Z2 vdev pode sustentar a perda de dois discos, mas um deles perdeu três.

  1. Should I detach/attach the spare to raidz2-0 group which still has 3 disks UNAVAIL ?

Primeiro, você não tem reposição real agora. E mesmo que você tenha removido um disco de trabalho de raidz2-1 (não recomendado!), Você ainda não ganharia nada até corrigir os discos com falha em raidz2-0 . Os dados de paridade devem vir de algum lugar e, nesse caso, eles precisam vir de seus discos com falha. Se você não obtiver pelo menos um deles para trabalhar, sua melhor aposta seria restaurar a partir do backup.

I looked at some history on how this pool was created, it was created with the below command in the past zpool create -m /volumes/delta [...] Does that indicate raidz2-0 and raidz2-1 are two RAIDZ mirror pools?

Não, isso significa que seu pool consiste em dois vdevs distribuídos, cada um configurado com redundância de raidz2 e 8 discos. Você pode perder 2 discos em cada vdev no máximo. Se você perder 3 em qualquer um deles, é game over.

No ZFS, toda a redundância é tratada no nível do vdev. O pool é sempre distribuído por todos os vdevs existentes. Se algum vdev falhar, o pool falhará. O espelhamento é um tipo de redundância para um vdev e é incompatível com raidz1 / z2 / z3 (você pode misturar e combinar vdevs com diferentes tipos de redundância, mas o mais fraco definirá a intensidade de seu pool e o desempenho sofrerá, portanto, não recomendado).

If yes, should I prioritize fixing raidz2-1 group of disks to become online over raidz2-0 (which has 3 disk failures)?

Não, você deve primeiro corrigir raidz2-0 .

All of them belong to Seagate, there is a mix of SEAGATE, Rev. A001 and SEAGATE, Rev. 0002, size 1.82TB

Isso não ajuda você agora, mas talvez no futuro: é aconselhável misturar e combinar fabricantes e modelos e até mesmo fabricar datas, para equilibrar casos de "um lote ruim de unidades". Por exemplo, se você comprou 4 discos de cada um dos 4 principais fabricantes (Seagate, Western Digital, Hitachi e Toshiba) e os dividiu de 2 a 2 em seus vdevs, mesmo que todos os discos de um fabricante tenham falhado ao mesmo tempo, você ainda teria um pool de trabalho.

    
por 10.09.2018 / 10:23