hostprofi.ru
Подобрать хостинг
Термин·буква S

Snapshot (снапшот)

краткое определение

Snapshot (снапшот) — моментальная копия состояния виртуальной машины или диска в конкретный момент времени, позволяющая откатить VM к этому состоянию при необходимости.

Snapshot (снапшот) — технология фиксации состояния виртуальной машины или диска: конфигурации, содержимого оперативной памяти и состояния дисков в конкретный момент времени. После создания снапшота все изменения записываются в отдельный файл (overlay/delta), а базовый образ остаётся нетронутым. При откате — overlay отбрасывается, VM возвращается в зафиксированное состояние за секунды. Снапшот обязателен перед любым рискованным обновлением ПО или ядра.

Как работает snapshot

Механизм снапшота зависит от гипервизора. В KVM с qcow2-дисками: базовый образ замораживается (становится read-only), новые записи идут в overlay-файл (qcow2-overlay, также называемый backing-store цепочкой). Снапшот растёт по мере изменений — пустой снапшот занимает 0 байт, через неделю работы — несколько ГБ.

В VMware ESXi: создаётся delta-диск (vmname-000001-delta.vmdk) и файл состояния памяти (.vmsn), если выбрать «включить состояние памяти». Цепочка снапшотов — каждый следующий ссылается на предыдущий. При откате на снапшот 5-дневной давности все изменения с момента его создания теряются.

Proxmox VE создаёт снапшоты VM одним кликом: сохраняет состояние RAM (опционально) и создаёт qcow2/ZFS-снапшот диска. ZFS и LVM предоставляют снапшоты на уровне файловой системы/блочного устройства — мгновенно и с overhead менее 1% производительности.

Снапшот vs резервная копия

ПараметрSnapshotBackup (бэкап)
Скорость созданияСекундыМинуты–часы
Независимость от исходного дискаНет (зависит от базы)Да (полная копия)
Защита от потери физического дискаНетДа (если offsite)
НазначениеОткат перед обновлением ПОДолгосрочное хранение и DR
Место храненияТот же диск / datastoreОтдельное хранилище

История

Снапшоты дисков появились в VMware Workstation 4 в 2003 году — возможность «отмотать» VM назад произвела революцию для тестировщиков. ZFS (2006, Sun Microsystems) и LVM реализовали снапшоты на уровне хранилища с мгновенным созданием. В Proxmox VE снапшоты VM через GUI доступны с версии 1.0 (2008). В облачных провайдерах снапшоты дисков (AWS EBS Snapshot, Hetzner Volume Snapshot, Yandex Cloud Disk Snapshot) — стандартная платная функция с 2008 года. Virtuozzo поддерживает снапшоты как CT, так и KVM-VM.

Практические рекомендации

Снапшоты не заменяют резервные копии: если физический диск сервера выйдет из строя, снапшоты на нём тоже потеряются. Накопленные снапшоты (10+) замедляют I/O из-за цепочки delta-файлов. Перед обновлением ядра Linux или СУБД — создай снапшот, после успешной проверки через 24 часа — удали. Для долгосрочного хранения конвертируй снапшот в full-backup: virsh snapshot-dumpxml --snapshotname snap1 vmname.

Снапшоты в облачных провайдерах

У облачных провайдеров снапшот диска — отдельная платная функция. AWS EBS Snapshot: первый снапшот — полная копия, последующие инкрементальные, хранятся в S3. Hetzner Cloud Snapshot — фиксированная цена €0,0119/ГБ/месяц. Yandex Cloud Disk Snapshot — по факту использования. Для автоматизации регулярных снапшотов используют lifecycle policies (AWS) или cron + провайдерское API. Снапшоты дисков в облаке не останавливают VM — они последовательно-консистентны, но не crash-consistent для баз данных. Для БД перед снапшотом нужно либо flush + lock tables, либо использовать специализированные инструменты (бэкап БД).

Правило 3-2-1 применимо и к снапшотам: 3 копии, 2 носителя, 1 — offsite.

Другие термины