8

Я пытаюсь использовать виртуальный жесткий диск на нескольких компьютерах с помощью синхронизации Dropbox (популярный облачный инструмент). Я предполагаю, что никакие две машины не будут открывать один и тот же диск одновременно.

Чтобы сократить объемы передачи данных, я бы хотел использовать только дифференциал моего жесткого диска, который будет хранить только небольшой объем "документов", а не синхронизировать весь жесткий диск (я не верю, что дифференциальная синхронизация Dropbox будет очень эффективной), Используя эту официальную документацию VirtualBox, я сделал следующий трюк, который удовлетворяет меня лишь частично.

  • Создайте дифференциальный привод с помощью хитрости:
    • Сделайте диск multiattach (см. Документацию выше)
    • Сделайте простое изменение на диске на гостевой, который создаст файл diff
  • Восстановите (используя VBox Media Manager, File> Virtual Media Manager) базовый диск в "нормальном" режиме (мне нужно это, чтобы иметь возможность подключить его к нескольким машинам)
  • Отсоедините основной диск от машины и вместо этого установите дифференциал
    • Это требует дополнительного трюка при подключении к новой машине: присоедините, затем отсоедините основной, затем подключите diff, иначе VirtualBox не распознает GUID диска.

Этот трюк делает свою работу: поскольку я работаю только с диском diff, база никогда не изменяется и, следовательно, никогда не синхронизируется по сети. Плохая часть заключается в том, что даже если объем хранимых данных растет очень незначительно, разностный диск увеличивается в объеме, который занимает vdi (файл хранилища виртуального диска на хосте) из-за того, как гостевая ОС фрагментирует и перемещает файлы , И поэтому я начинаю синхронизировать постоянно растущий жесткий диск различий, теряя преимущества наличия различий.

Проблема в том, что я хочу - это способ регулярно «объединять» или «дефрагментировать изменения» в diff vdi, чтобы поддерживать синхронизацию малой. Я могу позволить себе (хотя и не хочу) делать полную синхронизацию основных vdi каждый раз, когда я делаю это слияние. Но единственный способ, которым я могу воспользоваться, это воссоздать diff vdi, используя тот же процесс, и восстановить файлы на этом диске с помощью какого-либо резервного копирования. Не очень удобно. У кого-нибудь есть идея получше?

Конечно, есть другой способ работать только с общим каталогом (между хостом и гостем), но для этого потребуется дополнительная настройка (множество символических ссылок на госте), и я не хочу, чтобы пользователи хоста связывались с ним гостевые файлы.

Я был достаточно ясен?

2 ответа2

3

VBoxManage modifyhd --compact будет вырезать любые блоки, которые вы обнулили с помощью соответствующего инструмента (см. Руководство). Не уверен, будет ли лучше использовать отдельный диск для документов (возможно, сквозной) для ваших нужд.

0

Если все ваши хост-системы Mac OS 10.5+, вы можете использовать механизм Sparse Bundle, который хорошо подходит для инкрементной синхронизации / резервного копирования с такими инструментами, как Time Machine или rsync:http://en.wikipedia.org/wiki/Sparse_image# Sparse_Bundle

Я использую его поверх Dropbox объемом 3 ГБ, и он работает хорошо. Конечно, ваш виртуальный диск занимает, по крайней мере, 10-20 ГБ, поэтому первая синхронизация будет очень медленной. Это может быть ускорено Dropbox с синхронизацией локальной сети все же.

Кроме того, afaik, вы должны быть осторожны, чтобы монтировать его только один раз в данный момент (как вы сказали), и разрешить синхронизацию после того, как виртуальная машина остановлена / находится в режиме ожидания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .