Problemas ao migrar o software RAID 5 para o novo servidor (linux)

3

Eu tenho uma configuração do CentOS com sw RAID5 que contém meus dados. Bem, o servidor morreu, então eu comprei outra caixa para migrar minhas unidades para. A única coisa é que não consigo reconstruir a matriz RAID (nem tenho certeza se ela precisa ser recriada, só preciso do mapeamento / dev / md0 criado ... mas nem sei como determinar o que preciso!)

Alguns detalhes:

  • Software RAID5 (usado mdadm)
  • 4 unidades de 250 GB (2 são SATA, 2 são EIDE - isso seria importante? Funcionou bem na outra caixa ...)
  • última distro do CentOS
  • construído usando o mdadm

Eu tenho uma quantidade razoável de experiência com coisas padrão do Linux, mas o material do nível de hardware me roda em círculos. Eu passei algum tempo pesquisando e em outro lugar aqui no SF, então, por favor, seja gentil com minhas perguntas de novato:).

Minha pergunta é: como posso diagnosticar o problema? Por tudo que eu sei, estou usando os blocos de dispositivos errados quando tento reconstruir a matriz, mas não consigo encontrar o comando para exibir apenas os dispositivos que têm algum anexo físico.

Existe alguma maneira simples de executar o mdadm, fazendo com que ele examine todas as minhas unidades físicas e diga: "Ei, drives 2,5,6,7 são uma matriz de software, querem que eu o monte?" p>

Eu basicamente peguei as unidades da minha velha caixa e coloquei na minha nova. Eles aparecem na BIOS. Quais etapas eu preciso dar para colocar a matriz em funcionamento, e montá-la?

Obrigado antecipadamente!

    
por Travis Leleu 22.03.2010 / 23:23

1 resposta

5

Se você não tiver backups dos dados, deverá proceder com cautela. Nada disso é particularmente difícil, mas certamente vale a pena ir devagar e com deliberação se for uma cópia única dos seus dados. Você pode facilmente danificar seus dados se fizer a coisa errada.

Em teoria, o comando mdadm --assemble --scan --auto-update-homehost fará o que você deseja. Ele tentará automaticamente a montagem automática e as atualizações de quaisquer matrizes detectadas. Se você tem um backup da matriz e não se importa de viver um pouco perigosamente, você pode tentar isso.

Se você quiser fazer as coisas "manualmente", primeiro precisará localizar todos os dispositivos nos quais a matriz está armazenada. Você pode ver a saída de dmesg para encontrar os dispositivos. Procure por entradas como hdg: 488397168 sectors (250059 MB) ... . Você deve ser capaz de identificar todos os dispositivos conectados ao sistema.

Use o comando fdisk -l para exibir as partições no disco. Aqui está um exemplo de saída:

[root@srv02 ~]# fdisk -l

...

Disk /dev/hdg: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdg1               1       30401    24961765   fd  Linux raid autodetect

...

Cortei a saída para mostrar um único dispositivo de amostra (um disco de 250 GB com uma partição RAID de software do Linux). Você deve ver as tabelas de partição de vários dispositivos listadas.

Você pode examinar o superbloco na partição com o comando mdadm --examine device , como:

[root@srv02 ~]# mdadm --examine /dev/hdg1
/dev/hdg1:
          Magic : a92b4efc
        Version : 00.90.00
           UUID : 3c8b281e:715ce6bb:39297707:3bc149b6
  Creation Time : Mon Dec 17 17:28:35 2005
     Raid Level : raid5
  Used Dev Size : 243593472 (232.31 GiB 249.44 GB)
     Array Size : 1217967360 (1161.54 GiB 1247.20 GB)
   Raid Devices : 6
  Total Devices : 6
Preferred Minor : 1

    Update Time : Mon Mar 22 20:45:56 2010
          State : clean
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6d966f24 - correct
         Events : 0.10988

         Layout : left-symmetric
     Chunk Size : 256K

      Number   Major   Minor   RaidDevice State
this     1      34        3        1      active sync   /dev/hdg1

   0     0      33        3        0      active sync   /dev/hde1
   1     1      34        3        1      active sync   /dev/hdg1
   2     2      56        3        2      active sync   /dev/hdi1
   3     3      57        3        3      active sync   /dev/hdk1
   4     4      88        3        4      active sync   /dev/hdm1
   5     5      89        3        5      active sync   /dev/hdo1

Você pode ver que os dispositivos para todos os volumes de componentes da matriz foram gravados no superbloco. Sua nova instalação provavelmente não está atribuindo os mesmos dispositivos aos volumes, de modo que a matriz não esteja sendo montada automaticamente.

Examine todas as partições que você espera que façam parte do conjunto de RAID, conforme descrito acima. Todos os volumes de componentes de um determinado array terão o mesmo UUID. Depois de localizar todas as peças, monte novamente a matriz usando o comando mdadm --assemble , gravando os novos dispositivos de volta no superbloco da seguinte maneira (substituindo /dev/mdX pelo dispositivo MD que você gostaria que a matriz fosse montada como e / dev / partition0, etc, com os volumes membros da matriz):

mdadm --assemble --update=homehost /dev/mdX /dev/partition0 /dev/partition1 ... /dev/partition6

Isso remontará a matriz e atualizará o superbloco com o novo nome de host e dispositivos. Depois de fazer isso, você pode cat /proc/mdstat para ver a condição da matriz. Finalmente, você pode mdadm --detail --scan >> /etc/mdadm.conf escrever os detalhes da matriz no arquivo /etc/mdadm.conf.

    
por 23.03.2010 / 02:28