Все что нужно знать о резервировании данных
В статье я привожу описание прикладных программ для резервирования данных на предприятиях, офисах и просто бекап вебсайтов.
В настоящее время востребованы две важных услуги в малом, среднем и большом бизнесе, это резервное хранение данных и мониторинг серверов. Спектр данных для резервирования и синхронизации просто огромный от бекапов настроек шлюзов MikroTik, NAS до баз данных MySQL, 1C, PostgreSQL.
— Dmytro Yakovenko 2021/03/25
Введение в резервирование данных
В основе резервирование (синхронизации) лежат три принципа: надёжность, простота использования (автоматизация) и удобство внедрения.
- Надёжность:
- Первое правило: все носители ненадёжны, поэтому надо использовать более одного хранилища данных, более одного типа. Например: компакт-диски и FTP-сервер в интернете. Или: жёсткий диск и USB-флешки.
- Второе правило: есть такая штука, как форс-мажорные обстоятельства, и только поломкой устройства они не ограничиваются. Делайте так, чтобы бекап-хранилища находились на удалении друг от друга - на разных хостингах, хостинги должны быть куплены у разных юридических лиц и располагаться в разных датацентрах.
- Простота использования. В идеале всё должно резервироваться без вашего участия, или с минимальным вашим участием. Никаких постоянных “вставить флешку”, “запустить скрипт”, через несколько месяцев вам банально будет лень что-то куда-то вставлять. Важно то, как вы будете развёртывать данные в случае аварии. Подумайте – не затянется ли восстановление данных из многогигабайтового многодневного инкрементального бекапа? Не возникнет ли проблем с закачиванием бекапа из интернета при плохом соединении?
- Удобство внедрения. Внедрение решения должно быть как можно более простым. Если это груда скриптов на нестандартном языке, использующих нестандартные библиотеки и утилиты командой строки – сможете ли вы в любой момент внести изменения в настройки? Сможете ли вы быстро развернуть систему на других компьютерах? Если для организации бекапа вы целый день конфигурировали сервер – не слишком ли это много? Что будет, если сервер сломается, и вам нужно будет поставить новый?
Шаг 1 - Выбор стратегии резервирования
Пишите в комментариях к статье Безопасность WordPress свои идеи как еще больше упростить стратегию резервирования, ускорить восстановление резервных копий и какие сервисы помогут сэкономить на бекапах.
Прежде чем переходить к изучению возможностей программного обеспечения, необходимо определиться со стратегией организации резервного копирования.
Поскольку сохранять резервные копии всех данных в реальном времени не имеет смысла (прежде всего – экономического), стоит определить, какую информацию необходимо копировать и как часто это стоит делать. Чтобы найти ответ на подобный вопрос, нужно учесть несколько факторов: насколько важна та или иная информация, какими будут последствия в случае ее безвозвратной утери и как часто данные обновляются. Еще один важный момент – насколько для вашей it-инфраструктуры критичен простой тех или иных сервисов и как восстановление из резервных копий может его сократить. Не нужно забывать и о стоимости резервирования – это удовольствие не из дешевых.
Шаг 2 - 3 пункта стартовой стратегии резервирования данных
Не придумываем велосипед, его уже придумали. Минимальная стратегия резервирования состоит из трех пунктов:
- Копий данных должно быть минимум 3.
- Как минимум 2 копии должны быть в разных местах, например NAS, FTP хранилище, дисковый массив или выделенный сервер. Это должны быть два физически разных устройства. Можно добавить было бы слова о магнитных лентах или CD дисках, но я считаю эти вещи устаревшими.
- Как минимум одна резервная копия должна храниться не в офисе.
Шаг 3 - Простой план резервного копирования
- Рекомендуют хранить 7 копий за неделю, 4 копии за месяц, 12 копий за год
- Выберите надежного регистратора доменных имен из моего списка. Используйте NS-сервера регистратора домена. Хостинг провайдеры предлагают перенести обслуживание DNS на свой хостинг. Не соглашайтесь, оставьте домен на NS-серверах регистратора домена, а в А-записи домена пропишите IP-адрес хостинга. Это позволит быстро сменить хостинг в случае аварии. При изменении А-записи обновление DNS произойдет в течение 1 часа, и ваш сайт уже через час будет доступен на новом хостинге. А если придется менять NS-сервера, то обновления DNS могут занять до 72 часов.
- На виртуальном хостинге обычно уже включено резервное копирование. На VPS, выделенном сервере или в облаке вам нужно докупить услугу бэкапов самостоятельно, потому что их тоже нужно бэкапить. Помните, lаже если компания по предоставлению хостинговых услуг будет регулярно делать резервное копирование, она не всегда поможет Вам восстановить потерянные данные. В базе хостинга эти бэкапы постоянно обновляются и если Вам нужны данные месячной давности, то вряд ли они будут сохранены у хостера. Следовательно, эту процедуру нужно выполнять и самому, а не только надеяться на свой хостинг.
- Поверяйте бэкапы раз в неделю. Восстанавливайте бэкапы раз в месяц на тестовый сервер. Одно дело иметь резервные копии, и совсем другое — иметь реально работающие резервные копии. Вы должны быть уверены, что в нужный момент бэкапы вам реально помогут и у вас есть возможность их быстро развернуть.
Рекомендую делать резервные копии в данных случаях:
- перед каким либо изменением модулей сайта;
- обязательный бэкап раз в неделю;
- после обновления контента сайта.
Шаг 4 - Выбираем хранилище для бэкапа
В наше время вариантов для хранения бэкапов очень много, например:
- арендовать выделенный сервер с большими дисками,
- установка своего сервера на колокейшн.
Эти варианты дают большой контроль над самим сервером с бекапами, и дают большой выбор для системного администратора в выборе решения для хранения и резервного копирования. МИНУС: необходимо будет мониторить состояние сервера на случай аппаратных и программных проблем.
Вы можете использовать специализированные сервисы, которые создавались как раз для хранения резервных копий, например:
- Amazon Glacier,
- Acronis Cloud Storage (как дополнение к продуктам Acronis),
- Amazon S3,
- Yandex Object Storage.
МИНУС: эти сервисы достаточно дорогие.
Можно использовать облачные хранилища:
- Idrive - есть Free тариф на 10 GB.
- Яндекс.Диск.
- Облако Mail.Ru.
- OneDrive.
- Sync - $6 1 TB secure storage per user, per month, billed annually.
МИНУС: эти сервисы не предназначены для хранения резервных копий компании, а ориентированы на простых пользователей для синхронизации (не бэкапа) личных файлов. Облачный провайдер не несет никакой ответственности за сохранность ваших файлов и может в любой момент удалить их.
Шаг 5 - Резервирование Windows
ПО для ОС Windows*:
- cwRsync - это графической оболочка (начиная с версии 5) над утилитой Rsync + Cygwin. Пакет cwRsync позволяет организовать удалённое резервное копирование и синхронизацию файлов между серверами Windows; или файлов Unix сервера на сервер Windows и наоборот.
Шаг 6 - Резервирование вебсайтов с виртуальных хостингов
В этом разделе я хочу разобрать вопрос бэкапа вашего любимого сайта на стандартном хостинге PHP.
Часто для развертывания сайта покупается виртуальных хостинг и подавляющее количество хостинг провайдеров представляет услугу резервирования вашего сайта. Это прекрасно, но провайдер резервирует ваш сайт на свои ресурсы. Но что вы будите делать если провайдер, например не захочет продлевать вам услугу? Подадите в суд? Или у провайдера будет пожар в датацентре или у него вообще конфискуют сервера. Вам достаточно погуглить, чтобы впечатлиться проблемами из-за кторых вы можете потерять свой сайт.
Теория решения задачи. Бекап вашего сайта должен происходить на другой хостинг, чтобы простым изменяем DNS записей, вы в течении часа (в идеале) могли запустить свой сайт.
Практика решения задачи. Предварительно условия, вы должны были подумать и купить домен и хостинг у разных провайдеров (подробнее у кого покупать домены в статье Регистраторы доменных имен).
- Сервер Установка и настройка BackupPC сервера (+Nginx) и клиентов позволяет используя SSH копировать файлы вашего сайта и автоматически их восстанавливать, но создание бекапов баз данных в нем не предусмотрено. Поэтому вы должны дополнительными скриптами делать бекап баз данных(, например Резервирование БД MySQL, Скрипт для резервирования БД PostgreSQL), а при помощи BackupPC копировать их.
- В интернете широко распространена практика бэкапов виртуальных хостингов при помощи скриптов на bash, php и копировании их, при помощи протокола FTP, на удаленный сервер. Мой вариант скрипта: 3 скрипта для резервного копирования данных (сайта, БД).
Шаг 7 - Резервирование данных с VPS/VDS Linux, FreeBSD
Программы для загрузки данных в облако
- Handy Backup: бесплатная версия, которая умеет бэкапить только в облако — Handy Backup Free for Cloud.
- Duplicati 2 бесплатный продукт, даже для коммерческого использования. Есть под все популярные платформы от Windows до GNU\Linux, работать можно как через веб-интерфейс, так и через командную строку, также есть и шифрование бэкапов.
ПО для резервного копирования, восстановления
- Amanda (The Advanced Maryland Automatic Network Disk Archiver) (лицензия BSD). Поддержка ОС: Unix-системы, Mac OS X, GNU Linux и Windows.
- Обзор Bacula (лицензия GPL v2).
- NDMP Initiative - открытый стандарт протокола для сетевого резервного копирования данных.
- LRS - Linbox Rescue Server (лицензия GPL).
- Установка и настройка BackupPC сервера (+Nginx) и клиентов - (лицензия GNU GPL 2).
- duplicity - (лицензия GPL) — удалённо создаёт шифрованные резервные копии, используя Как использовать rsync для синхронизации и резервного копирования: примеры и инструкции и GnuPG.
- Back in Time резервное копирование.
- Резервирование и/или синхронизация:
- Архиватор tar gz - архиватор файлов.
- zip - архиватор файлов.
- Примеры использования gzip и gunzip GNU zip, gunzip - архиватор файлов, расширение .gz.
- rsync - синхронизация файлов и каталогов. Зеркалирование и/или резервное копирование. Простой пример Скрипт бэкап при помощи rsync
- cpio — двоичный архиватор и формат файла - копирует файлы в архивы и из архивов.
- Mondo Rescue восстановления после сбоев, клонирования жестких дисков - консоль: можно клонировать HDD.
- Clonezilla восстановления системы после фатальных сбоев - клонирования жестких HDD.
- Cobian Backup
- luckybackup - приложение rsync с графическим интерфейсом для резервного копирования и/или синхронизации каталогов.
- Areca Backup - GUI
- Déjà Dup - simple backup tool.
- Synkron
- Norton Ghost программное обеспечение для клонирования дисков, поддержка прекращена 24 ноября 2009.
- Бэкап и восстановление Баз Данных:
Заключение - вопрос
Проверка на взлом сайт? Не забывайте о балансе между проверками сайта на взлом, вирусы и частотой бэкапов. Найдите такое соотношение, при котором сайт защищен и ресурсы использованы оптимально.
Ответьте себе на вопрос: если сканер что-то найдет через неделю, а у вас последний бэкап 5 дней назад?
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах