O LVM faz backup de seus metadados para /etc/lvm/backup
e /etc/lvm/archive
. Na parte superior de cada arquivo, ele informará a hora / dados em que o arquivo foi gerado; portanto, é provável que você tenha uma cópia dos metadados mais antigos como antes de excluir o LV. Acredito que o backup seja automático sempre que os metadados forem alterados.
O seguinte pode ser perigoso e destrutivo, portanto, tenha muito cuidado e, se possível, faça um backup completo.
O comando para restaurar esses backups de metadados do grupo de volumes é vgcfgrestore
. Certifique-se de fazer uma cópia atual da configuração de trabalho existente usando o vgcfgbackup
comando com o sinalizador -f para especificar um arquivo diferente para a saída, para que você não altere nenhum arquivo que esteja no / etc / lvm / backup ou / etc / lvm / pastas de arquivamento. Certifique-se de diferenciar a configuração atual com a configuração que deseja restaurar para verificar se as únicas alterações que você está prestes a aplicar são recriar o LV excluído recentemente. Ter um backup completo de seus dados provavelmente também não é uma má idéia. Você também pode considerar entrar em contato com o fornecedor do Linux para obter suporte / orientação se tiver um contrato de suporte antes de prosseguir, pois eu nunca tive que fazer isso sozinho.
Boa sorte.
"Você poderia, por favor, ser mais específico sobre encontrar EFROM e ETO a partir do arquivo de backup? Todo o lv tem um" start_extend "de 0 no meu arquivo de backup, então estou um pouco perdido :) Obrigado! : 06 "
Ok, serei muito específico ... com a maneira mais simples de recuperar um volume lógico.
Exemplo:
1 - Eu removi meu volume lógico!
2 - A primeira coisa a fazer é procurar o arquivo morto em /etc/lvm/archive/vg1_(xxxxx).vg. Eu posso fazer isso, apenas olhando a data em que removi o volume lógico!
3- eu achei!
Data em que fiz o lvremove !!! ... foi a alguns minutos atrás ..
4 - Vamos ver o arquivo!
5 - Faça um teste antes de recuperá-lo!
6 - Ok, agora repita a linha de comando, sem o (--test)
7 - Confira!
8 - Se a lógica não estava ativa, faça!
É tudo
Espero que isso possa ajudar outras pessoas que estão procurando por esta solução!
fonte
A coisa mais fácil de recuperar do lvremove (supondo que você não tenha escrito na extensão em que o LV residia) é:
Basta encontrar o backup dos seus metadados em / etc / lvm / archive e descobrir
a) em que extensões o VE estava residindo (EFROM, ETO)
b) em quais PVs seu VE estava residindo e que se estende naquele PV que estava usando (PFROM, PTO)
Depois de obter essas informações, você cria um novo LV do mesmo tamanho no mesmo PV se estende sem limpar os primeiros 8kB do LV:
fonte
(Conforme respondido por thermoman anteriormente), a maneira mais fácil de recriar um volume LVM excluído é criando-o com lvcreate sem zerar e certificando-se de que ele estará na mesma posição no disco. (O comando da resposta do thermoman não funcionou.)
Verifique o tamanho e a posição do volume lógico excluído como antes da exclusão, lendo os arquivos em / etc / lvm / archive. O tamanho do volume é em
extent_count
de asegment1
(ou soma desegment*/extent_count
valores se tinha várias extensões). A posição está nastripes
seção após o alias do volume físico (por exemplopv0
).Por exemplo, a seção de volume pode ficar assim:
O tamanho deste
example
volume era 1024 e estava localizado em / dev / somedisk a partir da extensão 30720.Calcule a última extensão como start + size -1 = 30720 + 1024 - 1 = 31743. Para recriar o problema de volume a seguir:
fonte
Eu tive uma situação semelhante. Eu tinha todos os PVs contendo os LVs desejados, mas meu VG mostrou PVs ausentes e 0 LVs. Eu me recuperei fazendo o seguinte:
pvs
para coletar UUIDs para todas as unidades.physical_volumes
seção, defina asdevice =
linhas para corresponder aos UUIDs / dispositivos atuais relatados porpvs
, limpe todos os"MISSING"
sinalizadores e remova aspvN
seções que realmente estavam faltando.logical_volumes
seção, remova as listagens que apresentavam listras naspvN
seções que não existiam mais.Foi isso, então eu corri
vgcfgrestore --test vg -f /root/dangerously_edited.vg
--test
opção.Atingi minha situação particular estendendo o VG com PVs sdg e sdh. Em seguida, criei um novo LV, especificando
/dev/sdg /dev/sdh
na linha de comando, para que eu soubesse que o novo LV estava nessas unidades. Então mudei apenas essas unidades para uma nova máquina. A máquina antiga ficou muito chateada com as unidades ausentes e, quando as removi à força, também removeu TODOS os LVs. Vadio.Da próxima vez, é claro, vou criar um novo VG para evitar esse problema.
fonte