Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Организация надежного
резервного копирования
веб-проекта
Антон Баранов
Кто я?
Антон Баранов
начальник отдела по работе с
клиентами в компании ITSumma
В прошлом - системный администратор Linux.
...
О нашей компании:
Работаем с 2008 года.
Офисы в Иркутске, Санкт-Петербурге
и Москве.
150+ клиентов на круглосуточной
подде...
Мы поддерживаем:
Содержание доклада:
•Что бэкапить?
•Когда?
•Чем?
•Откуда?
•Как проверить бэкапы?
Внимание!
Говорим про LA(N)MP
Бэкап ломается раз в 29 дней
0 10 20 30 40 50
Люди делают бэкапы один раз в …
День 8%
Неделю 9%
Месяц 19%
Год 39%
Никогда 25%
* по статистике BackBlaze...
Общая информация
•Что именно нужно бэкапить?
•Типы бэкапов. Плюсы и минусы.
•Периодичность создания.
•Выбор хранилища.
Что бэкапим?
•Файлы сайтов
•Базы данных
•Конфигурационные файлы
•Список установленного ПО
•Директории с самосборными серви...
Типы бэкапов
•Полный
•Инкрементальный
Полные бэкапы
Плюсы:
• Самодостаточен
• Прост в восстановлении
• Легко проверить
Полные бэкапы
Минусы:
• Большой объем
• Длительное время создания
• Большая нагрузка по сравнению с
инкрементальным бэкапом
Инкрементальные бэкапы
Плюсы:
• Меньше нагрузка на систему
• Для передачи нужно меньше трафика
• Занимают меньше места
Инкрементальные бэкапы
Минусы:
• Сложно проверить валидность
• Сложно восстанавливать
Периодичность создания
Один раз в сутки ночью
Периодичность создания
Основные факторы:
• Важность данных
• Объем
Периодичность создания
• Важные данные бэкапим чаще
• Объемные - реже
Период хранения
• Минимально - 1 неделя
• Идеально - бесконечно
Выбор хранилища
Не нужно хранить все яйца в одной корзине
Выбор хранилища
Плохое внешнее хранилище:
• ftp от хостера в этом же ДЦ
• сервер в офисе
• Dropbox/Яндекс.Диск
Выбор хранилища
Хорошее внешнее хранилище:
• выделенный сервер с объемными дисками
• Amazon S3 или аналоги (может быть низ...
Выбор хранилища
Идеальный вариант:
• Локальное: отдельный диск
• Внешнее: сервер в другом ДЦ
Создание бэкапов
• Источники данных для бэкапа
• Файлы
• БД
• Конфигурационные файлы
• Особенности создания/восстановления
Источники данных
• production-сервер
• резерв
Бэкапы с production
• аффектят производительность ресурса
• проблемы с местом на дисках
• можно создавать только в определ...
Бэкапы с резерва
Плюсы:
• не аффектят работу ресурса
• нет ограничений по времени и способам
создания
Бэкапы с резерва
Минусы:
• нужно поддерживать резерв в актуальном
состоянии
Синхронизация на резерв
• Файлы: lsyncd (без delete)
• БД: штатные средства репликации
(реплика не является бэкапом)
Бэкапы файлов
• Небольшой объем и количество файлов -
архивация и копирование
• Большой объем данных - rsync на бэкапный
с...
Бэкапы файлов
• Данных много, места мало: стриминг
tar czhf - /home/bitrix/www/ --
exclude=bitrix/managed_cache --
exclude...
Бэкапы файлов
Не нужно бэкапить:
• кэши
• внутренние бэкапы CMS
• логи приложения
Бэкапы БД
Инструменты:
• Mysqldump
• Percona xtrabackup
• pg_dump
Бэкапы БД
Трюки:
• отложенная репликация
pt-slave-delay или CHANGE MASTER TO
MASTER_DELAY
• репликация и резервирование би...
Бэкапы конфигов
• Настройки, кроны, список установленных
пакетов, иногда - самосборное ПО
• Git в /etc + autocommit
• Сист...
Неочевидные особенности бэкапов
• Процесс бэкапа БД не запускается
• Бэкапим не ту БД
• Бэкап с неактуального резерва
• Пе...
Неочевидные особенности бэкапов
• Восстанавливаем не той версией xtrabackup
• Нет места для распаковки
• ETA восстановлени...
Неочевидные особенности бэкапов
• Архив битый
• Бэкап без статики
• Архив с картинками сжимается
• Бэкапы на том же сервер...
Верификация бэкапов
• Тестовый стенд
• Мониторинг процесса
• Ручные проверки
Верификация бэкапов
Непроверенный бэкап - не бэкап
Тестовый стенд
• Пять виртуалок для проверки MySQL: 5.1,
5.5, 5.6, 5.7, MariaDB 10
• Скрипты для распаковки, apply-log
• В...
Мониторинг процесса
• Сервер во время создания (место на диске,
нагрузка, доступность проекта)
• Вывод логов бэкапных скри...
Мониторинг процесса
• Изменение размера заливаемых бэкапов
• Дату последнего бэкапа
Ручные проверки
• Возможность распаковки бэкапа
• Проверка времени распаковки
• Проверка содержимого бэкапа
Ручные проверки
На стенде:
• Восстанавливаем БД
• Распаковываем файлы сайта
• Восстанавливаем конфиги
• Проверяем сайт в б...
Надежный бэкап
• Содержит все необходимое для восстановления
с нуля
• Известны сроки восстановления и они
приемлемы
• Бэка...
Антон Баранов
https://www.facebook.com/anton.s.baranov
abaranov@itsumma.ru
https://anton-baranov.me
http://www.itsumma.ru/blog/1/
https://www.percona.com/blog/2012/01/18/b
acking-up-binary-log-files-with-mysqlbinlog/
https...
Upcoming SlideShare
Loading in …5
×

Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов (ITSumma)

301 views

Published on

1. Общая информация
- Что именно нужно бэкапить?
- Типы бэкапов. Плюсы и минусы.
- Периодичность создания.
- Выбор хранилища.

2. Бэкапы БД и файлов
- Обзор инструментов.
- Источники данных для бэкапов.
- Неочевидные особенности создания/восстановления.

3. Проблемы организации резервного копирования
- Актуальность данных.
- Скорость восстановления.
- Надежность создания резервных копий.

4. Верификация бэкапов
- Тестовый стенд.
- Мониторинг процесса.
- Ручные проверки.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Организация надежного резервного копирования веб-проекта. Практика и подводные камни / Антон Баранов (ITSumma)

  1. 1. Организация надежного резервного копирования веб-проекта Антон Баранов
  2. 2. Кто я? Антон Баранов начальник отдела по работе с клиентами в компании ITSumma В прошлом - системный администратор Linux. Более 7 лет опыта работы с Linux-системами и web-проектами различной сложности. Последние два года тружусь над обеспечением стабильной работы highload-проектов для посетителей со всего мира.
  3. 3. О нашей компании: Работаем с 2008 года. Офисы в Иркутске, Санкт-Петербурге и Москве. 150+ клиентов на круглосуточной поддержке. 90ТБ резервных копий. 5 оповещений о «сломавшихся» бэкапах в сутки.
  4. 4. Мы поддерживаем:
  5. 5. Содержание доклада: •Что бэкапить? •Когда? •Чем? •Откуда? •Как проверить бэкапы?
  6. 6. Внимание! Говорим про LA(N)MP
  7. 7. Бэкап ломается раз в 29 дней
  8. 8. 0 10 20 30 40 50 Люди делают бэкапы один раз в … День 8% Неделю 9% Месяц 19% Год 39% Никогда 25% * по статистике BackBlaze за 2015-й год
  9. 9. Общая информация •Что именно нужно бэкапить? •Типы бэкапов. Плюсы и минусы. •Периодичность создания. •Выбор хранилища.
  10. 10. Что бэкапим? •Файлы сайтов •Базы данных •Конфигурационные файлы •Список установленного ПО •Директории с самосборными сервисами
  11. 11. Типы бэкапов •Полный •Инкрементальный
  12. 12. Полные бэкапы Плюсы: • Самодостаточен • Прост в восстановлении • Легко проверить
  13. 13. Полные бэкапы Минусы: • Большой объем • Длительное время создания • Большая нагрузка по сравнению с инкрементальным бэкапом
  14. 14. Инкрементальные бэкапы Плюсы: • Меньше нагрузка на систему • Для передачи нужно меньше трафика • Занимают меньше места
  15. 15. Инкрементальные бэкапы Минусы: • Сложно проверить валидность • Сложно восстанавливать
  16. 16. Периодичность создания Один раз в сутки ночью
  17. 17. Периодичность создания Основные факторы: • Важность данных • Объем
  18. 18. Периодичность создания • Важные данные бэкапим чаще • Объемные - реже
  19. 19. Период хранения • Минимально - 1 неделя • Идеально - бесконечно
  20. 20. Выбор хранилища Не нужно хранить все яйца в одной корзине
  21. 21. Выбор хранилища Плохое внешнее хранилище: • ftp от хостера в этом же ДЦ • сервер в офисе • Dropbox/Яндекс.Диск
  22. 22. Выбор хранилища Хорошее внешнее хранилище: • выделенный сервер с объемными дисками • Amazon S3 или аналоги (может быть низкая скорость аплоада)
  23. 23. Выбор хранилища Идеальный вариант: • Локальное: отдельный диск • Внешнее: сервер в другом ДЦ
  24. 24. Создание бэкапов • Источники данных для бэкапа • Файлы • БД • Конфигурационные файлы • Особенности создания/восстановления
  25. 25. Источники данных • production-сервер • резерв
  26. 26. Бэкапы с production • аффектят производительность ресурса • проблемы с местом на дисках • можно создавать только в определенное время
  27. 27. Бэкапы с резерва Плюсы: • не аффектят работу ресурса • нет ограничений по времени и способам создания
  28. 28. Бэкапы с резерва Минусы: • нужно поддерживать резерв в актуальном состоянии
  29. 29. Синхронизация на резерв • Файлы: lsyncd (без delete) • БД: штатные средства репликации (реплика не является бэкапом)
  30. 30. Бэкапы файлов • Небольшой объем и количество файлов - архивация и копирование • Большой объем данных - rsync на бэкапный сервер (без delete, либо в /backup/YY-MM-DD)
  31. 31. Бэкапы файлов • Данных много, места мало: стриминг 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
  32. 32. Бэкапы файлов Не нужно бэкапить: • кэши • внутренние бэкапы CMS • логи приложения
  33. 33. Бэкапы БД Инструменты: • Mysqldump • Percona xtrabackup • pg_dump
  34. 34. Бэкапы БД Трюки: • отложенная репликация pt-slave-delay или CHANGE MASTER TO MASTER_DELAY • репликация и резервирование бинлогов
  35. 35. Бэкапы конфигов • Настройки, кроны, список установленных пакетов, иногда - самосборное ПО • Git в /etc + autocommit • Системы управления конфигурациями
  36. 36. Неочевидные особенности бэкапов • Процесс бэкапа БД не запускается • Бэкапим не ту БД • Бэкап с неактуального резерва • Период бэкапа БД не выверен • Процедура восстановления БД не отлажена
  37. 37. Неочевидные особенности бэкапов • Восстанавливаем не той версией xtrabackup • Нет места для распаковки • ETA восстановления внезапно велико • Апдейт ПО на сервере привел к неработоспособности бэкапов
  38. 38. Неочевидные особенности бэкапов • Архив битый • Бэкап без статики • Архив с картинками сжимается • Бэкапы на том же сервере • Конфиги сервера не бэкапятся
  39. 39. Верификация бэкапов • Тестовый стенд • Мониторинг процесса • Ручные проверки
  40. 40. Верификация бэкапов Непроверенный бэкап - не бэкап
  41. 41. Тестовый стенд • Пять виртуалок для проверки MySQL: 5.1, 5.5, 5.6, 5.7, MariaDB 10 • Скрипты для распаковки, apply-log • Возможность создать виртуалку для проверки всех бэкапов проекта (БД, файлы, конфиги)
  42. 42. Мониторинг процесса • Сервер во время создания (место на диске, нагрузка, доступность проекта) • Вывод логов бэкапных скриптов (innobackupex: completed OK!) • Размер созданных бэкапов
  43. 43. Мониторинг процесса • Изменение размера заливаемых бэкапов • Дату последнего бэкапа
  44. 44. Ручные проверки • Возможность распаковки бэкапа • Проверка времени распаковки • Проверка содержимого бэкапа
  45. 45. Ручные проверки На стенде: • Восстанавливаем БД • Распаковываем файлы сайта • Восстанавливаем конфиги • Проверяем сайт в браузере
  46. 46. Надежный бэкап • Содержит все необходимое для восстановления с нуля • Известны сроки восстановления и они приемлемы • Бэкап актуален • Бэкап проверен • Создается
  47. 47. Антон Баранов https://www.facebook.com/anton.s.baranov abaranov@itsumma.ru https://anton-baranov.me
  48. 48. http://www.itsumma.ru/blog/1/ https://www.percona.com/blog/2012/01/18/b acking-up-binary-log-files-with-mysqlbinlog/ https://www.itsumma.ru/blog/5/

×