Освободите пространство в дифференциальном VHD

StackOverflow https://stackoverflow.com/questions/698222

  •  22-08-2019
  •  | 
  •  

Вопрос

http://www.petri.co.il/virtual_creating_differencing_disks_with.htm

Я выполнил эти шаги, чтобы создать "Отличающиеся диски" демонстрационного VHD WSSv3 от Microsoft.Что ж, прошло некоторое время, я забыл, что это был "разностный" диск, и после дефрагментации VUD (виртуальный диск отмены) расширился, чтобы занять оставшееся свободное место на моем жестком диске.

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

Спасибо

[Обновление]

К сожалению, в истории изменений, похоже, сохраняются все изменения в файле, даже фрагментация файла (почему).

org -> verA -> verB -> verC -> verD -> verE -> current.

Было бы неплохо использовать инструмент для сворачивания дерева истории во что-то вроде org -> текущий и удалите / проигнорируйте историю изменений между ними, а также дефрагментируйте журнал изменений для оптимизации.

[Обновление#2]

Во-первых, извините за продолжение моих вопросов

Во-вторых, возможно ли уменьшить дифференциальный диск, объединив его с дифференциальным родительским диском.

Base.VHD
 -> Child.VHD (Differential)
   -> Grandchild.VHD (Differential)

При слиянии Внука с Дочерним элементом размер был бы [Размер дочернего элемента] + [Размер внука] или это было бы что-то вроде [Размер дочернего элемента] + [Размер фактических различий в файлах в Grandchild]?

Еще раз спасибо.

Это было полезно?

Решение

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

Я думаю, вам придется либо зафиксировать изменения на исходном VHD-диске, либо выбросить все изменения.

Другие советы

Спасибо, Грант, вы правы, и я застрял с раздутым VHD для слияния, но каким-то образом умудрился все испортить и потерял изменения.

Вот что еще я нашел.

http://www.invirtus.com/blog/?p=7

Это отличная статья, объясняющая, почему различия настолько велики.По-видимому, каждый байт записывается в свой собственный 512-байтовый сектор, занимающий тонны места.

http://www.invirtus.com/downloads/Differencing_Disk_Discussion.ppt

В этой презентации объясняется, как использовать сжатие диска при хранении дисков с различиями и что диски с отменой использования занимают меньше места.Короче говоря, поместив ваш differencing VHD или VUD в сжатую папку NTFS, вы сэкономите массу места.

[Пример]

Я создал разностный диск для образа WSSv3 от Microsoft (5 ГБ), загрузил его и установил программное обеспечение.Только что обработанная загрузка добавила 300 МБ к VHD, установка TortoiseSVN (20 МБ) добавила 200 МБ, а установка WSPBuilderExtensions (800 КБ) добавила 1 ГБ к VHD.

Конечным результатом стала разница в 1,5 ГБ по сравнению с установкой 21 МБ.Я объединил его с базовым, и в результате к родительскому было добавлено только 29 МБ.

Затем я создал другой дифференциальный VHD-файл внутри сжатой папки NTFS, запустил его и создал новое веб-приложение WSS через Central Admin.Размер файла подскочил до 900 МБ, но из-за сжатия NTFS в файловой системе осталось всего 90 МБ.Затем я создал VUD, переименовал в VHD и выполнил то же действие.Размер файла увеличился до 300 МБ, что привело к увеличению объема файловой системы на 12 МБ.

Так что да, дифференциальный VHD крайне неэффективен и ни в чем не уступает ему по интеллекту, но раздувание обеспечивает некоторое хорошее сжатие.

Для разработки вам также следует создать новый VHD-файл, прикрепить его в качестве дополнительного диска и переместить сюда свой файл, поскольку любой файл ввода-вывода записывается на диск разности или отмены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top