Recuperando Informações LVM2 Acidentalmente Destruídas

2

Ok, sou burro e cometi um erro sério e grave. Na minha caixa linux rodando o Ubuntu 10.10, eu tenho um array RAID de 1.5TB que eu tinha originalmente configurado usando as instruções localizadas aqui: link A matriz RAID é uma matriz RAID 5 de 4 x 500GB com um sistema de arquivos formatado ext3 e não é o meu dispositivo de inicialização. O array RAID foi usado apenas para armazenamento. A configuração do LVM é um único volume físico (o dispositivo RAID) e um único volume lógico que compõe todo o volume físico.

Então, aqui está a lista de etapas que acabei fazendo, com base no conteúdo dos arquivos em /etc/lvm/archive (um arquivo foi criado antes de cada etapa e o arquivo lista o que o comando era):

lvremove /dev/raid_vg/lv0
lvcreate -l 357702 raid_vg -n lv0
lvremove raid_vg
lvcreate -l 357702 raid_vg -n lv0
lvremove raid_vg
vgexport raid_vg
vgimport raid_vg
vgscan
lvremove raid_vg
vgcreate raid_vg /dev/md1

Então, acidentalmente chamei lvremove em vez de lvchange -a n . Então percebi meu erro e tentei restaurar o volume lógico. Mas isso fez com que o disco parecesse vazio.

Agora, não tenho certeza, mas não acho que os dados tenham sido apagados (pelo menos não todos). Eu clonei o dispositivo com ddrescue apenas para não perder nada e experimentar na imagem.

Agora, minha pergunta é, então, é possível restaurar as informações do LVM para o disco e recuperar meu sistema de arquivos? Eu tenho os arquivos de configuração em /etc/lvm/archive , que me fornecem as extensões iniciais, tamanhos e contagens de extensão.

Qualquer ajuda que alguém possa fornecer seria extremamente apreciada. Eu era um idiota e me ferrou. Eu só espero que tenha sido temporário e eu possa recuperar meus dados.

    
por Streeter 27.04.2011 / 05:02

1 resposta

3

Existe um post útil em LinuxQuestions da RayfordJ que sugiro que seja possível restaurar um vg / lv, mesmo depois de uma sequência de lvremove & & vgremove & & pvremove.

A sequência na postagem é:

  1. pvcreate --restorefile / etc / lvm / archive / --uuid dev / sdX
  2. vgcfgrestore -f / etc / lvm / archive / --verbose thisVG
  3. vgdisplay -v / dev / thisVG & & vgchange -ay / dev / thisVG
  4. mount / dev / thisVG / missingLV / mnt

(Por favor, verifique estes passos para a sua situação cuidadosamente antes de usar, ou use o texto da postagem original, que é muito mais claro!).

O passo número 4. provavelmente falhará e exigirá uma verificação do sistema de arquivos.

Após sua descrição do problema, você poderá pular para a etapa 2.

Existe também um artigo no LinuxJournal sobre como recuperar dados de um array RAID com falha e do LVM vg aqui .

Considerando essas duas fontes, parece-me que você deve ser capaz de diferenciar o arquivo de configuração lvm atual e o arquivo arquivado, e tentar usar o antigo em vez do novo. Se você tiver sorte, reiniciar lvm magicamente permitirá que você veja o lv com lvdisplay e monte-o.

    
por 29.04.2011 / 04:44