Содержание:
Моментальный снимок | Snapshot
Дата публикации: 1 июня 2020 г.

* * *
Моментальный снимок (Snapshot) – это моментальная копия диска (тома/раздела) физических или виртуальных систем на блочном уровне. Выполняется (на горячую) без остановки системных служб, включает в себя структуру файловой системы, а так же данные о состоянии системы на заданные момент времени. Snapshot не является резервной копией, применяется как временный источник для создания согласованных резервных копий. Snapshots применяют в резервном копировании баз данных или файловых систем большого объема, работающих в непрерывном режиме 24 на 7.
Плюсы /преимущества моментальных снимков (snapshots)
- Высокая производительность, с минимальным влиянием на работу пользователей с данными
- Резервные копии, созданные на основе моментальных снимков позволяют выполнить полное восстановление системы
Минусы / недостатки моментальных снимков (snapshots)
- Не является полноценной резервной копией
- Имеет ограничения для некоторых приложений и баз данных
- Большое количество моментальных снимков может замедлить работу системы
- Необходимость выделения места на диске для временного хранения
* * *
СОЗДАНИЕ МОМЕНТАЛЬНЫХ СНИМКОВ (CREATE SNAPSHOT)
В зависимости от источника хранения данных (файловая система, менеджер дисков/томов или дисковый массив) для создания моментальных снимков применяют алгоритмы «Копирования при записи» (Copy-on-write) или «Перенаправления при записи» (Redirect-on-write), другое название «Зеркальный снимок».
Типичный процесс создания моментальных снимков файловой системы состоит из следующих этапов:
- Сбор метаданных и подготовка к созданию теневой копии (завершение транзакции и очистка кэша)
- Временная остановка (заморозка) запросов на запись операций ввода-вывода в файловую систему. Перевод в состояние только чтение.
-
Создание и запись теневой копии в хранилище
- На том же томе для Copy-on-write
- На другом томе для Redirect-on-write
- Возобновление (разморозка) запросов на запись операций ввода-вывода в файловую систему (возобновление записи приложениями данных на жесткий диск).
В процессе создания снапшота важную роль играет поставщик моментальных снимков (Snapshots Provider). В зависимости от инициатора, поставщиков делят на Hardware и Software Provider.
* * *
SNAPSHOT PROVIDER
Hardware Provider это утилита в составе системы хранения данных, которая выступает инициатором создания снимка от имени поставщик оборудования. Каждый поставщик систем хранения в составе утилит по управлению данными имеет свой собственный Hardware Provider (NetApp Data ONTAP, HPE RMC, EMC Unisphere и др.). Hardware Provide является посредником между службой теневого копирования томов (VSS) и «железом», работая в связке с сетевым адаптером и контроллером хранения данных. Таким образом, нагрузка по созданию и поддержке теневой копии лежит не на хосте, а на системе хранения данных.
В случаи программного снимка (Software Provider) программа-инициатор на системном уровне перехватывает запросы чтения / записи для операций ввода / вывода между файловой системой и менеджером томов.
Так как Software Provider создают теневые копии на уровне операционной системы, это является более универсальным методом, не зависимым от аппаратного обеспечения.
* * *
SNAPSHOT WINDOWS
В Windows роль Software Provider, выполняет встроенная служба теневого копирования VSS (Volume Shadow Copy Service). VSS по умолчанию встроена в систему Windows и отвечает за создание моментальных снимков на уровне файловой системы NTFS, применяя метод «Копирования при записи» (Copy-on-write). VSS используется, как для физических систем, так и для виртуальных машин Hyper-V, включая файлы конфигурации виртуальных машин, состояние системы (system snapshot) и виртуальные жесткие диски (VHD). Как правило, большинство программ/систем резервного копирования используют именно службу VSS для создания своих резервных копий в Windows. Так же применение технологии Changed Block Tracking (CBT) позволяет отслеживать изменения блоков и создавать снимки, включающие в себя только измененные данные.
* * *
SNAPSHOT LINUX
В Linux системах роль Software Provider и поставщика моментальных снимков в зависимости от типа файловой системы (EXT, JFS, ReiserFS, XFS, Btrfs), как правило, выполняет служба Logical Volume Manager (LVM) или специальные модули ядра Linux (Samba и др.).
* * *
SNAPSHOT VMWARE
В VMware в качестве Software Provider моментальных снимков виртуальных машин отвечает диспетчер снимков (VMware Snapshot Provider). Моментальный снимок включает в себя информацию о состояние виртуальной машины, а так же все данные, хранящиеся на диске, в оперативной памяти и виртуальных устройствах. Для создания Snapshots в VMware применяется метод «Перенаправления при записи» (Redirect-on-write).
Моментальный снимок состоит из исходного виртуального диска *.vmdk и журнала изменений *delta.vmdk (*sesparse.vmdk, если объем виртуального диска более 2 Тб), а так же служебных файлов *.vmsd и *.vmsn.