Como eu movo eficientemente uma imagem de disco grande e vazia para outro sistema?

3

Atualmente, estou tentando mover uma imagem qcow2 nova e vazia de um sistema para outro que está longe. Eu basicamente tenho uma nova instalação do Ubuntu LTS (tamanho real 6gb, tamanho aparente 200gb). A maioria dos métodos de transferência de arquivos (rsync sobre ssh) e sftp com duck tentam transferir mais de 200 gb.

Isso é ineficiente , já que a imagem do disco não está realmente usando 200gb (só que eventualmente, eventualmente). O que eu precisaria fazer para transferir somente o que é usado pela VM?

Ambas as extremidades da transferência rodam o fedora 22, e eu idealmente não quero mudar os formatos de imagem de disco, o que seria uma opção. A velocidade seria boa - não quero negociar o tempo de transferência para o tempo de processamento.

    
por Journeyman Geek 12.06.2015 / 04:27

2 respostas

4

rsync realmente lida com arquivos esparsos. Quando você diz tamanho real de 6 GB e o tamanho aparente é de 600 GB, você quer dizer que du -h IMAGE.qcow2 mostra " 6G ", mas du -h --apparent-size IMAGE.qcow2 mostra " 200G "?

Nesse caso, você pode adicionar o -S flag a rsync para fazer com que ele transfira arquivos esparsamente, o que significa que você enviará mais de 6GiB de dados em vez de 200GiB.

Também parece que sua imagem do qcow2 não está compactada. Se você tiver os recursos da CPU de sobra e sua largura de banda for menor do que a velocidade da CPU em gzip , também será possível passar a -z para rsync , que também tem rsync para compactar a transferência de arquivos. / p>

Eu tenho uma tecla de atalho fire-and-forget para rsync com base em esta pergunta de superusuário e faz transferências de arquivos eficientes e preservativas na maior parte do tempo: rsync -avzHXShPs

    
por 12.06.2015 / 05:34
1

scp -C usa compactação, que deve ser bastante eficiente para um arquivo tão esparso. Uma vantagem é que você teria um arquivo pronto para uso no destino.

    
por 12.06.2015 / 05:57