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

Snapshot

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

Снапшот (snapshot) — мгновенный «снимок» состояния виртуальной машины, диска или файловой системы в определённый момент времени. Создаётся почти без задержки через механизм Copy-on-Write и позволяет откатиться к сохранённому состоянию.

Снапшот (snapshot) — консистентная точка восстановления, фиксирующая состояние данных на конкретный момент времени. В отличие от полного резервного копирования, снапшот создаётся мгновенно (секунды) за счёт механизма COW (Copy-on-Write): исходные блоки данных не копируются немедленно, а помечаются; новые записи идут в отдельную область, оригинальные блоки сохраняются при первом изменении.

Как работает COW-снапшот

При создании снапшота файловая система или гипервизор:

  1. Фиксирует метаданные о текущем состоянии блоков (без физического копирования)
  2. При записи нового данных в основную область — сначала копирует оригинальный блок в область снапшота, затем записывает новые данные
  3. Снапшот хранит только изменённые блоки, что минимизирует дисковое пространство

Системы, реализующие снапшоты на уровне файловой системы: ZFS (самая продвинутая реализация — снапшоты атомарны и мгновенны), LVM (Logical Volume Manager в Linux), Btrfs. На уровне гипервизора: VMware vSphere (VMDK-снапшоты), KVM/QEMU (qcow2 snapshots), Proxmox.

История

Механизм COW для снапшотов впервые реализовала файловая система AFS в конце 1980-х. Снапшоты LVM появились в Linux около 2001 года. ZFS с нативными снапшотами представила Sun Microsystems в 2001 году (публичный релиз — 2004). VMware внедрила снапшоты виртуальных машин в vSphere 4.0 (2009). AWS EBS Snapshots (2009) сделали снапшоты стандартным инструментом облачных операций.

Снапшот vs бэкап

ПараметрСнапшотБэкап
Скорость созданияСекундыМинуты–часы
ХранениеТот же носительВнешнее хранилище
Защита от отказа дискаНетДа
ВосстановлениеМгновенноМинуты–часы
Цена храненияДорого (тот же SSD)Дёшево (S3, лента)

Применение на VPS и выделенных серверах

Хостинг-провайдеры (Hetzner, DigitalOcean, Timeweb) предлагают снапшоты VPS через API или панель управления. Hetzner: снапшот VPS стоит 20% от цены сервера в месяц за хранение. DigitalOcean: $0,05/ГБ/мес. Снапшоты у провайдера — удобный способ зафиксировать состояние перед рискованными изменениями (обновление ОС, миграция приложений). Критически важно: снапшоты провайдера не заменяют бэкап в стороннем хранилище — при отказе всего датацентра снапшоты теряются вместе с данными.

Как работают снапшоты технически

Copy-on-Write (CoW) — основной механизм снапшотов. При создании снапшота система не копирует данные немедленно — только записывает ссылку на текущее состояние. При первой записи в оригинальный блок система сначала сохраняет старую версию блока в снапшот, затем записывает новые данные. Снапшот растёт только по мере изменения данных.

LVM снапшоты в Linux: lvcreate -L10G -s -n snap /dev/vg0/lv0 создаёт снапшот с резервным пространством 10 ГБ. Пока изменения данных не превысят 10 ГБ, снапшот остаётся актуальным. ZFS реализует снапшоты на уровне файловой системы: zfs snapshot pool/dataset@snap1 — мгновенная операция.

Снапшоты в виртуализации

В KVM/QEMU снапшоты виртуальных машин работают через qcow2-формат дисков, который нативно поддерживает CoW-снапшоты. Команда: virsh snapshot-create-as vm1 snap1. Гипервизор VMware использует термин «checkpoint» (до vSphere 6) и «snapshot» — механизм тот же.

В облачных провайдерах снапшот EBS (Amazon) или диска DigitalOcean/Hetzner — это инкрементальная резервная копия блочного устройства. Первый снапшот — полная копия диска, последующие — только изменившиеся блоки. Стоимость рассчитывается по суммарному объёму изменений, не по размеру диска.

Снапшот vs бэкап: ключевое отличие

Снапшот — не замена бэкапу. Снапшот хранится на том же физическом хранилище, что и оригинальные данные. При отказе дискового массива теряются и данные, и все снапшоты. Бэкап хранится независимо — на другом носителе или в другом дата-центре. Снапшоты подходят для быстрого отката после обновления; бэкапы — для восстановления после катастрофы.

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