Скачать презентацию Организация резервного копирования сложных интернет магазинов Евгений Потапов Скачать презентацию Организация резервного копирования сложных интернет магазинов Евгений Потапов

2016 Failoverconf - Организация резервного копирования сложных интернет магазинов.pptx

  • Количество слайдов: 53

Организация резервного копирования сложных интернет магазинов Евгений Потапов ITSumma Организация резервного копирования сложных интернет магазинов Евгений Потапов ITSumma

Евгений Потапов ITSumma. ru, генеральный директор Круглоcуточное удаленное администрирование серверов и техническая поддержка сайтов Евгений Потапов ITSumma. ru, генеральный директор Круглоcуточное удаленное администрирование серверов и техническая поддержка сайтов 100 миллионов уникальных посетителей в сутки на поддерживаемых сайтах

на поддержке на поддержке

Работаем с 2008 года Офисы в Иркутске, Санкт-Петербурге и Москве 150+ клиентов на круглосуточной Работаем с 2008 года Офисы в Иркутске, Санкт-Петербурге и Москве 150+ клиентов на круглосуточной поддержке 90 ТБ резервных копий 5 оповещений о «сломавшихся» бэкапов в сутки

Содержание • Что такое надежный бэкап? • С какими проблемами можно столкнуться? • Как Содержание • Что такое надежный бэкап? • С какими проблемами можно столкнуться? • Как правильно делать бэкапы? • Как правильно проверять бэкапы? • Disclaimer: говорим LA(N)MP

Критерии надежности бэкапа • Бэкап создается, туда входит все необходимое • Из бэкапа можно Критерии надежности бэкапа • Бэкап создается, туда входит все необходимое • Из бэкапа можно восстановиться в приемлемое время • При восстановлении из бэкапа данные сохраняют свою актуальность • Из бэкапа можно восстановиться в случае аварии сервера/датацентра

 «Да чему там ломаться? » «Да чему там ломаться? »

Где можно ошибиться - БД • Процесс дампа базы не запускается Где можно ошибиться - БД • Процесс дампа базы не запускается

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных • Во время резервного копирования заканчивается место на диске

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных • Во время резервного копирования заканчивается место на диске • Дамп базы данных делается с неработающего слейва

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных • Во время резервного копирования заканчивается место на диске • Дамп базы данных делается с неработающего резерва • Дамп базы данных делается реже чем необходимо

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных • Во время резервного копирования заканчивается место на диске • Дамп базы данных делается с неработающего резерва • Дамп базы данных делается реже чем необходимо • Дамп базы данных сохраняется только на том же сервере

Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы Где можно ошибиться - БД • Процесс дампа базы не запускается • Дамп базы данных копирует не ту базу данных • Во время резервного копирования заканчивается место на диске • Дамп базы данных делается с неработающего резерва • Дамп базы данных делается реже чем необходимо • Дамп базы данных сохраняется только на том же сервере • Дамп базы данных делается «хитрым» способом и невосстановим

Где можно ошибиться - статика • Статические файлы вообще не копируются Где можно ошибиться - статика • Статические файлы вообще не копируются

Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется без карточек товара

Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется без карточек товара • Статика запаковывается в архив

Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется Где можно ошибиться - статика • Статические файлы вообще не копируются • Статика копируется без карточек товара • Статика запаковывается в архив • Все складывается на тот же сервер

Где можно ошибиться - конфигурация • «Конфиги» не бэкапируются Где можно ошибиться - конфигурация • «Конфиги» не бэкапируются

