Recuperar imagens de VM do cluster ceph morto

1

Há alguns dias nosso Cluster Ceph morreu - ninguém sabe por quê, mas parece que os monitores acabaram de ser deletados. Ao tentar adicioná-los novamente ao ceph.conf, obtemos tempos limite ao iniciar o ceph e esses erros:

7f1b04382700  0 -- :/3908692206 >> 172.16.50.2:6789/0 pipe(0x7f1b0005a060 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x7f1b0005e350).fault

(172.16.50.2 é um nó no qual um monitor ceph deve estar em execução ...)

Como não foi possível reiniciar o cluster (Proxmox), desejamos extrair as imagens de todas as nossas VMs dos Ceph OSDs. Para fazer isso, escrevi um script coletando informações sobre os dados dos OSDs e remontando os arquivos coletados.

Os arquivos têm nomes como

current/1.382_head/DIR_2/DIR_8/DIR_3/rbd\udata.147082238e1f29.0000000000009238__head_CB25F382__1

Onde 147082238e1f29 parece ser o ID da imagem da VM e 0000000000009238 parece ser o "deslocamento". Então eu listei todos os arquivos com o mesmo ID e os classifiquei respeitando o offset deles. O problema é: existem lacunas ... Nem todos os deslocamentos estão presentes nos OSDs.

Então, ao colocar todos esses arquivos junto com dd, a imagem parece estar corrompida - porque há lacunas.

Alguém pode nos ajudar com o tempo limite ao iniciar o ceph ou pelo menos nos ajudar a extrair as imagens da VM?

    
por Kryptur 21.12.2016 / 17:31

1 resposta

0

Depois de mais algumas orações, eu realmente entendi:

Especifiquei um tamanho de bloco incorreto e mudei para copiar com deslocamentos em vez de inserir "blocos 0".

Para extrair imagens somente de OSDs (nada mais funcionando):
link

Agora posso extrair as VMs dos OSDs e copiar as imagens para um novo cluster.

    
por 05.01.2017 / 13:10