Все что нужно знать о резервировании данных в 2021

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

В настоящее время востребованы две важных услуги в малом, среднем и большом бизнесе, это резервное хранение данных и мониторинг серверов. Спектр данных для резервирования и синхронизации просто огромный от бекапов настроек шлюзов MikroTik, NAS до баз данных MySQL, 1C, PostgreSQL.

Dmytro Yakovenko 2021/03/25

В основе резервирование (синхронизации) лежат три принципа: надёжность, простота использования (автоматизация) и удобство внедрения.

  • Надёжность:
  1. Первое правило: все носители ненадёжны, поэтому надо использовать более одного хранилища данных, более одного типа. Например: компакт-диски и FTP-сервер в интернете. Или: жёсткий диск и USB-флешки.
  2. Второе правило: есть такая штука, как форс-мажорные обстоятельства, и только поломкой устройства они не ограничиваются. Делайте так, чтобы бекап-хранилища находились на удалении друг от друга - на разных хостингах, хостинги должны быть куплены у разных юридических лиц и располагаться в разных датацентрах.
  • Простота использования. В идеале всё должно резервироваться без вашего участия, или с минимальным вашим участием. Никаких постоянных “вставить флешку”, “запустить скрипт”, через несколько месяцев вам банально будет лень что-то куда-то вставлять. Важно то, как вы будете развёртывать данные в случае аварии. Подумайте – не затянется ли восстановление данных из многогигабайтового многодневного инкрементального бекапа? Не возникнет ли проблем с закачиванием бекапа из интернета при плохом соединении?
  • Удобство внедрения. Внедрение решения должно быть как можно более простым. Если это груда скриптов на нестандартном языке, использующих нестандартные библиотеки и утилиты командой строки – сможете ли вы в любой момент внести изменения в настройки? Сможете ли вы быстро развернуть систему на других компьютерах? Если для организации бекапа вы целый день конфигурировали сервер – не слишком ли это много? Что будет, если сервер сломается, и вам нужно будет поставить новый?

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

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

Поскольку сохранять резервные копии всех данных в реальном времени не имеет смысла (прежде всего – экономического), стоит определить, какую информацию необходимо копировать и как часто это стоит делать. Чтобы найти ответ на подобный вопрос, нужно учесть несколько факторов: насколько важна та или иная информация, какими будут последствия в случае ее безвозвратной утери и как часто данные обновляются. Еще один важный момент – насколько для вашей it-инфраструктуры критичен простой тех или иных сервисов и как восстановление из резервных копий может его сократить. Не нужно забывать и о стоимости резервирования – это удовольствие не из дешевых.

Не придумываем велосипед, его уже придумали. Минимальная стратегия резервирования состоит из трех пунктов:

  1. Копий данных должно быть минимум 3.
  2. Как минимум 2 копии должны быть в разных местах, например NAS, FTP хранилище, дисковый массив или выделенный сервер. Это должны быть два физически разных устройства. Можно добавить было бы слова о магнитных лентах или CD дисках, но я считаю эти вещи устаревшими.
  3. Как минимум одна резервная копия должна храниться не в офисе.

  1. Рекомендуют хранить 7 копий за неделю, 4 копии за месяц, 12 копий за год
  2. Выберите надежного регистратора доменных имен из моего списка. Используйте NS-сервера регистратора домена. Хостинг провайдеры предлагают перенести обслуживание DNS на свой хостинг. Не соглашайтесь, оставьте домен на NS-серверах регистратора домена, а в А-записи домена пропишите IP-адрес хостинга. Это позволит быстро сменить хостинг в случае аварии. При изменении А-записи обновление DNS произойдет в течение 1 часа, и ваш сайт уже через час будет доступен на новом хостинге. А если придется менять NS-сервера, то обновления DNS могут занять до 72 часов.
  3. На виртуальном хостинге обычно уже включено резервное копирование. На VPS, выделенном сервере или в облаке вам нужно докупить услугу бэкапов самостоятельно, потому что их тоже нужно бэкапить. Помните, lаже если компания по предоставлению хостинговых услуг будет регулярно делать резервное копирование, она не всегда поможет Вам восстановить потерянные данные. В базе хостинга эти бэкапы постоянно обновляются и если Вам нужны данные месячной давности, то вряд ли они будут сохранены у хостера. Следовательно, эту процедуру нужно выполнять и самому, а не только надеяться на свой хостинг.
  4. Поверяйте бэкапы раз в неделю. Восстанавливайте бэкапы раз в месяц на тестовый сервер. Одно дело иметь резервные копии, и совсем другое — иметь реально работающие резервные копии. Вы должны быть уверены, что в нужный момент бэкапы вам реально помогут и у вас есть возможность их быстро развернуть.

