Як підтримувати невеликий диференційний жорсткий диск Virtualbox


8

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

Щоб зменшити передачу даних, я хотів би використовувати лише диференціал мого жорсткого диска, який зберігатиме лише невеликий об'єм "документів", не синхронізуючи весь жорсткий диск (я не вважаю, що диференціальна синхронізація Dropbox буде дуже ефективною) . Використовуючи цю офіційну документацію VirtualBox , я зробив наступний трюк, який лише частково мене задовольняє.

  • Спробуйте створити диференціальний привід:
    • Зробіть багатопривідний диск (див. Вище документацію)
    • Внесіть просту зміну диска гостя, який створить файл diff
  • Відновіть (використовуючи VBox Media Manager, Файл> Віртуальний медіа-менеджер) базовий диск в нормальному режимі (мені це потрібно, щоб можна було приєднати його до декількох машин)
  • Від'єднайте головний привід від машини і замість цього приєднайте розл
    • Для цього потрібна додаткова хитрість при підключенні до нової машини: приєднайте, потім від'єднайте головну, потім приєднайте diff, інакше VirtualBox не розпізнає GUID диска

Цей трюк виконує цю роботу: оскільки я працюю лише з диском diff, база ніколи не змінюється і, таким чином, ніколи не синхронізується через мережу. Погана частина , хоча в тому , що, навіть якщо дуже мало зростає кількість даних, що зберігаються , то різниця диск буде рости в просторі на VDI (файл віртуального зберігання диск на хості) приймає на хості з - за того , як фрагменти гостьової ОС і переміщує файли . І таким чином я починаю синхронізувати постійно зростаючий жорсткий диск, втрачаючи переваги наявності diff.

Проблема полягає в тому, що я хочу - це спосіб регулярно "зливати" або "дефрагментація змін" на diff vdi, щоб синхронізація була невеликою. Я можу дозволити собі (хоча я цього не хочу) робити повну синхронізацію головного vdi кожного разу, коли я роблю це об'єднання. Але єдиний спосіб, який я хотів би - це відтворення diff vdi за допомогою того самого процесу та відновлення файлів на цьому диску за допомогою якоїсь резервної копії. Не дуже зручно. Хтось має кращу ідею?

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

Я був досить зрозумілий?


Деякі додаткові відомості: Моя гостьова система - це мінімальний winXP з незмінною частиною ~ 5GiB та частиною "документів" ~ 500MiB. Хости - це декілька вікон та Linux-машин, деякі - невеликі дискові ноутбуки з нестабільним підключенням
PPC

Ви говорите, що "не довіряєте диференціальній синхронізації DropBox як дуже ефективною". Ви насправді це випробували?
Colin 't Hart

@ Colin'tHart: Не дуже ретельне тестування, але я зробив невеликі зміни на віртуальному накопичувачі (кілька нових файлів і змінили кілька старих) на виробництві, і синхронізація зайняла приблизно час, щоб завантажити весь файл. Можливо, Dropbox не винен (це може бути, NTFS вносить більші зміни, ніж очікувалося), але результат такий: це займає віки
PPC

Відповіді:


3

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


Здається, це гарна ідея для дослідження. Не впевнений, що він фактично збереже пропускну здатність (якщо він працює на розріз), оскільки така зміна, ймовірно, сильно зіпсує алгоритм "інтелектуальної синхронізації", що випадає. Я повинен спробувати зробити таку зміну якомога систематичнішою (кожен раз, коли користувач закриває свій VM?). Чудова ідея все одно.
КПП

0

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

Я використовую його через Dropbox з об'ємом 3 Гб, і він працює добре. Звичайно, ваш диск VM, мабуть, принаймні 10-20 ГБ, тому перша синхронізація буде дуже повільною. Це може бути прискорено за допомогою Dropbox з синхронізацією локальної мережі.

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


Не вдалося перевірити ваше рішення, мої хости - win7 та Ubuntu Natty :(
PPC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.