Архитектуры Backup & Recovery
          решений
          Илья Космодемьянский
          hydrobiont@gmail.com




               Москва 2011
Падения неизбежны


• Не бывает абсолютной отказоустойчивости
• “Быстро поднятое не считается упавшим”
“Поднятая” система


• Доступна
• Восстановлена производительность
• Не потеряны данные
восстановление
               доступности


0                                      время
    падение         восстановление
                  производительности
При работе системы проиходят
изменения
(копируем файлы, пишем в базу)


                                         w
             w               w
                         w           w
                 w                       w             восстановление
                     w           w                      доступности


         0                                                                      время
                                             падение         восстановление
                                                           производительности
При работе системы проиходят
изменения
(копируем файлы, пишем в базу)                         На момент падения:
                                                       • Завершились успешно
                                                       • Не завершились / не известно
                                         w
             w               w
                         w           w
                 w                       w             восстановление
                     w           w                      доступности


         0                                                                              время
                                             падение         восстановление
                                                           производительности
Данные:
Процедура восстановления


• Восстановлены данные, которые не изменялись
• Восстановлены данные, которые изменялись в момент падения
• Восстановлена работоспособность системы
Восстановлены данные, которые изменялись в момент
                      падения?




• Обычно это означает, что изменения вычищены из системы
• В транзакционных системах: откатить изменения
Восстановление
непротиворечивого состояния
 системы на момент падения
Backup & Recovery


                 Восстановление
           непротиворечивого состояния
            системы на момент падения
Backup & Recovery


                 Восстановление
           непротиворечивого состояния
            системы на момент падения
Recovery objectives


• RTO
• RPO
• SLA
Что бэкапить?

•   Всё?

•   Системный раздел ОС?

•   Данные?

•   Важные конфиги?
Что бэкапить?
Что бэкапить?




                    Архив

                +
данные                                                           20Tb
полный backup                                                           20Tb
   Diff -1 дня    1Tb
   Diff - 2 дня         2Tb
                              3Tb                     differential backup
                                    4Tb
                                          5Tb
                                                6Tb
                                                      7Tb
                                                            8Tb
                                                                  9Tb
 Diff - 10 дней                                                         10Tb
Инкрементальный бэкап
    полный backup                                        20Tb
2й день - инкремент 1Tb
                    1Tb
                          инкремент от полного бэкапа!
                    1Tb
                    1Tb
                    1Tb
                    1Tb
    полный backup                                        20Tb
Restore set
полный backup                             20Tb

2й день - инкремент   1Tb

         3й день - инкремент 1Tb
Restore set
полный backup                           20Tb

2й день - инкремент 1Tb


         3й день - инкремент 1Tb
Level backup
полный backup - L0                  20Tb
      2й день - L1
      3й день - L2
      4й день - L3




    полный backup                   20Tb
Backup retention
        плн.    инк.   инк.   инк.   инк.   инк.   инк.
1 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
2 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
3 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
4 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
5 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
6 нед   20Tb

        120Tb   5Tb    5Tb    5Tb    5Tb    5Tb    5Tb    150Tb
Период - 4 недели!

                Backup retention
        плн.    инк.   инк.   инк.   инк.   инк.   инк.
1 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
2 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
3 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
4 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
5 нед   20Tb    1Tb    1Tb    1Tb    1Tb    1Tb    1Tb
6 нед   20Tb

        120Tb   5Tb    5Tb    5Tb    5Tb    5Tb     5Tb   150Tb
Бэкап файловой системы

•   dump/restore

•   cpio и tar (GNU!!)

•   dd

•   rsync
Базы данных


•   Заточены под backup&recovery

•   Холодный и горячий backup
Архивирование WAL
       undo
redo                   WAL


              Archivelog
Как выглядит бэкап?


•   Копируем датафайл

•   Он (возможно) неконсистентен

•   Для восстановления нужны архивные логи
Oracle

•   RMAN

•   Уровни

•   параллелизм

•   работа с железом

•   каталог
PostgreSQL


•   Полный бэкап

•   Архивирование WAL

•   Нет уровней (вернее есть но один)
MySQL


•   Enterprise Backup и Percona XtraBackup

•   Только для транзакционных энджинов
Вредные советы
               Заменяйте бэкап репликацией!


•   Падения бывают не только от сбоя железа, но и от кривых рук

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

•   За самой репликацией нужен глаз да глаз
Вредные советы
Выделяйте человеческие ресурсы на обеспечение бэкапа по
                остаточному принципу!


  •   Пока не понадобилось восстановление, про бэкап никто не
      помнит

  •   Часто это обязанность самого младшего админа
Вредные советы
       Тестовое восстановление придумали трусы!



•   Любой бэкап может быть битым

•   Проверить можно только восстановлением
Вредные советы
       Главное чтобы в целом все как-то работало!


•   C backup & recovery мелочей не бывает

•   “В системе было предусмотрено решение HP DataProtector
    стоимостью $$$$$$, но никто не вспомнил настройки LVM”

•   Сервер с каталогом RMAN восстановить не удалось
•   W. Curtis Preston - Backup & Recovery: Inexpensive Backup
    Solutions for Open Systems