Рекомендую делать резервные копии в данных случаях:

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

В наше время вариантов для хранения бэкапов очень много, например:

  • арендовать выделенный сервер с большими дисками,
  • установка своего сервера на колокейшн.

Эти варианты дают большой контроль над самим сервером с бекапами, и дают большой выбор для системного администратора в выборе решения для хранения и резервного копирования. МИНУС: необходимо будет мониторить состояние сервера на случай аппаратных и программных проблем.

Вы можете использовать специализированные сервисы, которые создавались как раз для хранения резервных копий, например:

  • Amazon Glacier,
  • Acronis Cloud Storage (как дополнение к продуктам Acronis),
  • Amazon S3,
  • Yandex Object Storage.

МИНУС: эти сервисы достаточно дорогие.

Можно использовать облачные хранилища: Dropbox, OneDrive, Google Drive, Яндекс.Диск, Облако Mail.Ru. МИНУС: эти сервисы не предназначены для хранения резервных копий компании, а ориентированы на простых пользователей для синхронизации (не бэкапа) личных файлов. Облачный провайдер не несет никакой ответственности за сохранность ваших файлов и может в любой момент удалить их.

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

Часто для развертывания сайта покупается виртуальных хостинг и подавляющее количество хостинг провайдеров представляет услугу резервирования вашего сайта. Это прекрасно, но провайдер резервирует ваш сайт на свои ресурсы. Но что вы будите делать если провайдер, например не захочет продлевать вам услугу? Подадите в суд? Или у провайдера будет пожар в датацентре или у него вообще конфискуют сервера. Вам достаточно погуглить, чтобы впечатлиться проблемами из-за кторых вы можете потерять свой сайт.

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

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

  1. Сервер BackupPC - система резервного копирования (обновление 2018.08) позволяет используя SSH копировать файлы вашего сайта и автоматически их восстанавливать, но создание бекапов баз данных в нем не предусмотрено. Поэтому вы должны дополнительными скриптами делать бекап баз данных(, например Резервирование БД MySQL, Скрипт для резервирования БД PostgreSQL), а при помощи BackupPC копировать их.
  2. В интернете широко распространена практика бэкапов виртуальных хостингов при помощи скриптов на bash, php и копировании их, при помощи протокола FTP, на удаленный сервер. Мой вариант скрипта: Простой скрипт для резервного копирования сайта на виртуальном хостинге при помощи протокола FTP.
  • Handy Backup: бесплатная версия, которая умеет бэкапить только в облако — Handy Backup Free for Cloud.
  • Duplicati 2 бесплатный продукт, даже для коммерческого использования. Есть под все популярные платформы от Windows до GNU\Linux, работать можно как через веб-интерфейс, так и через командную строку, также есть и шифрование бэкапов.
  • Rclone это утилита командной строки под множество платформ, список поддерживаемых облачных провайдеров тоже впечатляет — в нем есть поддержка Cephs, OwnCloud и даже Яндекс Диск.

Заключение - вопрос

Проверка на взлом сайт? Не забывайте о балансе между проверками сайта на взлом, вирусы и частотой бэкапов. Найдите такое соотношение, при котором сайт защищен и ресурсы использованы оптимально.

Ответьте себе на вопрос: если сканер что-то найдет через неделю, а у вас последний бэкап 5 дней назад?