Улучшенные скрипты предварительной и последующей обработки для создания моментального снимка с согласованием базы данных

Служба Azure Backup уже предоставляет платформу скриптов предварительной и последующей обработки для обеспечения согласованности приложений на виртуальных машинах Linux с использованием Azure Backup. Это подразумевает вызов скрипта предварительной обработки (для заморозки приложений) перед созданием моментального снимка дисков и вызов скрипта последующей обработки (команды для разморозки приложений) после завершения создания моментального снимка с целью возврата приложений в нормальный режим.

Написание, отладка и поддержка скриптов предварительной и последующей обработки могут представлять сложности. Чтобы устранить эти сложности, служба Azure Backup предоставляет упрощенный интерфейс скриптов предварительной и последующей обработки для баз данных маркировки, позволяющий получить моментальный снимок с согласованием приложений с наименьшими накладными расходами.

Схема, показывающая моментальный снимок, согласованный с приложениями Linux по Azure Backup.

Новая улучшенная платформа скриптов предварительной и последующей обработки имеет следующие основные преимущества:

  • Эти скрипты предварительной и последующей обработки устанавливаются непосредственно на виртуальные машины Azure вместе с расширением резервного копирования. Это исключает необходимость создавать эти скрипты и скачивать их из внешнего расположения.
  • Определение и содержимое скриптов предварительной и последующей обработки можно просмотреть в GitHub. Можно даже отправить свои предложения и изменения. Вы можете даже отправлять собственные предложения и изменения через GitHub. Они будут рассмотрены и реализованы на пользу более широкого сообщества.
  • Вы можете даже добавлять новые скрипты предварительной и последующей обработки для других баз данных через GitHub. Они будут рассмотрены и реализованы на пользу более широкого сообщества.
  • Надежная платформа эффективно обрабатывает различные сценарии, например, сбой выполнения или непредвиденное завершение скрипта предварительной обработки. В любом случае скрипт последующей обработки будет запущен автоматически для отката всех изменений, внесенных скриптом предварительной обработки.
  • Платформа также предоставляет канал обмена сообщениями, с помощью которого внешние инструменты могут получать обновления и подготавливать собственные планы действий для любых сообщений или событий.

Поток решения

Схема, показывающая поток решения.

Матрица поддержки

Улучшенная платформа охватывает следующий список баз данных:

Предварительные требования

Вам необходимо только изменить файл конфигурации workload.conf в папке /etc/azure, указав в нем сведения о подключении. Это позволит Azure Backup подключиться к соответствующему приложению и выполнить скрипты предварительной и последующей обработки. В файле конфигурации содержатся следующие параметры.

[workload]
# valid values are mysql, oracle
workload_name =
command_path = 
linux_user =
credString = 
ipc_folder = 
timeout =

В следующей таблице описаны параметры.

Параметр Обязательный Описание
workload_name Да Этот параметр будет содержать имя базы данных, для которой необходимо получить моментальный снимок с согласованием приложений. Текущие поддерживаемые значения: oracle и mysql.
command_path/configuration_path Этот параметр будет содержать путь к бинарному файлу рабочей нагрузки. Это поле не является обязательным, если путь к бинарному файлу рабочей нагрузки добавлен в переменную PATH.
linux_user Да Этот параметр будет содержать имя пользователя Linux, у которого есть доступ на вход в базу данных. Если это значение не за установлено, то пользователем по умолчанию является root.
credString Это строка учетных данных для подключения к базе данных. Она будет содержать всю строку входа.
ipc_folder Рабочая нагрузка может записывать данные только в определенных путях в файловой системе. Необходимо указать здесь соответствующий путь к папке, чтобы скрипт предварительной обработки мог записывать состояния по этому пути.
timeout Да Это максимальное время, в течение которого база данных будет находиться в состоянии заморозки. Значение по умолчанию: 90 (секунд). Не рекомендуется устанавливать значение менее 60 секунд.

Примечание

Определение JSON — это шаблон, который служба Azure Backup может изменить в соответствии с конкретной базой данных. Чтобы проанализировать файл конфигурации для определенной базы данных, обратитесь к руководству по этой базе данных.

Общая процедура использования улучшенной платформы скриптов предварительной и последующей обработки описана ниже.

  • Подготовка среды базы данных
  • Изменение файла конфигурации
  • Запуск резервного копирования виртуальной машины
  • Восстановление виртуальных машин или дисков/файлов из точки восстановления с согласованием приложений (при необходимости).

