
Tive um VG com 3 pvs. O VG tinha um LV usando todos os três PVs. Então um PV (hdd) morreu. Eu queria tentar recuperar tudo o que pudesse. Então a primeira coisa que precisei fazer foi remover o PV ausente do LV/VG. Seguindo as instruções que encontrei no Google, usei o vgreduce para remover esse PV. Mas, como aprendi, isso também removeu o LV. Agora estou tentando restaurar a configuração original, aquela anterior ao vgreduce, para usar o vgchange. Estou usando vgcfgrestore -f , onde o arquivo compactado é aquele criado antes do vgreduce. Mas continuo recebendo "Não é possível restaurar o VGR do grupo de volume com 1 PV marcado como ausente".
O VE é recuperável? Se sim, como?
Qualquer ajuda muito apreciada.
TIA
sabe
Responder1
O LVM do Linux não remove PVs com LVs por padrão. São necessárias todas as extensões para que os LVs tenham boa integridade. vgreduce --force
pode remover LVs, porém, desativa várias verificações de segurança. Sermuitoespecífico e cuidadoso nas opções que você usa. Registre suas sessões de terminal.
Planeje sua recuperação. Encontre todos os backups existentes desses dados. Estime o quão valioso ele é para a organização e quanto tempo levaria para recriar. Se não houver backups, considere obter um orçamento de um serviço profissional de recuperação de dados.
Tente criar uma imagem da unidade com falha em uma unidade boa do mesmo tamanho. Se você fizer isso sozinho, com uma ferramenta tolerante a erros como o dd_rescue
. Esteja ciente de que, em alguns casos, o uso posterior pode danificar ainda mais a mídia, se ainda não estiver morta. Os serviços de recuperação de dados podem fazer uma cirurgia na tentativa de recuperar os dados.
Se você conseguir fazer a imagem, o novo disco terá a identificação do PV antigo. Adicione o novo dispositivo novamente. vgextend --restoremissing $PV
À medida que você reduziu os LVs, este seria o momento de tentar vgcfgrestore --file
novamente, para voltar antes de fazer isso.
Se todas as tentativas falharem e você aceitar a perda de dados, considere substituir o PV com falha por uma nova unidade vazia. É quase certo que isso corromperá seus dados. Como exatamente a corrupção se manifesta depende do sistema de arquivos e tal. Mas é algo para tentar. man vgcfgrestore
descreve o procedimento:
Para substituir PVs,
vgdisplay --partial --verbose
mostrará os UUIDs e tamanhos de quaisquer PVs que não estejam mais presentes. Se um PV no VG for perdido e você desejar substituí-lo por outro do mesmo tamanho, usepvcreate --restorefile filename --uuid uuid
(mais argumentos adicionais conforme apropriado) para inicializá-lo com o mesmo UUID do PV ausente. Repita para todos os outros PVs ausentes no VG. Em seguida, usevgcfgrestore --file filename
para restaurar os metadados do VG.
Em um cenário menos degradado sem perda de PVs, pvmove
moverá extensões entre PVs, podendo ser utilizado em migrações de armazenamento.
No futuro, para que os grupos de volumes sobrevivam à perda do disco rígido, considere adicionar redundância. Abaixo do LVM com PVs de LUNs de um array ou na camada LVM. Consulte as páginas man mdadm
e lvmraid
, respectivamente, para soluções de software.
Responder2
Acho que este link é a resposta para sua pergunta https://unix.stackexchange.com/questions/47380/where-does-lvm-store-data