Eu tenho uma imagem qemu bruta esparsa que eu quero transferir para outro servidor. qemu-img info
me dá:
image: sparse.img
file format: raw
virtual size: 50G
disk size: 16G
Eu transfiro com:
rsync -azhP --sparse origin:/path/to/img/sparse.img .
Agora, no servidor de destino, eu tenho:
image: sparse.img
file format: raw
virtual size: 50G
disk size: 40G
No entanto, depois de executar virt-sparsify
novamente na imagem copiada, recebo isso:
image: sparse.img
file format: raw
virtual size: 50G
disk size: 16G
Ambos os servidores estão executando o CentOS 7.2 em um sistema de arquivos XFS. Então o que aconteceu?
Atualização:
Depois de mais algumas pesquisas, eu encontrei vários posts indicando que o rsync não lida bem com arquivos esparsos, e que é melhor usar uma ferramenta diferente, como tar , para transferir arquivos esparsos.
Você pode acompanhar a tar
transfer com rsync --inplace
, para garantir que o arquivo foi transferido sem erros, conforme explicado aqui .
Outra A solução proposta foi criar um arquivo esparso vazio do mesmo tamanho no destino e, em seguida, usar rsync --inplace
para transferir os dados reais.
Eu não escrevi isso como uma solução, porque isso não explica realmente porque o rsync --sparse
está se comportando dessa maneira.