2

У меня есть виртуальная машина Windows 7 VirtualBox. Файл образа диска имеет размер 30 ГБ и представляет собой один большой файл .vdi. Если я что-то изменю внутри (даже несколько КБ), Time Machine каждый раз захочет сделать резервную копию всего файла размером 30 ГБ. На самом деле, даже если я просто загружаю виртуальную машину, Windows вносит некоторые изменения в реестр и т.д., И даже при 0 изменениях уровня пользователя / приложения запускается полная копия 30 ГБ.

Есть ли способ сделать образ виртуального диска таким, чтобы он был дружественным к Time Machine? Итак, если несколько КБ / МБ изменены, копируются только эти сектора?

Спасибо Сид

5 ответов5

4

Создайте образ диска с разреженным пучком, который состоит из 8 МБ полос. Когда файл образа VirtualBox, расположенный на образе диска, изменяется, Time Machine обновляет только те полосы в образе диска, которые были изменены.

3

После некоторого возни с этим, кажется, VirtualBox позволяет вам создать виртуальный жесткий диск в виде файлов VMDK (собственный формат VMWare). Файлы VMDK позволяют разделить общий образ на куски по 2 ГБ, поэтому жесткий диск на 30 ГБ - это фактически 16 файлов.

  • 1x метафайл (текстовый файл, в котором перечислены все актуальные файлы) ~ несколько КБ
  • 15x 2ГБ чанк-файлов VMDK (фактический виртуальный диск)

Мне еще предстоит подключить Time Machine, чтобы понять, насколько это дружелюбно, но я думаю, что это может сработать.

[Обновление № 1] Это, безусловно, очень полезно! Я больше не сталкиваюсь с полной копией образа 30 ГБ, резервная копия составляет около 3-4 ГБ (потому что несколько блоков обновляются при каждой загрузке). Одно изменение, которое я бы сделал, если бы начал все сначала, я мог бы сделать каждый кусок / срез по 200 МБ каждый, чтобы (в худшем случае) при обновлении любого файла вместо 2 ГБ обновлялось 200 МБ.

[Обновление № 2] Я поднял этот вопрос на форумах разработчиков VirtualBox, и кажется, что спецификация VMDK, определенная VMWare (и используемая всеми остальными, включая Oracle VirtualBox), жестко запрограммирована на блоки по 2 ГБ. Таким образом, нет абсолютно никакой гибкости для уменьшения размера чанка до 1 ГБ /500 МБ или 200 МБ.

Кроме того, в отличие от простых загрузочных тестов, которые я проводил ранее, с тех пор я заметил, что если я сделаю что-нибудь полезное внутри виртуальной машины Windows 7, размер резервного копирования Time Machine составит 10-15 ГБ! Каким-то образом удаётся ОЧЕНЬ больше блоков, даже если я пишу мало данных (я подозреваю, что фрагментация файлов по многим фрагментам + файл подкачки)

2

Согласно этому сообщению в блоге:

http://blog.matteocorti.ch/?p=331

создание снимка сделает свое дело:

просто создайте снимок вашей машины. VirtualBox оставит образ вашего жесткого диска нетронутым и создаст отдельный файл с изменениями, сделанными с момента моментального снимка.

0

Меня это тоже заинтересовало - вот ответ, который появился в поиске Google.

Может ли это работать? (Я спрашиваю, потому что я слишком робок, чтобы попробовать это сам на моей критически важной WinXP VM ...)

Чтобы подвести итог процесса, мы сначала должны создать базовый диск VDI и пометить его как неизменяемый. Это вынуждает VirtualBox создавать второй разностный образ изменений за пределами неизменяемого образа базового диска. Второй шаг - изменить режим разностного диска, переключив автоматический сброс с ON на OFF. По умолчанию разностный диск применяется только для одного запуска виртуальной машины. Другими словами, любые изменения при перезапуске будут потеряны. Отключение автоматического сброса исправляет это.

Вот шаги, которые я извлек из этого обсуждения, включая команды, которые нужно выполнить:

  1. Создать неизменный.VDI диск.

    1. Отключите базовый VDI от виртуальной машины в настройках виртуальной машины.
    2. Сделайте VDI неизменным, выполнив следующую команду:

      VBoxManage openmedium disk -type immutable DISK_FILE_NAME.vdi
      
    3. Подключите теперь неизменный VDI к виртуальной машине.

  2. Скажите VirtualBox, чтобы использовать разностный диск явно. Установите флажок «Дифференцирующий диск» в настройках VBox для неизменяемого VDI. Обратите внимание на GUID разностного диска, который создается.

  3. Отключить автосброс для разностного диска:

    1. По умолчанию VBox сбрасывает состояние машины между перезапусками.
    2. Отключите это поведение, переключив параметр автоматического сброса:

      VBoxManage modifyhd --autoreset off DIFFERENCING_DISK_GUID
      

После выполнения этих шагов вы сможете запустить виртуальную машину, внести некоторые изменения и перезагрузить компьютер. Изменения на диске, которые вы сделали, должны быть постоянными. Было бы неплохо, если бы VBox сделал этот конкретный вариант использования полностью основанным на GUI, но, по крайней мере, это возможно. Несмотря на это, теперь TimeMachine копирует только разностный диск, который значительно меньше, чем образ базового диска.

0

Sid ...

Наконец-то я смог преобразовать мой файл Windows XP Pro .vdi размером 10 ГБ в набор файлов +/- 2 ГБ .vmdk.

Я надеялся, что любые изменения, которые я внесу в Windows, будут ограничены небольшим количеством файлов .vmdk, так что Time Machine создаст резервную копию небольшого количества фрагментов .vmdk размером 2 ГБ.

Не совсем получилось. Похоже, что когда я загружаю виртуальную машину Windows XP, любые изменения, которые я делаю - независимо от того, насколько они малы - в конечном итоге изменяют "измененную" дату / время ВСЕХ файлов .vmdk ...

... что означает, что Time Machine выполняет резервное копирование всего 10 ГБ - как и прежде.

Я что-то пропустил? Казалось, что это было бы решением для создания виртуальной машины, удобной для машины времени ... может быть, не так много?

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