Virtualbox: Как объединить текущее состояние (снимок) с образом диска

Вы могли бы хотеть сохранить pid на запуске в .pid файле в/var/run где-нибудь.. затем используйте killproc-p изодромное с предварением имя

Это должно уничтожить его

4
задан 25 July 2012 в 12:30
2 ответа

Нет до GRML не является текущим состоянием. Это состояние машины на момент времени, когда вы сделали снимок.

VirtualBox действительно не интуитивно понятен с именами команд снимков, если вы хотите объединить текущее состояние, вы должны удалить снимок.

Из их руководства ( http://www.virtualbox.org/manual/ch08.html#idp15412176 ):

Операция удаления удаляет снимок (указанный по имени или UUID). Это может занять некоторое время, так как разностные изображения связанные со снимком, возможно, потребуется объединить с их дочерним разностные изображения.

Чтобы вернуть к состоянию снимка, используйте операцию восстановить :

Операция восстановления восстановит данный снимок (задано имя или UUID), сбросив настройки виртуальной машины и текущее состояние к состоянию снимка. Предыдущее текущее состояние машина будет потеряна. После этого данный снимок становится новый «текущий» снимок, чтобы последующие снимки вставлялись под снимок с которого был восстановлен.

12
ответ дан 3 December 2019 в 02:22

Другой способ привести виртуальный диск в состояние определенного моментального снимка - это клонировать этот виртуальный диск с помощью VBoxManage.

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

Клонирование ... TheNameOfVirtualDisk ... дает вам все предыдущие состояния, объединенные с новым, при этом позволяя нетронутые все снимки.

Затем вы можете протестировать на новой машине этот новый диск и посмотреть, является ли он тем, что вы хотите, и работает ли он.

Таким образом, если что-то пойдет не так, вы ничего не потеряете кроме некоторого времени.

Не говоря уже о том, что если вы хотите избавиться только от снимка в середине дерева снимков ... это БОЛЬ, терминология, которую использует VBox, заставляет многих запутаться.

Но, думая таким образом, вы исправите терминологию: удаление снимка не теряет ничего, кроме этого момента времени (внутренне оно объединяет это состояние во все e childs)

Позвольте мне объяснить более сложным примером. У вас есть верхний уровень с двумя дочерними элементами, у одного из которых также есть два дочерних элемента, а у другого - три дочерних элемента. Верхний уровень - A (один узел), второй уровень - B (два узла), третий уровень - C (пять узлов), поэтому дерево выглядит следующим образом:

  • A1
  • A1 - B1
  • A1 - B1 - C1
  • A1 - B1 - C2
  • A1 - B2
  • A1 - B2 - C3
  • A1 - B2 - C4
  • A1 - B2 - C5

Представьте, что теперь вы хотите избавиться от B1, то при удалении B1 разностный диск необходимо объединить с C1 и C2, поэтому C1 и C2 будут потомками A1; это не так просто, как удаление одного файла; этот VirtualBOX называет это УДАЛИТЬ снимок B1.

Теперь приходит другой способ желания: хотите потерять состояния после точки, позвольте мне увидеть это дерево, я хочу избавиться от B2 и всех его дочерних элементов, так что там больше не является частью B2 в дереве (подразумевает удаление всех уровней его дочерних элементов), поэтому сделать это будет очень быстро, нужно только удалить некоторые файлы (C3, C4, C5 и B2); это невозможно сделать в VirtualBOX, что VirtualBOX вызывает RESTORE, чтобы избавиться от C1, C2 и C3, но не от B2 ... вам необходимо вручную отредактировать файл .VBOX и выполнить эту работу вручную.Если вы восстановите A1, чтобы избавиться от B2, вы также потеряете B1, C1 и C2 в процессе.

Так что будьте уверены, что вы делаете!

Да, VirtualBOX позволяет вам избавиться от B2 и всех его дочерних элементов. , но не за один шаг, вам нужно два шага:

  1. Восстановить B2, чтобы все дочерние элементы были удалены, а их файлы удалены
  2. Удалить B2, чтобы сам B2 был удален, а его файлы удалены

Надеюсь, теперь он может будьте немного ясны ... многие люди в Интернете говорят о потере всей своей работы из-за ВОССТАНОВЛЕНИЯ A1, пытаясь УДАЛИТЬ B2.

Если бы условия были УДАЛИТЬ и УНИЧТОЖИТЬ, это не вызвало бы такой путаницы.

] REMOVE узел - это избавиться от этого узла, не касаясь остальных (если у него есть дочерние элементы, объединить состояние на всех из них, если не просто удалить состояние). DESTROY узла - это избавиться от узла и всех его дочерних элементов (просто удалите состояние и все дочерние состояния).

Я не понимаю, почему VBox говорит о ВОССТАНОВЛЕНИИ, когда говорит о снимках, что вводит много недоразумений.

4
ответ дан 3 December 2019 в 02:22

Теги

Похожие вопросы