Usuário reduziu o volume lógico do LVM sem redimensionar o sistema de arquivos

5

Recebi um email ontem que um dos nossos utilizadores tentava abrir espaço para um pacote de heartbeat / clustering que requer que a sua própria partição funcione como um disco de votação. Para fazer isso, ele tentou reduzir o tamanho do volume lógico da partição raiz e, em seguida, criou um novo volume lógico para essa finalidade. No entanto, ele esqueceu de redimensionar o sistema de arquivos primeiro (ou incluir a opção -r no comando). Ele também esqueceu de desmontar a partição raiz executando este processo a partir de um CD de recuperação. O sistema está agora se recusando a inicializar no sistema operacional com o seguinte erro:

O superbloco ou a tabela de partições provavelmente estão corrompidos! Inconsistência Inesperada; execute o fsck manualmente.

O sistema coloca o usuário no modo de usuário único.

É possível resgatar o sistema de arquivos ou é usado? Sua execução ext3.

    
por Matthew 18.06.2012 / 22:26

3 respostas

3

Se um sistema de arquivos já foi inicializado no novo LV, então você provavelmente está pronto, porque os dados serão sobrescritos. Você ainda pode tentar recuperá-lo, mas eu não estaria muito esperançoso. Se um sistema de arquivos não foi inicializado, é teoricamente possível recuperá-lo (mas eu mesmo não tentei).

Primeiramente, faça um backup de toda a unidade, você precisará dela para o caso de a recuperação dar errado. O próximo passo é tentar encontrar os backups de metadados do LVM que o LVM cria em /etc/lvm/archive antes de fazer alterações. Se o volume raiz não estiver acessível, você pode tentar executar e2fsck para montá-lo e esperar que os arquivos de backup sejam armazenados perto do início do volume. Se você fizer isso, deverá continuar a recuperação antes de executar e2fsck (ou seja, restaurar a partir do backup após obter os arquivos de backup).

Se você conseguiu um arquivo de backup, restaure a configuração do LVM com vgcfgrestore . Se você não conseguiu um arquivo de backup, terá que esperar que o volume inicial seja completamente seqüencial. Remova o novo LV e, em seguida, estenda o antigo LV para o tamanho original.

Quando você tiver o antigo LV de volta ao tamanho correto, cruze os dedos e execute e2fsck . E você realmente precisa fazer esse backup primeiro, você provavelmente não irá acertar na primeira tentativa.

    
por 18.06.2012 / 22:51
2

O que eu tentaria:

  • Use um sistema de resgate, por exemplo. GRML ou um sistema live do Ubuntu.
  • Redimensione o volume de volta ao seu tamanho original e espere que o LVM atribua o mesmo espaço em disco físico. Isso deve funcionar se nenhuma outra modificação tiver sido feita no grupo de volume no tempo médio.
  • Crie uma imagem ou, no mínimo, um instantâneo do volume.
  • Tente corrigi-lo com fsck .
  • Espero pelo melhor

Com toda probabilidade, eu diria que o sistema de arquivos está morto, mas isso pode ajudar com muita sorte.

    
por 18.06.2012 / 22:51
1

Hoje eu era esse usuário ... Felizmente, estava em um ambiente de teste, então mantive um claro processo de pensamento;)

Consegui resolver o erro revertendo o que eu havia feito. Eu reduzi minha casa lvm em 100G, não redimensionei, depois expandi meu lvm de raiz em 100G e ainda não redimensionei o FS.

Eu inicializei a partir de um liveCD (CentOS 6.4), reduzi o boot em 100G, redimensionei, ampliei a casa em 100G, redimensionei. Reiniciado e tudo voltou ao normal.

    
por 10.07.2013 / 22:16

Tags