Подробное объяснение того, как работают снимки виртуальной машины
Я хотел бы полностью понять, как работают снимки виртуальной машины. Хотя я исследовал эту тему, я не могу найти общий обзор того, как снимки работают практически. Мои вопросы:
Пример сценария: У меня есть хост Ubuntu 12.04, на котором запущен KVM с гостем Ubuntu. Виртуальная машина в формате RAW. Я снимал это с помощью virsh
команда,
- Полученный файл (снимок) является загрузочным? Или просто изменить данные, которые требуют использования базового изображения?
- Как вернуться к предыдущему состоянию?
- Влияет ли наличие длинной цепочки снимков на производительность виртуальной машины? Если так, то почему?
- Как управлять снимками?
1 ответ
Решение
- Снимок является частью цепочки изображений и требует наличия всех снимков.
- Вы можете загрузиться со снимка, но вы также должны иметь все предыдущие изображения без изменений
- Наличие цепочки снимков снижает производительность. Высоконагруженные серверные виртуальные машины вообще не должны запускать моментальные снимки
- Чтобы управлять снимками, вы просто стараетесь сделать цепочку максимально короткой / ровной.
man qemu-img
для технических деталей - Когда вы делаете снимок, создается новое пустое изображение. Когда вы читаете блок из изображения, вы фактически нажимаете указатель на предыдущий снимок в цепочке (и так далее по цепочке, пока вы не натолкнетесь на блок данных). Когда вы записываете снимок, указатель заменяется реальным блоком данных, и изображение снимка увеличивается на этот блок.
Чтобы лучше понять, начните здесь