26
Резервное копирование: нужно ли делать бэкапы, как часто, сценарии использования Александр Демидов «1С-Битрикс»

Резервное копирование: нужно ли делать бэкапы , как часто, сценарии использования

  • Upload
    ashanti

  • View
    85

  • Download
    0

Embed Size (px)

DESCRIPTION

Резервное копирование: нужно ли делать бэкапы , как часто, сценарии использования. Александр Демидов «1С-Битрикс». Исследование Strategic Research Institute. 30% предпринимателей после утраты данных прекращают предпринимательскую деятельность в течение года. - PowerPoint PPT Presentation

Citation preview

Page 1: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Резервное копирование: нужно ли делать бэкапы, как часто, сценарии использования

Александр Демидов«1С-Битрикс»

Page 2: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Исследование Strategic Research Institute

30% предпринимателей после утраты данных прекращают предпринимательскую деятельность в течение года. 60% предпринимателей, потерявших ВСЕ данные, прекращают предпринимательскую деятельность в течение 6 месяцев после этого.

Не забывайте «сохраняться»

Page 3: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Общие принципы

Для разных сценариев сбоев – разные бэкапы

Нужно бэкапить файлы и базу данных

Это нужно делать постоянно, а не перед аварией

Нужно бэкапить конфиги и настройки серверов и софта

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

Нужно уметь восстанавливаться быстро и уверенно

Восстановление можно частично автоматизировать

Page 4: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Лишь 1 из 10 сайтов имеет «правильный» бэкап

Изолированность

Целостность

Версионность

Безопасность

Page 5: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Бэкап базы данных

Репликация – не бэкап. Но может выполнить некоторые его функции (например, при использовании pt-slave-delay).

Для восстановления целого сервера БД в случае аварии используем образ машин со всеми дисками – делаем целостный бэкап RAID’а, используя файловую систему, поддерживающую freeze и механизм snapshot’ов.

Логические (mysqldump) и бинарные инкрементальные (Xtrabackup) бэкапы используются для восстановления отдельных баз или таблиц, поврежденных в случае некорректных операций в системе или ошибок пользователей.

Второй тип бэкапов делается на выделенном slave, на который не распределяется общая нагрузка. Тем самым ресурсоемкие операции создания бэкапов не влияют на работу пользователей.

Page 6: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Бэкап файлов – традиционно: tar + gz/bz2:

Есть везде

Элементарный скрипт напишет любой программист

Каждый раз полный бэкап, большие объемы

Есть псевдо-инкрементальный бэкап. Он неудобный

Много мелких файлов - проблемы

Если не SSD, то тормозят прочие дисковые операции

Достать один файл - распаковывать все

Page 7: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Альтернативы

rsync

csync2

lsyncd

rdiff-backup

csync2 + inotify + самописные скрипты

bacula

И т.д.

Page 8: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Нюансы

*sync* - не бэкапы, в «зеркало» контента

Как и в случае с базой, могут использоваться для создания резервных копий (чтобы не делать этого на «бою»)

Page 9: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

inotify

Defaults

/proc/sys/fs/inotify/max_user_watches

8192

/proc/sys/fs/inotify/max_user_instances

128

/proc/sys/fs/inotify/max_queued_events

16384

Page 10: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Как делать бэкап RAID?

Для Amazon EC2 есть удобный механизм snapshot’ов. Как сделать целостный бэкап RAID из нескольких дисков? А лучше – всей машины в целом

Используем файловую систему, поддерживающую freeze (xfs, утилита xfs_freeze; или на новых ядрах Linux и ext3/ext4 и механизм fsfreeze).Делаем freeze файловой системы (в случае MySQL правильно предварительно сделать FLUSH TABLES WITH READ LOCK).Делаем снэпшоты всех дисков.«Размораживаем» файловую систему.Для бэкапа файлов – достаточно, но если хотим быстро и удобно переезжать между AZ (Availability Zones), используем более высокий уровень абстракции и оперируем образами целых машин – AMI (Amazon Machine Image).

Page 11: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Где хранить бэкап?

Облачные хранилища (например, Amazon S3)Доступность – 99.99%Надежность – 99.999999999%ACLШифрование (server-side, client-side)

ВерсионностьРезервирование собственными средствами

Page 12: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

«Глубина» хранения

По одному на деньЕженедельныйЕжемесячный

Page 13: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Дополнительно - Glacier

Page 14: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Мониторинг всех процессов бэкапов

Лог работы скрипта (>) – обновился за N часов

Лог ошибок работы скрипта (2>) – должен быть пуст

Page 15: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Как упростить процесс?

Безопасность: унести на другой диск, сервер, к другому провайдеру.

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

С облачным бэкапом договоров не нужно, настроек не нужно, а бэкап сразу сохраняется в облаке «1С-Битрикс».

Page 16: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Облачный бэкап

Каждому лицензионному ключу бесплатно выделяется место в облаке (в зависимости от редакции).

Редакция Место в облаке

Старт 500 Мб

Стандарт 1 Гб

Малый бизнес 2 Гб

Эксперт 3 Гб

Бизнес 5 Гб

Веб-кластер 10 Гб

Бизнес веб-кластер 25 Гб

Хранение бэкапа в облаке «1С-Битрикс» полностью безопасно. У нас нет доступа к этим данным.

Page 17: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Шифрование blowfish

Безопасность в облаке

Бэкап

Облако 1С-Битрикс

restore.php

Пароль архива

Page 18: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Как настроить автоматический бэкап

Если сайт работает на собственном окружении

Настроить выполнение агентов на cron, запуская каждую минуту/bitrix/modules/main/tools/cron_events.php

Поставить на нужное время задачу на cron на запуск/bitrix/modules/main/tools/backup.php

ИЛИ

Page 19: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Как работает автоматический бэкап

агенты

cron

cron_events.php

время X

почта

backup.php

Page 20: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Если обновлены до 14 версии

Page 21: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования
Page 22: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования
Page 23: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Независимость от провайдерасайт легко перенести

Надежностьданные многократно резервируются в облаке

Доступностьв любом месте можете развернуть бэкап

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

Безопасностьваши данные шифруются, даже сотрудники 1С-Битрикс не имеют к ним доступа

Облако 1С-Битрикс

Page 24: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Бэкап настроек и конфигурациисистемного ПО

Система контроля версий

etckeeper

Образы машин с «чистой» конфигурацией

RPM-пакеты

Chef и т.п.

Page 25: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Резюме

Имея правильно спроектированную систему резервного

копирования, а также отлаженные процессы работы с

резервными копиями, можно быстро восстановить

работоспособность проекта или отдельных его элементов,

даже в случае критических сбоев, в том числе с потерей

данных.

Page 26: Резервное копирование: нужно ли делать  бэкапы , как часто,  сценарии использования

Спасибо за внимание! Вопросы?

Александр Демидов

[email protected]

+7-926-521-3700

@demidov

http://www.1c-bitrix.ru