Como determino o disco rígido com falha / removido no ataque mdadm?

2

Meu mdstat atual:

$ cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid6 sde[8] sdh[4] sdg[1] sdd[6] sdb[5] sdc[7]
      9766914560 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUU_U]

unused devices: <none>

Aqui está o mdadm --detail:

$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Apr 26 21:52:21 2013
     Raid Level : raid6
     Array Size : 9766914560 (9314.46 GiB 10001.32 GB)
  Used Dev Size : 1953382912 (1862.89 GiB 2000.26 GB)
   Raid Devices : 7
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Tue Mar 28 15:19:34 2017
          State : clean, degraded 
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : server:0  (local to host server)
           UUID : 7dfb32ef:8454e49b:ec03ac98:cdb2e691
         Events : 34230

    Number   Major   Minor   RaidDevice State
       8       8       64        0      active sync   /dev/sde
       1       8       96        1      active sync   /dev/sdg
       4       8      112        2      active sync   /dev/sdh
       5       8       16        3      active sync   /dev/sdb
       6       8       48        4      active sync   /dev/sdd
      10       0        0       10      removed
       7       8       32        6      active sync   /dev/sdc

Minhas perguntas são:

  1. Como devo descobrir o disco rígido removido? Sem truques e palpites, como subtrair o conjunto de discos mostrado na saída mdadm de todos os HDDs disponíveis no meu sistema (ls / dev / sd *), etc ....
  2. Por que o mdadm poderia remover o disco? Está tudo bem em adicioná-lo novamente, se eu executar testes de smartctl e eles terminarem com sucesso?

UPDATE Resposta correta é sdf. Eu o encontrei comparando o conjunto de discos mostrado na saída do mdadm e todos os discos no sistema (sda - é disco de inicialização com sistema operacional), mas ainda achei esse procedimento muito difícil.

    
por DimanNe 28.03.2017 / 20:32

2 respostas

4

Você pode executar mdadm --detail /dev/md0 para obter o UUID da matriz RAID, no seu caso é "7dfb32ef: 8454e49b: ec03ac98: cdb2e691".

Em seguida, execute mdadm --examine /dev/sda e verifique a que Array UID pertence. Se for o mesmo e sda estiver faltando na saída mdadm --detail /dev/md0 , é mais provável que o disco tenha sido removido.

Não consigo responder sobre o motivo pelo qual mdadm removeu o disco, além de você poder encontrar mais informações em dmesg e em /var/log .

Se esses lugares parecem ok, e SMART diz que o disco está ok, então deve ser seguro adicioná-lo novamente.

Recomendamos que você configure o mdadm --monitor para que ele seja executado e monitore seus conjuntos de RAID e envie um e-mail para você, caso algo aconteça.

    
por 28.03.2017 / 21:38
1

A sequência de discos no RAID Array é importante. Você pode vê-lo na saída do comando mdadm --detail /dev/md0 . No seu exemplo, é:

sde sdg sdh sdb sdd missed sdc

Se um disco morreu ou foi desconectado, ele ainda pertence à matriz de ataque. Em seu exemplo, o disco foi removido do array de ataque manualmente por meio do comando mdadm. smartctl é um bom programa para mostrar a saúde do disco. Mas este programa não pode ajudá-lo se você não souber qual disco estava na matriz.

    
por 28.03.2017 / 21:35