Как сделать правильно? • Осознание и постановка требований • Правильное копирование • Регулярная проверка Как сделать правильно? • Осознание и постановка требований • Правильное копирование • Регулярная проверка работоспособности • Проверка восстановления

Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на заданный момент времени?

Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на заданный момент времени? • Как долго займет процесс восстановления базы? Статики? Сервера целиком?

Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на Как сделать правильно? – постановка требований • Насколько актуальными будут данные при восстановлении на заданный момент времени? • Как долго займет процесс восстановления базы? Статики? Сервера целиком? • Где хранятся бэкапы? Насколько эта площадка не связана с основной?

Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с долгим полным восстановлением.

Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с долгим полным восстановлением. • Применяем Xtrabackup для создания полных копий (отдельные таблицы восстановить можно, но сложнее) http: //www. itsumma. ru/blog/1/

Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с долгим полным восстановлением. • Применяем Xtrabackup для создания полных копий (отдельные таблицы восстановить можно, но сложнее) http: //www. itsumma. ru/blog/1/ • Сервер с отложенной репликацией для защиты от человеческого фактора (pt-slave-delay или CHANGE MASTER TO MASTER_DELAY)

Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с Как сделать правильно? – бэкап My. SQL • Mysqldump – долгая, блокирующая процедура с долгим полным восстановлением. • Применяем Xtrabackup для создания полных копий (отдельные таблицы восстановить можно, но сложнее) http: //www. itsumma. ru/blog/1/ • Сервер с отложенной репликацией для защиты от человеческого фактора (pt-slave-delay или CHANGE MASTER TO MASTER_DELAY) • Репликация и резервирование binlog-ов (с помощью mysqlbinlog https: //www. percona. com/blog/2012/01/18/backing-up-binary-logfiles-with-mysqlbinlog/)

Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование

Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Не хватает места, много данных – tar + stream 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

Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Не хватает места, много данных – tar + stream 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 • Большой объем данных – rsync на бэкапный сервер (без delete)

Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Как сделать правильно? – статика • Нефатальное количество файлов – архивация и копирование • Не хватает места, много данных – tar + stream 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 • Большой объем данных – rsync на бэкапный сервер (без delete) • Есть резерв – lsyncd на резервный сервер без delete

Как сделать правильно? – конфиги • git autocommit /etc директории Как сделать правильно? – конфиги • git autocommit /etc директории

Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего что надо бэкапить (кроны, конфиги) и бэкапим

Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего что надо бэкапить (кроны, конфиги) и бэкапим • Совсем по хорошему – управление конфигурацией

Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего Как сделать правильно? – конфиги • git autocommit /etc директории • составляем список всего что надо бэкапить (кроны, конфиги) и бэкапим • Совсем по хорошему – управление конфигурацией

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан.

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта)

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта) • Мониторим вывод логов бэкапных скриптов (innobackupex: completed OK!)

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта) • Мониторим вывод логов бэкапных скриптов (innobackupex: completed OK!) • Мониторим размер залитых бэкапов (слишком маленькие – алерт)

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта) • Мониторим вывод логов бэкапных скриптов (innobackupex: completed OK!) • Мониторим размер залитых бэкапов (слишком маленькие – алерт) • Мониторим изменение размера залитых бэкапов (не меняется – алерт)

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта) • Мониторим вывод логов бэкапных скриптов (innobackupex: completed OK!) • Мониторим размер залитых бэкапов (слишком маленькие – алерт) • Мониторим изменение размера залитых бэкапов (не меняется – алерт) • Мониторим последнюю дату залитых бэкапов (не было больше суток – алерт)

Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы Как сделать правильно? – мониторинг • Бэкап ломается раз в 29 дней. Если вы его не проверяли - весьма вероятно что он уже сломан. • Мониторим сервер во время создания бэкапа (место на диске, доступность сайта) • Мониторим вывод логов бэкапных скриптов (innobackupex: completed OK!) • Мониторим размер залитых бэкапов (слишком маленькие – алерт) • Мониторим изменение размера залитых бэкапов (не меняется – алерт) • Мониторим последнюю дату залитых бэкапов (не было больше суток – алерт)

Как сделать правильно? – контроль • Не верим роботам Как сделать правильно? – контроль • Не верим роботам

Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив

Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив • Проверка времени распаковки

Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив • Проверка времени распаковки • Проверка того что в бэкап входит все что нужно

Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив • Проверка времени распаковки • Проверка того что в бэкап входит все что нужно • Попытка поднять БД

Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив Как сделать правильно? – контроль • Не верим роботам • Проверка возможности распаковать архив • Проверка времени распаковки • Проверка того что в бэкап входит все что нужно • Попытка поднять БД • Попытка поднять сайт

Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап

Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Реплика – не бэкап

Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Реплика – не бэкап • Сделать правильно на старте проще чем сделать правильно потом

Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Как сделать правильно? – bonus track • Не проверенный бэкап – не бэкап • Реплика – не бэкап • Сделать правильно на старте проще чем сделать правильно потом • Все равно очень страшно

Евгений Потапов http: //facebook. com/eapotapov@itsumma. ru http: //itsumma. ru Евгений Потапов http: //facebook. com/[email protected] ru http: //itsumma. ru