Организация надежного резервного копирования...
TRANSCRIPT
![Page 1: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/1.jpg)
Организация надежного резервного копирования
веб-проекта
Антон Баранов
![Page 2: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/2.jpg)
Кто я?
Антон Барановначальник отдела по работе с клиентами в компании ITSumma
В прошлом - системный администратор Linux.
Более 7 лет опыта работы с Linux-системами и web-проектами различной сложности.
Последние два года тружусь над обеспечением стабильной работы highload-проектов для посетителей со всего мира.
![Page 3: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/3.jpg)
О нашей компании:
Работаем с 2008 года.
Офисы в Иркутске, Санкт-Петербурге и Москве.
150+ клиентов на круглосуточной поддержке.
90ТБ резервных копий.
5 оповещений о «сломавшихся» бэкапах в сутки.
![Page 4: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/4.jpg)
Мы поддерживаем:
![Page 5: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/5.jpg)
Содержание доклада:
•Что бэкапить?•Когда?•Чем?•Откуда?•Как проверить бэкапы?
![Page 6: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/6.jpg)
Внимание!
Говорим про LA(N)MP
![Page 7: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/7.jpg)
Бэкап ломается раз в 29 дней
![Page 8: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/8.jpg)
Series1
0 10 20 30 40 50
Люди делают бэкапы один раз в …
День 8%
Неделю 9%
Месяц 19%
Год 39%
Никогда 25%
* по статистике BackBlaze за 2015-й год
![Page 9: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/9.jpg)
Общая информация
•Что именно нужно бэкапить? •Типы бэкапов. Плюсы и минусы.•Периодичность создания. •Выбор хранилища.
![Page 10: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/10.jpg)
Что бэкапим?
•Файлы сайтов•Базы данных•Конфигурационные файлы•Список установленного ПО•Директории с самосборными сервисами
![Page 11: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/11.jpg)
Типы бэкапов
•Полный•Инкрементальный
![Page 12: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/12.jpg)
Полные бэкапы
Плюсы:• Самодостаточен• Прост в восстановлении• Легко проверить
![Page 13: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/13.jpg)
Полные бэкапы
Минусы:• Большой объем• Длительное время создания• Большая нагрузка по сравнению с
инкрементальным бэкапом
![Page 14: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/14.jpg)
Инкрементальные бэкапы
Плюсы:• Меньше нагрузка на систему• Для передачи нужно меньше трафика• Занимают меньше места
![Page 15: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/15.jpg)
Инкрементальные бэкапы
Минусы:• Сложно проверить валидность• Сложно восстанавливать
![Page 16: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/16.jpg)
Периодичность создания
Один раз в сутки ночью
![Page 17: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/17.jpg)
Периодичность создания
Основные факторы:• Важность данных• Объем
![Page 18: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/18.jpg)
Периодичность создания
• Важные данные бэкапим чаще• Объемные - реже
![Page 19: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/19.jpg)
Период хранения
• Минимально - 1 неделя• Идеально - бесконечно
![Page 20: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/20.jpg)
Выбор хранилища
Не нужно хранить все яйца в одной корзине
![Page 21: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/21.jpg)
Выбор хранилища
Плохое внешнее хранилище:• ftp от хостера в этом же ДЦ• сервер в офисе• Dropbox/Яндекс.Диск
![Page 22: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/22.jpg)
Выбор хранилища
Хорошее внешнее хранилище:• выделенный сервер с объемными дисками• Amazon S3 или аналоги (может быть низкая
скорость аплоада)
![Page 23: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/23.jpg)
Выбор хранилища
Идеальный вариант:• Локальное: отдельный диск• Внешнее: сервер в другом ДЦ
![Page 24: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/24.jpg)
Создание бэкапов
• Источники данных для бэкапа• Файлы• БД• Конфигурационные файлы• Особенности создания/восстановления
![Page 25: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/25.jpg)
Источники данных
• production-сервер• резерв
![Page 26: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/26.jpg)
Бэкапы с production
• аффектят производительность ресурса• проблемы с местом на дисках• можно создавать только в определенное
время
![Page 27: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/27.jpg)
Бэкапы с резерва
Плюсы:• не аффектят работу ресурса• нет ограничений по времени и способам
создания
![Page 28: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/28.jpg)
Бэкапы с резерва
Минусы:• нужно поддерживать резерв в актуальном
состоянии
![Page 29: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/29.jpg)
Синхронизация на резерв
• Файлы: lsyncd (без delete)• БД: штатные средства репликации(реплика не является бэкапом)
![Page 30: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/30.jpg)
Бэкапы файлов
• Небольшой объем и количество файлов - архивация и копирование• Большой объем данных - rsync на бэкапный
сервер (без delete, либо в /backup/YY-MM-DD)
![Page 31: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/31.jpg)
Бэкапы файлов
• Данных много, места мало: стримингtar czhf - /home/bitrix/www/ --exclude=bitrix/managed_cache --exclude=bitrix/stack_cache --exclude=bitrix/cache | ssh $SSH "cat -> ${RPATH}/${FN}" \; »$LOG 2>&1 || die_if_tar_failed files_tar
![Page 32: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/32.jpg)
Бэкапы файлов
Не нужно бэкапить:• кэши• внутренние бэкапы CMS• логи приложения
![Page 33: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/33.jpg)
Бэкапы БД
Инструменты:• Mysqldump• Percona xtrabackup• pg_dump
![Page 34: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/34.jpg)
Бэкапы БД
Трюки:• отложенная репликацияpt-slave-delay или CHANGE MASTER TO MASTER_DELAY• репликация и резервирование бинлогов
![Page 35: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/35.jpg)
Бэкапы конфигов
• Настройки, кроны, список установленных пакетов, иногда - самосборное ПО• Git в /etc + autocommit• Системы управления конфигурациями
![Page 36: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/36.jpg)
Неочевидные особенности бэкапов
• Процесс бэкапа БД не запускается• Бэкапим не ту БД• Бэкап с неактуального резерва• Период бэкапа БД не выверен• Процедура восстановления БД не отлажена
![Page 37: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/37.jpg)
Неочевидные особенности бэкапов
• Восстанавливаем не той версией xtrabackup• Нет места для распаковки• ETA восстановления внезапно велико• Апдейт ПО на сервере привел к
неработоспособности бэкапов
![Page 38: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/38.jpg)
Неочевидные особенности бэкапов
• Архив битый• Бэкап без статики• Архив с картинками сжимается• Бэкапы на том же сервере• Конфиги сервера не бэкапятся
![Page 39: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/39.jpg)
Верификация бэкапов
• Тестовый стенд• Мониторинг процесса• Ручные проверки
![Page 40: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/40.jpg)
Верификация бэкапов
Непроверенный бэкап - не бэкап
![Page 41: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/41.jpg)
Тестовый стенд
• Пять виртуалок для проверки MySQL: 5.1, 5.5, 5.6, 5.7, MariaDB 10• Скрипты для распаковки, apply-log• Возможность создать виртуалку для
проверки всех бэкапов проекта (БД, файлы, конфиги)
![Page 42: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/42.jpg)
Мониторинг процесса
• Сервер во время создания (место на диске, нагрузка, доступность проекта)• Вывод логов бэкапных скриптов
(innobackupex: completed OK!)• Размер созданных бэкапов
![Page 43: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/43.jpg)
Мониторинг процесса
• Изменение размера заливаемых бэкапов• Дату последнего бэкапа
![Page 44: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/44.jpg)
Ручные проверки
• Возможность распаковки бэкапа• Проверка времени распаковки• Проверка содержимого бэкапа
![Page 45: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/45.jpg)
Ручные проверки
На стенде:• Восстанавливаем БД• Распаковываем файлы сайта• Восстанавливаем конфиги• Проверяем сайт в браузере
![Page 46: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/46.jpg)
Надежный бэкап
• Содержит все необходимое для восстановления с нуля• Известны сроки восстановления и они
приемлемы• Бэкап актуален• Бэкап проверен• Создается
![Page 48: Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов](https://reader030.vdocuments.mx/reader030/viewer/2022020719/586f8fca1a28ab54768b7753/html5/thumbnails/48.jpg)
http://www.itsumma.ru/blog/1/https://www.percona.com/blog/2012/01/18/backing-up-binary-log-files-with-mysqlbinlog/https://www.itsumma.ru/blog/5/