Создание стратегии резервного копирования базы данных

Использование моментальных снимков вместо потоковой передачи

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

  • Производительность и затраты: ежедневное полное резервное копирование и резервное копирование журналов обеспечит самое быстрое восстановление, но приведет к значительным затратам. Включение потоковой передачи разностных/добавочных резервных копий позволит снизить стоимость, но может отрицательно сказаться на производительности восстановления. Однако наилучшее сочетание производительности и затрат обеспечивают моментальные снимки. Так как моментальные снимки по существу являются добавочными, они оказывают наименьшее влияние на производительность во время резервного копирования, быстро восстанавливаются и позволяют сократить затраты.
  • Влияние на базу данных и инфраструктуру: производительность потоковой передачи резервных копий зависит от числа операций ввода-вывода в секунду базового хранилища и доступной пропускной способности сети при передаче резервных копий в удаленное расположение. У моментальных снимков нет такой зависимости, и потребность в числе операций ввода-вывода в секунду и пропускной способности сети значительно снижается.
  • Повторное использование: команды для запуска различных типов потоковой передачи резервных копий отличаются для каждой базы данных. Поэтому скрипты нельзя легко использовать повторно. Кроме того, если вы используете разные типы резервных копий, обязательно оцените цепочку зависимостей, чтобы сохранить жизненный цикл. Для моментальных снимков можно легко написать скрипты, так как в них нет цепочки зависимостей.
  • Долгосрочное хранение: полные резервные копии всегда удобны для долгосрочного хранения, так как их можно перемещать и восстанавливать независимо друг от друга. Но для оперативного резервного копирования с кратковременным хранением более предпочтительны моментальные снимки.

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

Стратегия резервного копирования журналов

В основе улучшенной платформы скриптов предварительной и последующей обработки лежит запланированное резервное копирование виртуальных машин Azure один раз в день. Поэтому окно потери данных с целевой точкой восстановления в 24 часа не подходит для баз данных в рабочей среде. Это решение дополняется стратегией резервного копирования журналов, при которой резервные копии журналов передаются явным образом.

NFS для BLOB-объектов и NFS для AFS (предварительная версия) помогают легко подключать тома напрямую к виртуальным машинам базы данных и использовать клиентов базы данных для передачи резервных копий журналов. Окно потери данных, т. е. целевая точка восстановления, опускается до частоты резервного копирования журналов. Кроме того, целевые ресурсы NFS не должны иметь высокую производительность, так как после создания моментальных снимков с согласованием базы данных вам может не понадобиться запускать обычную потоковую передачу (полную и добавочную) для оперативных резервных копий.

Примечание

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

Стратегия восстановления

После создания моментальных снимков с согласованием базы данных и потоковой передачи резервных копий журналов в том NFS стратегия восстановления базы данных может использовать функции восстановления резервных копий виртуальных машин Azure. Дополнительно применяется возможность резервного копирования журналов с помощью клиента базы данных. Ниже описаны несколько вариантов стратегии восстановления:

  • Создавайте новые виртуальные машины из точки восстановления с согласованием базы данных. На виртуальной машине уже должна быть подключена точка подключения журнала. Используйте клиенты баз данных, чтобы запускать команды восстановления до точки во времени.
  • Создавайте диски из точки восстановления с согласованием базы данных и подключайте их к другой целевой виртуальной машине. Затем подключайте каталог назначения журнала и используйте клиентов базы данных для запуска команд восстановления до точки во времени.
  • Используйте параметр восстановления файлов и создайте скрипт. Запустите скрипт на целевой виртуальной машине и подключите точку восстановления как диски iSCSI. Затем проверьте данные резервного копирования с помощью клиентов баз данных, запуская функции проверки для конкретной базы данных на подключенных дисках. Также используйте клиенты базы данных для экспорта или восстановления нескольких таблиц или файлов вместо восстановления всей базы данных.
  • Используйте функцию восстановления между регионами для выполнения указанных выше действий из дополнительного связанного региона во время регионального аварийного восстановления.

Сводка

Используя моментальные снимки с согласованием базы данных и журналы, копируемые с помощью настраиваемого решения, вы сможете создать эффективное и доступное решение для резервного копирования баз данных. В рамках этого решения вы будете использовать преимущества резервного копирования виртуальных машин Azure, а также повторно использовать возможности клиентов баз данных.