Облачные сервисы
Managed IT
Системная интеграция
Security
Импортозамещение
Партнерам
О компании

SnapShot

Что такое снапшот

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

Суть технологии

Когда создаётся снапшот, фиксируется текущее состояние метаданных: где находятся блоки данных и какие версии считаются актуальными. После этого новые изменения продолжают записываться в обычном порядке, но механизм copy-on-write или redirect-on-write сохраняет ссылки на изменяемые блоки и ведёт учёт их новых версий. Благодаря этому при восстановлении система просто возвращает указатели к состоянию, зафиксированному в момент создания снимка.

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

Технология снапшотов особенно важна для современных ИТ-инфраструктур, где требуется обеспечить непрерывность бизнеса при минимальном времени простоя. Снапшот позволяет создать точку восстановления буквально за секунды, в то время как полное резервное копирование может занимать часы.

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

Системы хранения данных NetApp

Если появится необходимость в возвращении виртуальной машины или файла в исходное состояние, то нужно лишь удалить файлы с изменениями, продолжив использовать диск с момента, когда был сделан снимок.

Когда стоит делать снапшоты

Снапшот и резервная копия — в чём разница

Снапшот фиксирует состояние системы в определённый момент времени. Это быстрый и удобный инструмент, который позволяет буквально за секунды создать точку восстановления. Он хранит только изменения после создания снимка и потому почти не занимает места, а откат к сохранённому состоянию выполняется практически мгновенно.

Резервная копия устроена иначе. Это полноценная копия всех данных, которая может храниться как на внешних носителях, так и в облаке. Её создание занимает больше времени, а восстановление требует дополнительных шагов. Однако именно резервная копия обеспечивает надёжную защиту от аппаратных сбоев и катастрофических потерь, ведь данные существуют независимо от исходной системы.

Таким образом, снапшот удобен для быстрых откатов и тестирования, а резервное копирование — для долгосрочного хранения и защиты. Эти технологии не заменяют, а дополняют друг друга: снапшот решает задачи оперативного восстановления, а резервная копия — гарантирует сохранность информации на длительном горизонте.

Недостатки снапшотов

Несмотря на удобство, у снапшотов есть свои ограничения. Хранение большого количества снимков может замедлять работу системы: каждая новая точка увеличивает нагрузку на операции чтения и записи. Кроме того, хотя снапшот создаётся почти мгновенно и занимает немного места, при активной работе с данными его объём начинает быстро расти, так как нужно хранить все изменения.

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

Управление большим числом снапшотов также требует дисциплины. Если не удалять устаревшие точки восстановления, они постепенно «засоряют» систему и занимают всё больше пространства. В некоторых случаях возникает и проблема производительности: множественные снимки приводят к фрагментации данных, что снижает эффективность работы системы хранения.

Наконец, не все приложения корректно работают со снапшотами. Особенно это касается баз данных и систем, где активно ведутся транзакции: несогласованность данных может сделать восстановление проблематичным. В результате снапшоты удобны как инструмент быстрой страховки и отката, но они требуют грамотного планирования и всегда должны использоваться вместе с классическим резервным копированием.

Варианты создания снапшотов

Снапшоты могут создаваться различными способами в зависимости от платформы и уровня реализации.

CREATE SNAPSHOT

Один из базовых подходов — использование команды CREATE SNAPSHOT, при которой применяются алгоритмы Copy-on-write или Redirect-on-write. Эти методы позволяют зафиксировать текущее состояние данных без необходимости их полного копирования, что делает процесс быстрым и эффективным.

SNAPSHOT PROVIDER

На аппаратном уровне снапшоты формируются средствами систем хранения, таких как NetApp или EMC. В этом случае фиксация состояния происходит непосредственно в контроллерах хранения, что обеспечивает высокую производительность, масштабируемость и снижает нагрузку на операционную систему. Программные решения реализуются на уровне операционной системы. Такие провайдеры перехватывают операции записи между файловой системой и томом, позволяя создавать снапшоты без вмешательства в работу приложений.

SNAPSHOT WINDOWS

В Windows используется встроенная служба теневого копирования томов (Volume Shadow Copy Service, VSS), которая позволяет создавать согласованные снимки как на физических серверах, так и в виртуальных средах. VSS координирует работу приложений, операционной системы и оборудования для создания консистентных снапшотов даже во время активной работы системы.

SNAPSHOT LINUX (LVM)

Аналогичный функционал в Linux реализован через Logical Volume Manager (LVM), поддерживающий разнообразные файловые системы, включая EXT, XFS и Btrfs. LVM позволяет создавать снапшоты логических томов и управлять ими через командную строку с помощью утилит lvcreate, lvremove и других.

SNAPSHOT VMWARE

Для виртуальных машин, например в VMware, снапшоты создаются с помощью встроенных инструментов платформы. Такие снимки фиксируют не только содержимое диска, но и состояние оперативной памяти, а также конфигурацию виртуальных устройств, что позволяет полностью восстановить машину в момент создания снапшота. VMware снапшоты поддерживают функции linked clones и позволяют создавать цепочки снимков для более гибкого управления версиями виртуальных машин.

Как это выглядит

Представьте временную шкалу с отметками — каждый снапшот — это точка, к которой можно вернуться. Все изменения после точки — отдельно. Это помогает понять, где вы были и куда можно вернуться.

Кратко: SnapShot — это способ быстро сохранить и при необходимости вернуть систему в нужное состояние. Отличный инструмент для тестирования и быстрого восстановления, но всё же не альтернатива настоящей резервной копии.

Снапшоты файловых систем и виртуальных машин

Виртуальная машина представляет собой файл с данными, которые включают содержимое виртуального жесткого диска, ОЗУ, регистров процессора и описание конфигурации виртуальной машины на языке, понятном для гипервизора.

Поэтому с виртуальной машиной можно делать все то же, что и с файловыми системами, в том числе создавать их копии-снимки (снапшоты). Как только такая копия будет создана, она запишется на жесткий диск.

А все последующие изменения в виртуальной машине или файловой системе будут записываться в другой файл, и вся дальнейшая работа будет сводиться к изменению именно этого файла.

Если же спустя некоторое время создать еще один снимок, то будет создан новый файл, в котором останутся записаны все изменения. И всегда есть возможность вернуться назад к конкретному снапшоту.

Особенности

Технология создания снапшотов имеет следующие особенности:

И пусть SnapShot многие называют одним из видов резервного копирования, снимки файловых систем нельзя назвать полноценным бэкапом, так как они содержат лишь истории изменений файлов.