Partição degradada no sistema RAID5

3

Eu tenho um servidor rodando Debian Squeeze e um sistema RAID5 com drive de 3x e 500 GB que eu mesmo não configurei. Ao inicializar, o status de uma partição na matriz RAID parece ser ruim.

md: bind<sda2>
md: bind<sdc2>
md: bind<sdb2>
md: kicking non-fresh sda2 from array!
md: unbind<sda2>
md: export_rdev(sda2)
raid5: device sdb2 operational as raid disk 1
raid5: device sdc2 operational as raid disk 2
raid5: allocated 3179kB for md1
1: w=1 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
2: w=2 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
raid5: raid level 5 set md1 active with 2 out of 3 devices, algorithm 2
RAID5 conf printout:
 --- rd:3 wd:2
 disk 1, o:1, dev:sdb2
 disk 2, o:1, dev:sdc2
md1: detected capacity change from 0 to 980206485504
 md1: unknown partition table

mdstat também me informa que a partição está ausente:

Personalities : [raid1] [raid6] [raid5] [raid4] 
md1 : active raid5 sdb2[1] sdc2[2]
      957232896 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

md0 : active raid1 sda1[0] sdc1[2](S) sdb1[1]
      9767424 blocks [2/2] [UU]

Ao executar sudo mdadm -D , a partição é mostrada como removida e a matriz é degradada.

/dev/md1:
        Version : 0.90
  Creation Time : Mon Jun 30 00:09:01 2008
     Raid Level : raid5
     Array Size : 957232896 (912.89 GiB 980.21 GB)
  Used Dev Size : 478616448 (456.44 GiB 490.10 GB)
   Raid Devices : 3
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Thu Aug 11 16:58:50 2011
          State : clean, degraded
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 03205c1c:cef34d5c:5f1c2cc0:8830ac2b
         Events : 0.275646

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       18        1      active sync   /dev/sdb2
       2       8       34        2      active sync   /dev/sdc2

/dev/md0:
        Version : 0.90
  Creation Time : Mon Jun 30 00:08:50 2008
     Raid Level : raid1
     Array Size : 9767424 (9.31 GiB 10.00 GB)
  Used Dev Size : 9767424 (9.31 GiB 10.00 GB)
   Raid Devices : 2
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Aug 11 17:21:20 2011
          State : active
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           UUID : f824746f:143df641:374de2f8:2f9d2e62
         Events : 0.93

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

       2       8       33        -      spare   /dev/sdc1

No entanto, md0 parece estar ok. Então, o que tudo isso me diz? O disco pode estar com defeito, mesmo que md0 esteja funcionando? Se não, posso apenas adicionar novamente o /dev/sda2 ao array md1 para resolver o problema?

    
por nip3o 11.08.2011 / 17:20

3 respostas

3

O R em RAID significa R edundant.

O RAID 5 é N+1 redundant : Se você perder um disco, estará em N - O sistema continuará funcionando bem, desde que você não perca outro. Se você perder um segundo disco, agora estará em N-1 e seu universo entrará em colapso (ou, no mínimo, você perderá muitos dados).

Como o SvenW disse, substitua o disco O MAIS RÁPIDO POSSÍVEL (Siga as instruções da sua distribuição para substituir discos em matrizes RAID md e, pelo amor de Deus, certifique-se de substituir o correto disco! Puxar um dos discos ativos vai realmente estragar o seu dia.)
Além disso, esteja ciente de que, quando você substitui um disco em um RAID 5, há muita atividade de disco resultante à medida que a nova unidade é recriada (muitas leituras nos discos antigos, muitas gravações no novo disco). Isso tem duas implicações principais:

  1. Seu sistema ficará lento durante a reconstrução.
    Quão lento depende de seus discos e do subsistema de E / S de disco.

  2. Você pode perder outro disco durante / logo após a reconstrução.
    (Toda essa E / S de disco, às vezes, dispara erros suficientes de outra unidade que o controlador declara "ruim").

As chances de # 2 aumentam à medida que você tem mais discos em sua matriz e segue a "curva da banheira" padrão de mortalidade do disco rígido. Isso é parte do motivo pelo qual você deve ter um backup, e uma das muitas razões pelas quais você ouve o mantra "RAID não é um backup" repetido tantas vezes no ServerFault.

    
por 11.08.2011 / 17:44
3

Manter o array trabalhando com um disco quebrado é o objetivo exato de um RAID5 . Ele mantém as informações de redundância para que você possa perder um disco e ainda não ter perda de dados.

Eu recomendaria substituir o disco o mais rápido possível, porque se você perder outro disco, todos os seus dados desaparecerão.

    
por 11.08.2011 / 17:25
1

Mesmo que /dev/sda1 pareça estar funcionando bem em md0 agora , o fato de a outra partição no mesmo disco ( sda2 ) estar com problemas é um mau presságio para a saúde do dirigir. Devo concordar com as outras opiniões já expressas aqui: substitua a sda drive imediatamente .

Naturalmente, isso significa que você precisará mdadm --fail e mdadm --remove partition sda1 da matriz md0 , mesmo que apareça para ficar bem agora. E quando você instalar a unidade de substituição, precisará garantir que suas partições sejam pelo menos tão grandes quanto as da unidade antiga, para que suas partições possam ser adicionadas adequadamente às matrizes md0 e md1 .

    
por 11.08.2011 / 17:59