Освободите пространство в дифференциальном VHD
-
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-файл, прикрепить его в качестве дополнительного диска и переместить сюда свой файл, поскольку любой файл ввода-вывода записывается на диск разности или отмены.