Вы правы, полагая, что файл .vdi
является файлом образа виртуального диска и что они используются для создания снимков.
При создании снимка создается новый файл .vdi
, в котором сохраняется отличие от снимка. Это называется "разностным хранилищем".
Технически, снимок записывает все состояние виртуальной машины, которое включает все подключенные диски, однако большинство людей также используют это слово как синоним «дельта-изображения», "разностного изображения" или "дочернего образа" при обсуждении роли отдельного VDI. в цепочке снимков, кроме базового VDI. Источник
После создания моментального снимка VirtualBox создает разностный жесткий диск для каждого обычного жесткого диска, связанного с машиной, чтобы при восстановлении моментального снимка содержимое виртуальных жестких дисков виртуальной машины можно было быстро сбросить, просто отбросив существующую разность. файлы. Источник
Вы можете представить себе, как это может быть полезно, когда вам нужно создать несколько "ветвей" из одного снимка - VDI каждого снимка будет содержать только различия, добавленные этим снимком, а не все, что существует в базовом VDI. Например, рассмотрим базовый диск (снимок) с 50 ГБ файлов и несколькими дочерними снимками, каждый из которых добавляет 10 ГБ уникальных данных. Каждый дочерний VDI будет иметь настолько большой размер, насколько необходимо для хранения своих 10 ГБ данных, а не 50 ГБ с базового диска.
Если вы откроете Virtual Media Manager (« Файл» → « Virtual Media Manager» в Windows), вы можете просмотреть древовидное представление ваших виртуальных жестких дисков на вкладке "Жесткие диски". Здесь вы можете увидеть диски и их детей. Нажатие на диск покажет его информацию.
Например, у меня есть диск, информация которого отображается:
Foo.vdi
Тип: Нормальный
Расположение: C:\VirtualBox VMs \Foo \Foo.vdi
Сведения о хранилище: динамически выделяемое хранилище
Прилагается к: Foo (Бар)
Информация его дальнего потомка:
{Bbbbbbbbbbbb-BBBBBBBB-bbbbbbbbbbbb} .vdi
Тип: дифференциал
Расположение: C:\VirtualBox VMs\Foo\Snapshots\{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb} .vdi
Сведения о хранилище: динамически распределяемое разностное хранилище
Прилагается к: Foo
В этом примере "Foo" - это имя виртуальной машины, а "Bar" - имя первого снимка. «{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}» - это UUID последнего диска.
Файл .vbox
виртуальной машины содержит документ XML, описывающий виртуальную машину , включая ее снимки. Узел VirtualBox
содержит дочерний узел Machine
, который может содержать узлы Snapshot
. stateFile
на этом узле указывает файл .sav
связанный с этим снимком, если таковой имеется.
Файл .sav
по сути является дампом памяти, хотя другая информация о процессоре (например, регистры), вероятно, также сохраняется. Источник
Странно, но он также говорит, что файлы .sav
не имеют ничего общего со снимками, что неверно.
Файл .sav
всегда содержит полное состояние гостя в определенный момент времени. Он не содержит никакой информации, хранящейся на внешних устройствах, таких как виртуальные диски. Когда создается моментальный снимок, создается файл .sav
содержащий состояние виртуальной машины, которое требуется для восстановления гостевого состояния за это время, и для каждого виртуального диска создается новый дифференциальный образ диска (который не подключен в каком-либо специальном режиме, чтобы предотвратить тот).
Отныне запросы на запись гостевого диска переходят в дифференциальный образ. При восстановлении снимка разностный образ удаляется, поэтому все изменения на диске после создания снимка теряются. Источник
Чтобы напрямую ответить на ваши вопросы:
[...] SAV используется для текущего состояния. Это правда?
Когда состояние машины сохраняется, текущее состояние в это время сохраняется в файле .sav
.
[...] у нас должен быть только один файл SAV (поскольку для виртуальной машины будет только одно текущее состояние)
Конечно, существует только одно текущее состояние, но файлы .sav
созданные с помощью моментального снимка, содержат предыдущие состояния.
[...] Я нашел 2 SAV (и 2 VDI) файла. Это нормально [...]?
Снимок представлен одним из каждого типа?
Это нормально. Я предполагаю, что возможно иметь несколько снимков без файлов .sav
если снимки были сделаны, когда виртуальная машина не работала, так как нет состояния выполнения (энергозависимого), которое нужно сохранить. Если ваша машина работает, когда вы делаете снимок, создается файл .sav
.
Так в чем же разница между SAV и VDI?
Файл .vdi
представляет собой виртуальный диск, содержащий постоянное хранилище. Файл .sav
содержит дамп изменчивой информации о состоянии, который позволяет возобновить состояние компьютера. Вместе они способствуют полному восстановлению состояния виртуальной машины, созданной с помощью моментального снимка.
Оба могут использоваться независимо друг от друга. Файлы .sav
также используются при закрытии виртуальной машины и сохранении ее состояния. Файлы .vdi
также можно использовать в качестве постоянного хранилища вне области моментальных снимков.