Eu corro um servidor multi-disco com o LVM2. Vários discos grandes servem como volumes físicos LVM2 para um grupo de volumes, contendo um volume lógico formatado com ext4.
Nada sofisticado, apenas sua configuração linear padrão.
Recentemente, um disco adicional muito pequeno foi adicionado como volume físico a esse grupo de volumes e eu expandi o volume lógico e o sistema de arquivos ext4 para esse disco.
Esse lv é usado para armazenar backups incrementais usando o rsync e está apenas 30% cheio, raramente houve arquivos apagados dele, apenas gravações incrementais.
Agora, esse novo disco rígido que adicionei ao grupo de volumes pré-existente morreu inesperadamente e o grupo de volumes não aparece porque falta um volume físico.
Como o destino o terá, este WAS o "em um evento de falha catastrófica no servidor principal" -backup, o evento aconteceu, o chefe não está feliz , então isso meio que tem que funcionar ...
De acordo com isto (Parte 3):
link
É possível enganar o LVM para iniciar de qualquer maneira criando um novo pv com metadados idênticos ao disco com falha, o que tornará o volume acessível, mas naturalmente deixará buracos gigantescos no sistema de arquivos. Eu ainda não tentei, porque envolve consertar (gravar) o sistema de arquivos, o que elimina a possibilidade de tentar outras coisas se falhar.
Agora, minha pergunta é: Como essa configuração realmente aloca espaço em disco para novos dados? Ela é alocada linearmente do começo ao fim dos PVs, na ordem em que foram adicionados ao vg? É distribuído de alguma forma para aumentar a carga de desempenho / equilíbrio?
como este disco defeituoso foi adicionado somente depois a um existente lvm2 vg e lv, contendo um ext4 meio vazio, quais são as chances de que nunca tenha havido dados gravados no disco defeituoso?
Em outras palavras: quais são as chances de recuperar todos os meus dados, mesmo sem o disco com defeito, apenas iniciando o grupo de volume como está? Estou prestes a gastar US $ 1.500 tendo 250GB de espaço vazio recuperado quando envio o disco com defeito para reparo?
Existe uma maneira de verificar sem montar o sistema de arquivos e abrir os arquivos, esperando que eles contenham algo diferente de zeros? (comparando endereços de blocos de dados usados dentro do ext4 com intervalos de endereços que estavam no pv perdido, algo assim, de preferência fácil de automatizar)
Eu sei bitwise-copiar todo o lv em um arquivo de imagem antes de tentar reparar o ext4 provavelmente seria uma boa idéia, mas desde que este lv é muito grande e eu sofri apenas falha no sistema de arquivos em vários sistemas é provavelmente um luxo eu não tenho ...
Alguma sugestão?