Reconstruindo o LVM após a recuperação do RAID

2

Eu tenho 4 discos RAID-5ed para criar md0 e outros 4 discos RAID-5ed para criar md1. Estes são então combinados via LVM para criar uma partição.

Houve uma falta de energia enquanto eu estava fora, e quando voltei, parecia que um dos discos no md1 estava fora de sincronia - o mdadm alegou que só conseguia encontrar 3 dos 4 drives. A única coisa que eu poderia fazer para que qualquer coisa acontecesse era usar mdadm --create nesses quatro discos e depois reconstruí-lo. Isso pareceu uma idéia ruim para mim, mas nenhuma das coisas que eu tinha era crítica (embora demorasse um tempo para recuperar tudo), e um encadeamento em algum lugar afirmou que isso consertaria as coisas. Se isso estragou todos os meus dados, então eu suponho que você pode parar de ler e apenas me diga isso.

Depois de esperar quatro horas para o array reconstruir, o md1 parecia bem (eu acho), mas o lvm estava reclamando sobre não ser capaz de encontrar um dispositivo com o UUID correto, presumivelmente porque o md1 mudou os UUIDs. Eu usei os comandos pvcreate e vgcfgrestore conforme documentado aqui . A tentativa de executar um lvchange -a y nele, no entanto, me dá uma mensagem resume ioctl failed .

Existe alguma esperança para eu recuperar meus dados, ou eu acabei completamente com isso?

Meu LV foi configurado linearmente. Parece que eu deveria ser capaz de recuperar pelo menos os dados do md0 usando algo como TestDisk . No entanto, exemplos mostra partições LVM listadas no TestDisk, enquanto eu só vejo sda, sdb, etc. e md0 e md1.

[$]> lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lvm
  VG Name                VolGroup
  LV UUID                b1h1VL-f11t-TGJv-ajbx-4Axn-wi89-fReUKu
  LV Write Access        read/write
  LV Status              suspended
  # open                 0
  LV Size                6.14 TiB
  Current LE             1609648
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

[$]> lvchange -ay /dev/VolGroup/lvm
  device-mapper: reload ioctl failed: Invalid argument
    
por Xiong Chiamiov 03.01.2011 / 09:46

2 respostas

4

Eu tenho medo de que, ao combinar dois discos (RAID) em um volume LVM e, em seguida, excluir e recriar um desses discos, você realmente tenha perdido seus dados. Se você usou o striping do LVM, eles definitivamente desapareceram, já que todos os outros arquivos estavam no disco. Com o modo linear, você poderá recuperar uma parte de seus arquivos com algum software de recuperação de disco.

Pena, porque sua configuração básica é sensata. Por causa do RAID5, você deveria ter conseguido acessar o volume mesmo com um disco faltando. Eu teria sugerido um backup antes do "mdadm --criar" ...

    
por 03.01.2011 / 11:13
1

Da próxima vez, você tem duas opções ... ou você pode manualmente tentar montar o ataque usando o mdadm --assemble em vez de --create. Ou você pode usar "ckraid" de forma semelhante à verificação do sistema de arquivos, mas para as matrizes do raid 5. (O Linux Software Raid How-To menciona o último).

Pessoalmente, no entanto, se você estiver usando o SW Raid sem um no-break, eu pessoalmente prefiro o Raid 10 em vez do 5 ou 6, pois ele deve ser mais tolerante a problemas de energia.

    
por 03.01.2011 / 23:38