В VirtualBox, слияние снимков и диска

У меня есть виртуальная машина с около 30 снимков в филиалы. Текущий путь разработки - 22 моментальных снимка плюс базовый диск. Количество файлов, по-видимому, оказывает влияние сейчас на IO и dev ноутбук, который я использую (не знаю, если это проблемы производительности хост-диска с общим размером 140 ГБ на большом количестве фрагментов, или просто тот факт, что он поражает сектора, распределенные по большому количеству файлов).

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

vboxmanage clonehd "C:VPC-Storage.VirtualBoxMachinesCRMSnapshots{245b27ac-e658-470a-b978-8e62137c33b1}.vhd" "E:crm-20100624.vhd" --format VHD --type normal

может кто-нибудь подтвердить, если это правильный подход или нет?

1
задан Henrik
08.03.2023 15:44 Количество просмотров материала 3426
Распечатать страницу

4 ответа

то, что вы хотите сделать, это в диалоговом окне снимки, выберите Родительский снимок, который вы хотите объединить все снимки впоследствии в один VDI.

из вашего описания это звучит так, как будто это корень дерева.

щелкните правой кнопкой мыши и выберите "удалить снимок".

Это будет делать то, что вы хотите --- он будет объединять все изменения из всех дочерних снимков в один VDI.

дополнительно-клонирование образа диска, который находится в последней snapshot-также будет объединять разностный диск с его родителем (и его родителем, и так далее, пока вы не доберетесь до "нормального" типа жесткого диска).

Я подозреваю, что "удаление снимка" запускает команду clonehd.

проверьте настройки виртуальной машины (в частности, IO APIC включен/выключен) и убедитесь, что они соответствуют.

7
отвечен Adam 2023-03-09 23:32

Если вы хотите сохранить один snaphot, сделать его текущего состояния и затем экспортировать ВМ & повторно импортировать его. Экспортированные устройства не сохраняют журнал моментальных снимков.

или вы могли бы использовать этоvboxmerge.py скрипт для обработки слияния для вас. Учитывая количество снимков, которые у вас есть, я бы ожидал, что цикл экспорта/импорта будет быстрее.

3
отвечен John Hart 2023-03-10 01:49

вот техника (проверена на VirtualBox 4.3.4), которая использует "клон" команда для объединения и сжатия всех моментальных снимков в новую виртуальную машину, содержащую один файл VDI:

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

  2. щелкните правой кнопкой мыши на виртуальной машине и запустите " клон... команда:

    • задайте имя исходного ВМ имя.
    • принять остальные значения по умолчанию, т. е. тип клона: "полный клон"; Снимки: "текущее состояние машины".
  3. удалить старую виртуальную машину (щелкните правой кнопкой мыши на виртуальной машине и запустите " удалить..." команда.)

2
отвечен Stuart Rackham 2023-03-10 04:06

если ваш хост является Windows, или вы можете получить доступ к файлам VHD из windows, есть трюк, чтобы объединить все изменения в родительский, grand-parent и т.д.

Он использует инструмент DiskPart и две команды:

select vdisk file="whatever your file is, with full path"

merge vdisk depth=#

где # - количество уровней иерархии, которые вы хотите переместить, 1 для dirent parent, 2 для grand parent и т.д.

Он делает это в месте, гораздо меньше времени, чем клонирование, и т. д.

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

пример:

Disk3.vhd является дочерним элементом Disk2.vhd, Disk2.vhd является дочерним элементом Disk1.виртуальный жесткий диск

если вы хотите на Disk1.vhd все изменения Disk3.vhd просто используйте depth=2 и выберите Disk3.VHD-файл. Если вы хотите на Disk1.vhd все изменения Disk2.vhd просто используйте depth=1 выберите Disk3.VHD-файл.

также помните, что есть нет необходимости в уродливых снимках VirtualBox, вы можете использовать команду DiskPart create vdisk для создания разностного диска из существующего (который также может быть разностным диском и т. д.), Также может создать огромное дерево.

для всех остальных: плакат использует VHD (не VDI), поэтому может использовать собственные инструменты, такие как DiskPart и Disk Managment, для доступа к этим дискам из гостевой системы (на хосте, если хост-Windows).

для вас, плакат: Не забудьте всегда иметь полную резервную копию до Слияние, VirtualBox клон не работает на месте, он создает новый файл (копировать при записи), но diskpart слияние работает на месте (изменить файл, не создавать новый).

надеюсь, что может дать еще один другой aproach, так как VHD/VHDX используется (не действует для VMDK, VDI и т.д., Только для хоста Windows).

Примечание. Windows 7 и выше, XP и Vista могут подключать VHD с помощью внешнего инструмента M$, но DiskPart не поддерживает VHD в XP и Vista... все это также работает в выпусках Windows HOME (7 и вверх), отсутствие потребности для варианта сервера.

0
отвечен Laura 2023-03-10 06:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх