mdadm superbloco raid5 está faltando

2

Eu tinha um volume mdadm raid5 de 3 discos (feito de / dev / sd [abc]) que estava no meio de uma nova forma, indo para 5 discos (adicionando / dev / sd [df]), quando o poder de o servidor falhou. isto é no Ubuntu 8.10 intrépido 64bit servidor (kernel 2.6.27), mdadm versão 2.6.4, construído a partir da fonte. O daemon monitor de ups foi legal o suficiente para executar os seguintes comandos naquele momento

mdadm --stop /dev/md0
shutdown -P now

quando eu coloquei a caixa de volta em funcionamento, eu usei o seguinte comando para trazer o ataque de volta, uma vez que não iria aparecer por si só.

mdadm --assemble /dev/md0 /dev/sd[abcdf]

ele voltou e reiniciou o processo de remodelação, mas com apenas 4 discos. / dev / sdf não tinha superbloco, então não apareceria para o passeio. Eu tentei adicioná-lo de volta em:

mdadm --add /dev/md0 /dev/sdf

mas isso apenas o adicionou como hot spare, não como o quinto membro ausente do ataque. então eu removi com --remove, uma vez que um hot spare neste momento do processo é meio inútil. para piorar, isso adicionou um superbloco ao disco que o identifica como um hotspare agora. fácil o suficiente para se livrar de --zero-superblock embora.

O que eu quero saber é, como faço para massagear esse disco para colocá-lo de volta no array em seu devido lugar? Não tenho motivos para acreditar que os dados sejam ruins, apenas o superbloco. ou nem é apropriado neste momento tentar readicioná-lo agora que a remodelação progrediu sem ela?

conteúdo de / proc / mdstat:

root@FS1:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sda[0] sdd[4] sdc[2] sdb[1]
      1953524736 blocks super 0.91 level 5, 512k chunk, algorithm 2 [5/4] [UUU_U]
      [======>..............]  reshape = 33.4% (326807040/976762368) finish=1175.3min speed=9216K/sec

unused devices: <none>

conteúdo do /etc/mdadm/mdadm.conf

root@FS1:~# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72

# This file was auto-generated on Wed, 15 Jul 2009 09:09:57 -0400
# by mkconf $Id$

saída do mdadm --examine --scan

root@FS1:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid5 num-devices=5 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72
   spares=1

saída do mdadm -D

root@FS1:~# mdadm -D /dev/md0
/dev/md0:
        Version : 00.91.03
  Creation Time : Sun Jul 12 15:57:27 2009
     Raid Level : raid5
     Array Size : 1953524736 (1863.03 GiB 2000.41 GB)
  Used Dev Size : 976762368 (931.51 GiB 1000.20 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Jul 16 23:34:21 2009
          State : clean, degraded, recovering
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

 Reshape Status : 33% complete
  Delta Devices : 2, (3->5)

           UUID : 4128dcfb:b5e905ae:60b633ef:af4ede72 (local to host FS1)
         Events : 0.216044

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
       3       0        0        3      removed
       4       8       48        4      active sync   /dev/sdd
    
por Jeff Shattock 17.07.2009 / 05:41

1 resposta

2

Primeiro, deixe o dispositivo md0 concluir a digestão da configuração existente . Não se preocupe com isso neste momento, já que ele está ocupado tentando seguir seu primeiro e único imperativo - colocar a matriz novamente em um estado limpo!

Quando as coisas estiverem estabilizadas, prossiga para remover a entrada "antiga" da quinta unidade. Em seguida, prossiga para adicionar a unidade na matriz e reformulá-la como você fez inicialmente, embora desta vez você comece com 4 discos em vez de 3.

    
por 17.07.2009 / 08:50

Tags