Снапшот

Снапшот — это моментальный снимок состояния файловой системы, базы данных или виртуальной машины в конкретный момент времени.

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

Механизм работы

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

Снапшоты применяются для:

  • Фиксации состояния перед обновлением ядра или БД;
  • Создания тестовых сред на базе актуальных данных;
  • Обеспечения консистентности при выполнении бэкапа.

Важно учитывать, что снапшоты в гипервизорах (например, ESXi или Proxmox) снижают производительность дисков при накоплении большой цепочки изменений. Снапшот не является независимой копией и требует наличия исходных данных.