•   Steven Nelson - Pro Data Backup and Recovery

•   Oracle Backup and Recovery User's Guide

Архитектуры Backup&recovery решений (Илья Космодемьянский)

  • 1.
    Архитектуры Backup &Recovery решений Илья Космодемьянский hydrobiont@gmail.com Москва 2011
  • 2.
    Падения неизбежны • Небывает абсолютной отказоустойчивости • “Быстро поднятое не считается упавшим”
  • 3.
    “Поднятая” система • Доступна •Восстановлена производительность • Не потеряны данные
  • 4.
    восстановление доступности 0 время падение восстановление производительности
  • 5.
    При работе системыпроиходят изменения (копируем файлы, пишем в базу) w w w w w w w восстановление w w доступности 0 время падение восстановление производительности
  • 6.
    При работе системыпроиходят изменения (копируем файлы, пишем в базу) На момент падения: • Завершились успешно • Не завершились / не известно w w w w w w w восстановление w w доступности 0 время падение восстановление производительности
  • 7.
  • 8.
    Процедура восстановления • Восстановленыданные, которые не изменялись • Восстановлены данные, которые изменялись в момент падения • Восстановлена работоспособность системы
  • 9.
    Восстановлены данные, которыеизменялись в момент падения? • Обычно это означает, что изменения вычищены из системы • В транзакционных системах: откатить изменения
  • 10.
  • 11.
    Backup & Recovery Восстановление непротиворечивого состояния системы на момент падения
  • 12.
    Backup & Recovery Восстановление непротиворечивого состояния системы на момент падения
  • 13.
  • 14.
    Что бэкапить? • Всё? • Системный раздел ОС? • Данные? • Важные конфиги?
  • 15.
  • 16.
  • 17.
    данные 20Tb полный backup 20Tb Diff -1 дня 1Tb Diff - 2 дня 2Tb 3Tb differential backup 4Tb 5Tb 6Tb 7Tb 8Tb 9Tb Diff - 10 дней 10Tb
  • 18.
    Инкрементальный бэкап полный backup 20Tb 2й день - инкремент 1Tb 1Tb инкремент от полного бэкапа! 1Tb 1Tb 1Tb 1Tb полный backup 20Tb
  • 19.
    Restore set полный backup 20Tb 2й день - инкремент 1Tb 3й день - инкремент 1Tb
  • 20.
    Restore set полный backup 20Tb 2й день - инкремент 1Tb 3й день - инкремент 1Tb
  • 21.
    Level backup полный backup- L0 20Tb 2й день - L1 3й день - L2 4й день - L3 полный backup 20Tb
  • 22.
    Backup retention плн. инк. инк. инк. инк. инк. инк. 1 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 2 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 3 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 4 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 5 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 6 нед 20Tb 120Tb 5Tb 5Tb 5Tb 5Tb 5Tb 5Tb 150Tb
  • 23.
    Период - 4недели! Backup retention плн. инк. инк. инк. инк. инк. инк. 1 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 2 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 3 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 4 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 5 нед 20Tb 1Tb 1Tb 1Tb 1Tb 1Tb 1Tb 6 нед 20Tb 120Tb 5Tb 5Tb 5Tb 5Tb 5Tb 5Tb 150Tb
  • 24.
    Бэкап файловой системы • dump/restore • cpio и tar (GNU!!) • dd • rsync
  • 25.
    Базы данных • Заточены под backup&recovery • Холодный и горячий backup
  • 26.
    Архивирование WAL undo redo WAL Archivelog
  • 27.
    Как выглядит бэкап? • Копируем датафайл • Он (возможно) неконсистентен • Для восстановления нужны архивные логи
  • 28.
    Oracle • RMAN • Уровни • параллелизм • работа с железом • каталог
  • 29.
    PostgreSQL • Полный бэкап • Архивирование WAL • Нет уровней (вернее есть но один)
  • 30.
    MySQL • Enterprise Backup и Percona XtraBackup • Только для транзакционных энджинов
  • 31.
    Вредные советы Заменяйте бэкап репликацией! • Падения бывают не только от сбоя железа, но и от кривых рук • Проблемы от кривых рук очень быстро расползаются с мастера • За самой репликацией нужен глаз да глаз
  • 32.
    Вредные советы Выделяйте человеческиересурсы на обеспечение бэкапа по остаточному принципу! • Пока не понадобилось восстановление, про бэкап никто не помнит • Часто это обязанность самого младшего админа
  • 33.
    Вредные советы Тестовое восстановление придумали трусы! • Любой бэкап может быть битым • Проверить можно только восстановлением
  • 34.
    Вредные советы Главное чтобы в целом все как-то работало! • C backup & recovery мелочей не бывает • “В системе было предусмотрено решение HP DataProtector стоимостью $$$$$$, но никто не вспомнил настройки LVM” • Сервер с каталогом RMAN восстановить не удалось
  • 35.
    W. Curtis Preston - Backup & Recovery: Inexpensive Backup Solutions for Open Systems • Steven Nelson - Pro Data Backup and Recovery • Oracle Backup and Recovery User's Guide