Maneira correta de remover um instantâneo do LVM ativo / inativo

4

Eu criei um exemplo de arquivo de script ruby para remover instantâneos extra do LVM do sistema.

Para remover o instantâneo do LVM, estamos usando o comando lvremove . Este comando está funcionando bem e podemos remover instantâneos do sistema.

# sudo lvremove /dev/ops/dbbackup 
lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y

Às vezes, ao remover instantâneos, estamos recebendo erros a seguir.

Unable to deactivate open rootfs_12.10_20140812_00-cow (252:8)  
Failed to resume rootfs_12.10_20140812_00.  
libdevmapper exiting with 7 device(s) still suspended.

O sistema fica congelado. Não podemos disparar nenhum comando ou não podemos executar nenhuma ação nele.

Depois de reiniciar o sistema, ele está funcionando bem. Nós podemos realizar todas as operações, até mesmo podemos excluir esse instantâneo também.

Eu pesquisei sobre isso Eu encontrei esses tópicos link e   link

A solução deste segmento é depois de receber o erro, mas tenho que evitar esse tipo de erro.

Eu tenho uma pergunta: Existe alguma maneira melhor de remover instantâneos do LVM?

Para que possamos evitar esse tipo de erro.

Se alguém precisar de mais informações, não hesite em perguntar.

    
por user2622247 18.08.2014 / 10:20

1 resposta

2

Se ainda não o fez, certifique-se de que o instantâneo lv NÃO esteja montado antes de removê-lo. Basta adicionar uma linha extra ao seu script ruby para desmontar o snapshot lv antes de executar o lvremove. Também pode ser sensato adicionar uma condição ao lvremove que requer que a parição NÃO seja montada para que o lvremove continue.

Espero que isso tenha sido útil,

MG

    
por MGodby 22.08.2014 / 18:44