Что такое снапшоты и в чем их отличие от бэкапов

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

Резервное копирование (backup, бэкап)

Начнем с резервного копирования (далее по тексту используется слово “бэкап” для краткости).

Что такое бэкап

Бэкап – это копия данных. Желательно, чтобы эта копия была расположена на другом физическом носителе, например, на другом диске или на другом сервере, который может находиться в другом дата-центре, в другой стране и так далее. 

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

Копировать можно:

  • файлы или группы файлов;
  • диски или разделы дисков;
  • образы виртуальных машин;
  • многое другое.

Виды резервного копирования

Полное резервное копирование

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

Инкрементальное и дифференциальное резервное копирование

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

При восстановлении из любой копии сначала восстанавливается полная копия, затем вносятся изменения из последующих бэкапов. Такой подход позволяет уменьшить занимаемое копиями дисковое пространство и в некоторых случаях увеличить скорость восстановления из этих бэкапов.

Инструменты резервного копирования

Во всех современных операционных системах есть встроенные инструменты создания бэкапов.

В Windows доступна программа Windows Backup and Restore (Архивация и Восстановление). Она позволяет как сбрасывать состояние системы до “нуля”, так и создавать бэкапы и снапшоты системы и, конечно же, восстанавливать систему из созданных копий.

Для UNIX-систем одной из самых популярных утилит для создания бэкапов файлов является rsync. Она обладает богатыми возможностями, включая инкрементное копирование, обновление всего дерева каталогов и файловой системы, как локальных, так и удаленных резервных копий, сохранение прав доступа к файлам и многое другое.

Бэкапы в Бегете

Бэкапы у нас доступны на виртуальном хостинге, VPS и выделенных серверах под нашим администрированием.

Виртуальный хостинг

Для виртуального хостинга доступны автоматические бэкапы и бэкапы по требованию. В обоих случаях создается полная резервная копия файлов и баз данных на аккаунте.

Автоматические бэкапы создаются с периодичностью в 2–4 дня, в зависимости от загруженности системы бэкапов. На каждом аккаунте создается от 10 копий, при достижении лимита новые копии заменяют старые. Копии хранятся на двух разных серверах в отдельном дата-центре. Логика выбора серверов для хранения копий учитывает множество факторов, но если упростить, то половина копий хранится на одном сервере, а вторая половина – на другом.

Backup по требованию – это та же самая полная резервная копия файлов и всех баз данных на аккаунте, но создается она по нажатию на кнопку в панели управления. Каждый бэкап по требованию хранится до его ручного удаления одновременно на двух разных серверах. Первый бэкап по требованию бесплатный, последующие копии – 2 р./сутки вне зависимости от объема хранения данных.

Обратите внимание!
В случае блокировки аккаунта из-за отсутствия средств на балансе бэкапы по требованию удаляются на 165 день блокировки, в момент перевода аккаунта на тариф “Парковка”.

VPS

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

Автоматические бэкапы VPS создаются бесплатно с периодичностью в 2–5 дней и хранятся в среднем около 10 дней, частота и количество зависят от загруженности системы бэкапов. Так же как и бэкапы для виртуального хостинга, они хранятся на отдельных серверах в другом дата-центре. В рамках автоматических бэкапов мы делаем файловые бэкапы пользовательских файлов, а не полную копию всей VPS. Системные файлы и наши утилиты для мониторинга и управления VPS из панели управления не попадают в бэкап. Автоматически созданные копии доступны в панели управления, в разделе “Backup”.

Список директорий, которые не копируются
/boot
/tmp
/vmlinuz
/vmlinuz.old
/initrd.img
/initrd.img.old
/lost+found
/proc
/dev
/run
/sys
/var/cache
/lib/systemd/system/svc-vps-guestagent.service
/usr/sbin/svc-vps-guestagent-supervisor
/usr/sbin/svc-vps-guestagent
swapfile

Что такое snapshot

Snapshot (снапшот) – это снимок состояния системы или виртуальной машины. 

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

Благодаря этому мы можем сделать снимок состояния всей VPS, скопировав файл этой VPS. На время создания снапшота все операции с диском (чтение и запись) приостанавливаются, так как в процессе создания снапшота состояние виртуальной машины не должно изменяться.

Снапшоты в Бегете

У нас снапшоты доступны только для VPS, в панели управления, в разделе “Снапшоты”.

Мы используем снапшоты для создания полных копий VPS со всеми данными и состоянием, чтобы была возможность безопасного полного восстановления VPS или для создания ее копии.

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

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

Снапшоты хранятся на отдельном сервере в отдельном дата-центре до ручного удаления, т. е. могут храниться вечно, стоимость каждого снапшота – 5 р./гигабайт в месяц.

Обратите внимание!
В случае блокировки аккаунта из-за отсутствия средств на балансе снапшоты удаляются на 9 день блокировки.

Итог

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

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

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

Если возникнут вопросы, касающиеся бэкапов или снапшотов, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.

12
5613