Recuperando um RAID 6

1

Estou tentando recuperar uma matriz RAID6 de 7 unidades de um NAS da Thecus com falha. Eu fui capaz de obter as unidades e acessar os dados através de uma máquina Ubuntu que eu configurei, o problema é que as taxas de transferência fora do ataque são dolorosamente lentas (~ 500Kb / s - 1.2Mbs /).

Descobri que uma das unidades parece estar degradada e acredito que essa seja provavelmente a raiz do problema. Ao executar um "mdadm --detail / dev / md0", recebo os seguintes resultados:

/dev/md0:
        Version : 1.2
  Creation Time : Tue May  7 15:39:33 2013
     Raid Level : raid6
     Array Size : 14638110720 (13959.99 GiB 14989.43 GB)
  Used Dev Size : 2927622144 (2792.00 GiB 2997.89 GB)
   Raid Devices : 7
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Thu Feb  8 08:02:27 2018
          State : clean, degraded 
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           Name : N7700PRO:0
           UUID : 7169575c:a8d508eb:dea20994:ee2351ef
         Events : 64278

    Number   Major   Minor   RaidDevice State
       7       8      130        0      active sync   /dev/sdi2
       2       0        0        2      removed
       2       8       82        2      active sync   /dev/sdf2
       3       8       34        3      active sync   /dev/sdc2
       4       8       50        4      active sync   /dev/sdd2
       5       8        2        5      active sync   /dev/sda2
       6       8       18        6      active sync   /dev/sdb2

Eu tenho uma unidade sobressalente disponível para uma unidade com falha, mas não tenho certeza de como adicioná-la à matriz e repará-la. Eu tirei a unidade defeituosa do sistema, e conectei o sobressalente em seu lugar, mas ao executar o mdadm --detail eu estou obtendo os mesmos resultados que com a unidade original no lugar.

Eu acredito que o comando para adicionar uma unidade é apenas

mdadm --add /dev/md0 <new_disk>

Mas, não tenho certeza de como obter o caminho para o novo disco, uma vez que ele não está aparecendo na lista, não vi nenhuma informação no utilitário de disco que corresponda ao formato "/ dev / sdx2" para dar pistas para o comando.

Eu também tenho todas as portas SATA na placa-mãe ocupada neste momento, e estou querendo saber se isso poderia ser parte do problema também? Eu não tenho certeza, mas aqui estão os detalhes da máquina como ela se senta-

  • 7x3TB WD REDS (unidades RAID)
  • 1x2 TB WD Green (SO)
  • Asus Sabertooth 990fx r2
  • 16 GB DDR3
  • AMD FX 8350
  • AMD 7870
  • PSU XFX 850w

Saída de ls /dev/sd? ; alguma investigação diz que parece que a nova unidade é /dev/sdg

/dev/sda  /dev/sdc  /dev/sde  /dev/sdg  /dev/sdi
/dev/sdb  /dev/sdd  /dev/sdf  /dev/sdh

Saída de mount | awk '$3=="/"'

/dev/sdh1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)

Deixe-me saber se há alguma informação adicional que você possa precisar, agradecemos toda e qualquer assistência neste assunto.

    
por zroberts 08.02.2018 / 15:07

1 resposta

1

O layout do disco é /dev/sdXN , em que X é uma letra no intervalo [a-z] e N é um número no intervalo [1-9] . Cada disco é representado como /dev/sdX , e é isso que você precisa usar para encontrar o novo disco. O N é o número da partição (fatia); seu RAID espera usar a partição 2 em cada disco, portanto, você precisa descobrir qual é o layout do disco e replicá-lo no novo disco. Finalmente você pode adicionar a partição ao seu RAID e deixá-lo reconstruir.

  1. Identifique o novo disco

    Você disse que é /dev/sdg .

  2. Replicar a tabela de partições de disco

    Deve ser GPT porque você está usando discos de 3 TB (o MBR funciona apenas para discos de até 2 TB). Vamos replicar a tabela de partições de /dev/sda para o novo disco /dev/sdg , lembrando-se de gerar novos UUIDs ao longo do caminho:

    sgdisk --replicate=/dev/sdg /dev/sda
    sgdisk --randomize-guids /dev/sdg
    

    Se você não tiver o sgdisk instalado, poderá encontrá-lo no pacote gdisk (Debian, Ubuntu, CentOS, etc.).

  3. Adicione o disco recém-particionado à matriz RAID

    mdadm --add /dev/md0 /dev/sdg2
    

    Não se esqueça de recriar (veja cat /proc/mdstat para detalhes de status)

Eu recomendo strongmente que você leia a man page para sgdisk e mdadm para garantir que os comandos que eu sugeri realmente façam o que eu descrevi e você esperaria. Se você perder um segundo disco do array RAID6, não terá mais redundância.

    
por 08.02.2018 / 18:18