Estoy tratando de usar un disco duro virtualbox en varias computadoras usando la sincronización de dropbox (una herramienta popular en la nube). Supongo que no hay dos máquinas que abran la misma unidad al mismo tiempo.
Para reducir las transferencias de datos, me gustaría usar solo un diferencial de mi disco duro que almacenará solo un pequeño volumen de "documentos", sin sincronizar todo el disco duro (no confío en que la sincronización diferencial de Dropbox sea muy efectiva) . Usando esta documentación oficial de VirtualBox , hice el siguiente truco que solo me satisface en parte.
- Construye una unidad diferencial con un truco:
- Haga que la unidad sea de múltiples conexiones (consulte la documentación anterior)
- Realice un cambio simple en la unidad del invitado, que creará un archivo diff
- Restaure (usando VBox Media Manager, Archivo> Virtual Media Manager) la unidad base al modo "normal" (necesito esto para poder conectarlo a varias máquinas)
- Desconecte la unidad principal de la máquina y, en su lugar, conecte el diferencial
- Esto necesita un truco adicional cuando se conecta a una nueva máquina: conecte y luego desconecte el principal, luego conecte el diff, de lo contrario VirtualBox no reconocerá el GUID del disco
Este truco hace el trabajo: como trabajo solo con el disco diff, la base nunca se modifica y, por lo tanto, nunca se sincroniza a través de la red. Sin embargo, lo malo es que, incluso si crece muy poco la cantidad de datos almacenados , la unidad de diferencia está creciendo en el espacio que el vdi (archivo de almacenamiento de la unidad virtual en el host) toma en el host debido a cómo el SO huésped fragmenta y mueve los archivos . Y así, estoy empezando a sincronizar un disco duro diff cada vez mayor, perdiendo las ventajas de tener un diff.
El problema es: lo que quiero es una forma de 'fusionar' o 'desfragmentar cambios' regularmente en el diff vdi para mantener la sincronización pequeña. Puedo permitirme (aunque no lo quiero) hacer una sincronización completa del vdi principal cada vez que realizo esta fusión. Pero la única forma en que he pensado es recrear un diff vdi usando el mismo proceso y restaurar los archivos en ese disco a través de algún tipo de copia de seguridad. No muy a mano. Alguien tiene una mejor idea?
Por supuesto, existe la otra forma de trabajar solo en un directorio compartido (entre el host y el invitado), pero eso necesitará una configuración adicional (muchos enlaces simbólicos en el invitado) y no quiero que los usuarios del host se equivoquen con archivos de invitados.
¿He sido lo suficientemente claro?
Respuestas:
VBoxManage modifyhd --compact eliminará cualquier bloque que haya puesto a cero con una herramienta adecuada (consulte el manual). No estoy seguro si unir un disco separado para los documentos (tal vez escritura ) sería mejor para sus necesidades.
fuente
Si todo su sistema operativo host es Mac OS 10.5+, puede usar el mecanismo Sparse Bundle, que es muy adecuado para sincronización / copia de seguridad incremental con herramientas como Time Machine o rsync: http://en.wikipedia.org/wiki/Sparse_image# Sparse_Bundle
Lo estoy usando sobre Dropbox con un volumen de 3 GB, y funciona bien. Por supuesto, su disco VM probablemente tenga al menos 10-20 GB, por lo que la primera sincronización será muy lenta. Sin embargo, puede ser acelerado por Dropbox con sincronización LAN.
Además, afaik debes tener cuidado de montarlo solo una vez en un momento dado (como dijiste), y permitir la sincronización después de que la VM se haya detenido / estado en espera.
fuente