Назад | Перейти на главную страницу

Подробное объяснение того, как работают снимки состояния виртуальных машин

Я хотел бы полностью понять, как работают снимки виртуальных машин. Хотя я исследовал эту тему, я не могу найти «высокоуровневого» обзора того, как на практике работают снимки. Мои вопросы:

Пример сценария: у меня есть хост Ubuntu 12.04, на котором работает KVM с гостевой системой Ubuntu. Виртуальная машина находится в формате RAW. Я сделал снимок с помощью virsh команда

  1. Является ли полученный файл (снимок) загрузочным? Или это просто изменение данных, для которых необходимо использовать базовый образ?
  2. Как вернуться к предыдущему состоянию?
  3. Снижает ли длинная цепочка снимков производительность виртуальной машины? Если да, то почему?
  4. Как управлять снимками и удалять их?
  • Снимок является частью цепочки изображений и требует наличия всех снимков.
  • Вы можете загрузиться со снимка, но все предыдущие изображения также должны быть нетронутыми.
  • Наличие цепочки моментальных снимков снижает производительность. На высоконагруженных серверных виртуальных машинах вообще не должно быть снимков состояния.
  • Чтобы управлять снимками, вы просто стараетесь, чтобы цепочка была как можно короче / плоской. man qemu-img для технических деталей
  • Когда вы делаете снимок, создается новое пустое изображение. Когда вы читаете блок из изображения, вы фактически нажимаете указатель на предыдущий снимок в цепочке (и так далее по цепочке, пока не попадете в блок данных). Когда вы записываете снимок, указатель заменяется реальным блоком данных, и изображение снимка увеличивается на этот блок.

Чтобы лучше понять, начните Вот