Для любого из упомянутых ранее форматов (VDI, VMDK или VHD вне зависимости от вида образа: расширяемый или фиксированный), вы можете также указать как операции записи применяются к образу:
При normal образе (по умолчанию) не существует ограничений на операции чтения и записи на диск.
Когда вы делаете снимок состояния вашей виртуальной машины (см. Раздел 3.4.4, “Снимки состояний” ), состояние диска с параметром "normal жесткий диск" будет всегда сохранено в снимке и при возврате к снимку, его состояние будет полностью сброшено к состоянию снимка.
Когда вы подключаете "normal" образ к более чем одной виртуальной машине, то только одна из этих виртуальных машин может работать с этим файлом образа в одно и то же время, иначе не возможно было бы разрешить конфликты одновременной записи данных в образ. [ 15 ]
В отличии от него, immutable образ запоминает изменения файловой системы только во время работы виртуальной машины, все изменения файлов будут потеряны после закрытия ВМ.
В техническом плане, VirtualBox никогда не записывает прямо в образ immutable. Все операции записи из ВМ будут сохраняться в специальном разностном дисковом образе, который VirtualBox создает автоматически при запуске машины. При следующем запуске ВМ, разностный образ очищается и при при этом образ immutable всегда имеет одно и то же содержимое. [ 16 ]
Если автоматическое сбрасывание разностного образа, при старте ВМ вам не нужно, то вы можете его отключить используя параметр autoreset
в команде VBoxManage modifyhd
; подробности в Раздел 8.15, “VBoxManage modifyhd”.
Что касается снимков состояний, то создание их для immutable образов идентично созданию "normal" образов. Когда происходит возврат к снимку состояния immutable образа, то происходит полное восстановление состояния системы.
В отличие от "normal" образов, immutable образы могут использоваться в нескольких виртуальных машинах без ограничений.
Обычным методом вы не можете создать immutable образы, вместо этого во первых вы создаете "normal" образ и затем заполняете его нужным содержимым, а потом помечаете его как immutable используя команду VBoxManage modifyhd
; см. Раздел 8.15, “VBoxManage modifyhd” . В качестве альтернативы, используйте существующий образ "immutable" и команду VBoxManage openmedium
; см. Разде 8.12, “VBoxManage openmedium / closemedium” .
И наконец, write-through диски как и normal диски полностью поддерживают операции чтения и записи. Однако, их состояние не сохраняется при создании снимков и не не восстанавливается из них.
Для создания образов дисков в формате VDI в режиме "write-through", используется команда VBoxManage createhd
; см. раздел 8.14, “VBoxManage createhd” . Для преобразования существующего образа в write-through, используйте VBoxManage modifyhd
; см. Раздел 8.15, “VBoxManage modifyhd” .
Для иллюстрации отличий между разными типами образов рассмотрим работу со снимками состояний: предположим вы установили гостевую ОС в виртуальной машине и сделали ее снимок состояния. Представим что ваша ВМ была заражена вирусом и вы хотите вернуться к сохраненному ранее состоянию. Для normal образа диска, вы просто восстанавливаете состояние ВМ и предыдущее состояние вашего диска будет восстановлено (вирус буде удален). Для immutable диска, вне зависимости от снимка, все что нужно сделать так это перезапустить ВМ, изменения сделанные вирусом в файловой системы будут удалены. Для write-through образа однако, вы не можете просто удалить последствия действий вируса средствами виртуализации, вам необходимо будет лечить вашу виртуальную машину как реальный компьютер.
Использование write-though образов удобно, когда вы захотите сохранять важные данные вне зависимости от снимков состояний и вам необходимо использовать образ в нескольких ВМ: вы можете использовать один immutable диск для ОС, а другой write-through диск для файлов с данными.
[ 15 ] Эти ограничения менее жесткие, чем были до VirtualBox 2.2. Ранее требовалось, что каждый "normal" образ диска может подключаться только к одной виртуальной машине. Теперь возможно подключать к нескольким, но при этом только одна из них может работать.
[ 16 ] Это поведение было применено в VirtualBox 2.2. Ранее, разностные образы сбрасывались при завершении сессии ВМ ; теперь они сбрасываются при каждом запуске ВМ.