Снапшот VPS и бэкап: в чём разница и почему нужны оба
Снапшот — это мгновенный снимок всего диска сервера, который хранится у того же хостера и позволяет за минуту откатить VPS целиком. Бэкап — копия данных, которая лежит отдельно от сервера и из которой можно достать хоть один файл. Снапшот страхует от собственных ошибок при обновлениях, бэкап — от взлома, аварии и потери самого сервера, поэтому нужны оба. Ниже — таблица сравнения, что именно копировать на VPS, настройка за час и типичные ошибки.
«У нас есть бэкапы — хостер делает снапшоты». Эту фразу мы слышим от владельцев VPS постоянно, и почти всегда за ней следует неприятное открытие. Снапшот и бэкап — разные вещи, и они спасают от разных бед. Один без другого — половина защиты.
Что такое снапшот VPS
Снапшот — это снимок состояния диска сервера в конкретный момент. Делается за секунды, лежит рядом с самим сервером у хостера. Откатиться к нему — минута: сервер вернётся в точности в то состояние, в котором был при снимке.
Для чего он хорош: перед обновлением системы или крупными правками. Сделали снимок, обновили, что-то сломалось — откатились. Это страховка от собственных действий.
В чём его слабость. Снапшот хранится там же, где сервер, и на том же оборудовании. Авария дисков в дата-центре, ошибка хостера, блокировка аккаунта — и снимок пропадает вместе с сервером. Второе: откат снапшота возвращает весь сервер целиком. Если вы удалили один файл неделю назад, откат к старому снимку уничтожит заказы и правки за всю неделю.
Что такое бэкап VPS
Бэкап — это копия ваших данных, файлов и базы, которая лежит отдельно от сервера: в облачном хранилище, на другом сервере, в крайнем случае на вашем компьютере. Из него можно достать один файл или одну таблицу, не трогая всё остальное.
Он спасает в тех случаях, где снапшот бессилен: погиб сервер вместе с хостером, взломали и зашифровали всё, включая снимки, нужно восстановить один удалённый файл из прошлого месяца.
Реальный случай: у клиента взломали VPS и зашифровали данные, требуя выкуп. Снапшоты хостера тоже пострадали, потому что злоумышленник получил доступ к панели. Спасла ежедневная копия базы, которую мы выгружали в отдельное хранилище с ключом, к панели хостера не привязанным. Магазин восстановили за три часа, потеряв полдня заказов.
У хостеров встречается и третья услуга — автоматические бэкапы сервера по расписанию. Это копии всего диска, которые провайдер хранит отдельно от самого сервера. Они надёжнее снапшота, но остаются в том же аккаунте и у той же компании, поэтому независимую копию данных не заменяют.
Снапшот и бэкап: сравнение
| Критерий | Снапшот | Бэкап |
|---|---|---|
| Что сохраняет | Весь диск сервера целиком | Выбранные данные: база, файлы, настройки |
| Где хранится | У хостера, рядом с сервером | В отдельном хранилище, не связанном с сервером |
| Скорость создания | Секунды или минуты | От минут до часов — зависит от объёма |
| Скорость восстановления | Минуты, откат всего сервера | Дольше: нужно развернуть данные на сервере |
| Можно ли достать один файл | Нет, только откат целиком | Да |
| Глубина хранения | Обычно один или несколько последних снимков | Сколько настроите: дни, недели, месяцы |
| Переживёт аварию или блокировку у хостера | Нет | Да |
| Переживёт взлом панели хостера | Не всегда | Да, если доступ к хранилищу отдельный |
| Главное назначение | Быстрый откат после неудачных изменений | Восстановление после потери сервера или данных |
Что спасёт в какой ситуации
| Ситуация | Снапшот | Бэкап |
|---|---|---|
| Обновление системы или сайта сломало сервер | Да, откат за минуту | Да, но дольше |
| Случайно удалили папку час назад | Да, если есть свежий снимок и не жалко изменений после него | Да, можно вернуть только эту папку |
| Нужен файл или запись из базы месячной давности | Нет | Да, если копии хранятся месяц |
| Сервер взломали, данные зашифрованы | Не всегда: снимки могут пострадать | Да |
| Авария в дата-центре, диск сервера потерян | Нет | Да |
| Хостер заблокировал аккаунт или прекратил работу | Нет | Да |
| Нужно переехать к другому провайдеру | Нет, снимок привязан к хостеру | Да |
Что именно копировать на VPS
На виртуальном хостинге копии обычно делает хостер, а вы жмёте кнопку «восстановить». На VPS за данные отвечаете вы сами: без настроенного копирования его просто нет. Общие принципы — что, куда и как часто — мы разобрали в статье про резервное копирование сайта. Здесь — то, что относится именно к серверу.
- База данных. Копируют не файлы базы с диска, а выгрузку — дамп. Он получается целостным, даже если база в этот момент работает.
- Файлы сайта и загруженное пользователями. Код проекта обычно есть в репозитории, а вот картинки товаров, документы и вложения существуют только на сервере.
- Настройки сервера. Конфигурация веб-сервера, параметры PHP и базы, задания планировщика. Без них восстановление превращается в настройку с нуля по памяти.
- Файлы с ключами и паролями проекта. Их нет в репозитории, и о них вспоминают последними. Хранить такую копию нужно в зашифрованном виде.
- Данные контейнеров. Если сайт работает в Docker, копируют тома с данными и файлы описания проекта, а не сами контейнеры. Подробнее — в статье про Docker на VPS.
- Почта и прочие сервисы. Если на том же сервере живут почтовые ящики или другие программы с данными, они тоже входят в список.
Правило 3-2-1 для сервера
Классическая формула резервного копирования: три копии данных, на двух разных типах носителей, одна из них — в другом физическом месте. Для небольшого бизнеса это переводится так:
- Рабочие данные на самом сервере — раз.
- Снапшоты у хостера для быстрого отката — два.
- Автоматический бэкап в стороннее хранилище — три, и оно же в другом месте.
Как настроить резервное копирование VPS за час
- Включите автоматические снапшоты у хостера, если он их предлагает: обычно раз в сутки, хранение неделю.
- Настройте ежедневный дамп базы данных и архив папки с загруженными файлами.
- Отправляйте их в облачное хранилище с отдельным доступом: S3-совместимое хранилище российских провайдеров стоит копейки за десятки гигабайт.
- Дайте серверу ключ, которым можно только добавлять копии в хранилище, но не удалять их. Тогда взломщик, получивший сервер, не сотрёт архивы.
- Храните минимум 7 ежедневных и 4 еженедельные копии: проблему часто замечают не сразу.
- Настройте уведомление о результате: письмо или сообщение в мессенджер, если копирование не выполнилось.
- Раз в квартал восстанавливайте бэкап на тестовый сервер. Непроверенный бэкап — это надежда, а не защита.
Последний пункт игнорируют чаще всего. Мы встречали архивы, которые аккуратно создавались год, а внутри оказывались пустыми: скрипт сломался после обновления, ошибку никто не читал.
Если на сервере стоит панель управления, часть этих шагов делается в её интерфейсе: у популярных панелей есть встроенное резервное копирование с отправкой во внешнее хранилище. Какие панели бывают, мы сравнивали в статье про панель управления сервером.
Когда делать снапшот вручную
Автоматический снимок раз в сутки — фон. А перед любым рискованным действием стоит сделать снимок руками — это занимает минуту.
- Перед обновлением операционной системы, PHP, базы данных или панели управления.
- Перед обновлением сайта, установкой модулей, крупными правками кода.
- Перед изменением настроек веб-сервера или файрвола.
- Перед экспериментами, в исходе которых вы не уверены.
Нюанс: снимок работающего сервера фиксирует диск в том виде, какой он есть в эту секунду, — примерно как при внезапном отключении питания. Обычно сервер после отката поднимается нормально, но для надёжности снимок лучше делать в момент, когда на сайте мало посетителей и не идут импорты или обмены. После успешного обновления старые ручные снимки стоит удалять: у многих хостеров за их хранение берут плату, а число снимков на тарифе ограничено.
Как восстановить сервер: два сценария
Откат к снапшоту. В панели хостера выбираете снимок и подтверждаете восстановление. Сервер возвращается в состояние на момент снимка — вместе с ним исчезает всё, что появилось позже: заказы, заявки, правки. Поэтому перед откатом, если сервер ещё работает, выгрузите свежую базу данных.
Восстановление из бэкапа. Порядок длиннее, зато вы не зависите от состояния старого сервера:
- Поднимите сервер — прежний или новый, у того же или другого провайдера.
- Установите окружение: веб-сервер, PHP, базу данных — либо запустите контейнеры по файлам описания.
- Скачайте из хранилища последнюю исправную копию: архив файлов и дамп базы.
- Разверните файлы, загрузите дамп в базу, верните настройки и задания планировщика.
- Проверьте сайт по временному адресу: страницы, формы, оплату.
- Если сервер новый — переключите DNS-записи домена на его адрес.
Тот, кто хоть раз прошёл этот путь на тестовом сервере, в день аварии тратит на него часы, а не дни.
Сколько это стоит
Снапшоты у хостера — обычно 10–20% от цены сервера или бесплатно в рамках тарифа. Хранилище под бэкапы для типового сайта — несколько сотен рублей в месяц. На фоне стоимости восстановления магазина с нуля — не цена, а округление.
Плюс время специалиста на первичную настройку: скрипты копирования, доступы, проверка восстановления. Это разовая работа, которая потом идёт сама и требует только контроля уведомлений.
Частые ошибки
- Считают снапшот бэкапом. Он лежит там же, где сервер, и исчезает вместе с ним.
- Складывают копии на тот же сервер. Архив в соседней папке не поможет ни при взломе, ни при поломке диска.
- Дают серверу полный доступ к хранилищу. Взломщик, получивший сервер, удаляет и копии. Нужны отдельные ключи с ограниченными правами.
- Копируют только файлы и забывают базу — или наоборот. Сайт из половины данных не собрать.
- Хранят одну последнюю копию. Если поломку или заражение заметили через три дня, единственный архив уже содержит проблему.
- Не проверяют восстановление. О том, что архивы пустые или битые, узнают в день аварии.
- Не следят за местом. Хранилище или диск переполнились, копирование молча остановилось месяц назад.
Резервные копии — последняя линия. Первая — не дать взломать сервер: начните с базовых мер из статьи про первые настройки безопасности VPS.
Коротко
Снапшот — быстрый откат всего сервера, хранится у хостера и годится как страховка перед обновлениями. Бэкап — копия базы, файлов и настроек в отдельном хранилище, которая переживёт взлом, аварию и смену провайдера. Настройте оба, храните копии за несколько недель и раз в квартал проверяйте, что из них действительно можно восстановиться.
На серверах, которые мы обслуживаем в CasperLab, обе схемы стоят по умолчанию: снапшоты у хостера и ежедневные копии базы и файлов во внешнее хранилище, с проверкой восстановления. Если не уверены, что ваш VPS защищён именно так, — спросите, посмотрим. А если сервер только предстоит выбрать — подберём VPS с нужным объёмом диска и снапшотами в тарифе.
Арендовать VPS в CasperLab
Поможем подобрать решение под вашу задачу и рассчитаем стоимость без обязательств.
Арендовать VPS