Estou tentando usar um disco rígido de caixa virtual em vários computadores usando a sincronização do dropbox (uma popular ferramenta de nuvem). Presumo que não há duas máquinas abrirão a mesma unidade ao mesmo tempo.
Para reduzir as transferências de dados, eu gostaria de usar apenas um diferencial do meu disco rígido que armazene apenas um pequeno volume de "documentos", sem sincronizar todo o disco rígido (não confio que a sincronização diferencial do Dropbox seja muito eficaz) . Usando esta documentação oficial do VirtualBox , fiz o seguinte truque que me satisfaz apenas parcialmente.
- Crie uma unidade diferencial com um truque:
- Torne a unidade com várias conexões (consulte a documentação acima)
- Faça uma alteração simples na unidade do convidado, que criará um arquivo diff
- Restaurar (usando o VBox Media Manager, Arquivo> Virtual Media Manager) a unidade base para o modo "normal" (eu preciso disso para poder conectá-lo a várias máquinas)
- Desconecte a unidade principal da máquina e conecte o diff
- Isso requer um truque extra ao se conectar a uma nova máquina: anexar, em seguida, desconecte o principal e depois o diff, caso contrário o VirtualBox não reconhecerá o GUID do disco
Esse truque faz o trabalho: como eu trabalho apenas com o disco diff, a base nunca é modificada e, portanto, nunca é sincronizada na rede. A parte ruim, porém, é que, mesmo com muito pouco crescimento na quantidade de dados armazenados , a unidade diff está crescendo no espaço que o vdi (arquivo de armazenamento da unidade virtual no host) assume no host por causa de como o SO convidado fragmenta e move arquivos . E, assim, estou começando a sincronizar um disco rígido diff sempre crescente, perdendo as vantagens de ter um diff.
O problema é: eu quero é uma maneira de 'mesclar' ou 'desfragmentar alterações' regularmente no diff vdi para manter a sincronização pequena. Eu posso pagar (embora não queira) fazer uma sincronização completa do vdi principal toda vez que faço essa fusão. Mas a única maneira que pensei é recriar um diff vdi usando o mesmo processo e restaurar os arquivos nesse disco através de algum tipo de backup. Não é muito útil. Alguém tem uma ideia melhor?
É claro que existe outra maneira de trabalhar apenas em um diretório compartilhado (entre o host e o convidado), mas isso precisará de uma configuração extra (muitos links simbólicos no convidado) e eu não quero que os usuários do host mexam com arquivos de convidados.
Fui claro o suficiente?
Respostas:
O VBoxManage modifyhd --compact eliminará todos os blocos que você zerou com uma ferramenta apropriada (consulte o manual). Não tenho certeza se anexar um disco separado para os documentos (talvez gravação ) seria melhor para suas necessidades.
fonte
Se todo o seu sistema operacional host for Mac OS 10.5 ou superior, você poderá usar o mecanismo Sparse Bundle, adequado para sincronização / backup incremental com ferramentas como Time Machine ou rsync: http://en.wikipedia.org/wiki/Sparse_image# Sparse_Bundle
Estou usando-o no Dropbox com um volume de 3 GB e funciona bem. Obviamente, seu disco da VM provavelmente tem entre 10 e 20 GB, portanto a primeira sincronização será muito lenta. No entanto, ele pode ser acelerado pelo Dropbox com sincronização de LAN.
Além disso, você deve ter o cuidado de montá-lo apenas uma vez em um determinado momento (como você disse) e permitir a sincronização após o estado de parada / espera da VM.
fonte