Восстановление баз данных SAP HANA на виртуальных машинах Azure
В этой статье описывается восстановление баз данных SAP HANA, работающих на виртуальных машинах Azure и резервной копии службы Azure Backup в хранилище служб восстановления. Восстановленные данные можно использовать для создания копий для сценариев разработки и тестирования или возврата в предыдущее состояние.
Azure Backup теперь поддерживает резервное копирование и восстановление экземпляра репликации системы SAP HANA (HSR).
Примечание.
- Процесс восстановления баз данных HANA с HSR совпадает с процессом восстановления для баз данных HANA без HSR. Согласно рекомендациям SAP, можно восстановить базы данных с помощью режима HSR в виде автономных баз данных. Если в целевой системе включен режим HSR, сначала отключите режим, а затем восстановите базу данных. Однако если вы восстанавливаете файлы в качестве файлов, отключение режима HSR (нарушение HSR) не требуется.
- Исходное восстановление расположения (OLR) в настоящее время не поддерживается для HSR. Кроме того, выберите "Альтернативное восстановление расположения ", а затем выберите исходную виртуальную машину в качестве узла из списка.
- Восстановление экземпляра HSR не поддерживается. Однако поддерживается восстановление только экземпляра HANA.
Сведения о поддерживаемых конфигурациях и сценариях см. в таблице поддержки резервного копирования SAP HANA.
Восстановление до точки во времени или до точки восстановления
Azure Backup восстанавливает базы данных SAP HANA, работающие на виртуальных машинах Azure. Возможности службы:
Восстановите их до определенной даты или времени (до второй) с помощью резервных копий журналов. Azure Backup автоматически определяет соответствующие полные резервные копии, разностные резервные копии и цепочку резервных копий журналов, необходимые для восстановления в зависимости от выбранного времени.
Восстановите их до определенной полной или разностной резервной копии, чтобы восстановить их до определенной точки восстановления.
Необходимые компоненты
Прежде чем приступить к восстановлению базы данных, обратите внимание на следующее:
базу данных можно восстановить только в экземпляре SAP HANA, расположенном в том же регионе;
целевой экземпляр должен быть зарегистрирован в том же хранилище, что и исходная база; Дополнительные сведения о резервном копировании баз данных SAP HANA.
Azure Backup не может обнаруживать два разных экземпляра SAP HANA на одной виртуальной машине. Это означает, что восстановить данные из одного экземпляра в другом экземпляре на той же виртуальной машине невозможно.
Чтобы убедиться, что целевой экземпляр SAP HANA готов к восстановлению, проверьте состояние готовности к резервному копированию:
В портал Azure перейдите в центр резервного копирования и выберите "Резервное копирование".
На панели "Пуск: настройка резервного копирования" для типа источника данных выберите SAP HANA на виртуальной машине Azure, выберите хранилище, в котором зарегистрирован экземпляр SAP HANA, а затем нажмите кнопку "Продолжить".
В разделе Обнаружение баз данных в виртуальных машинах выберите Просмотреть сведения.
Проверьте Готовность к резервному копированию для целевой виртуальной машины.
Дополнительные сведения о типах восстановления, поддерживаемых SAP HANA, см. в 1642148 заметки SAP HANA.
Восстановление базы данных
Чтобы восстановить базу данных, необходимы следующие разрешения:
- Оператор резервного копирования: предоставляет разрешения в хранилище, где выполняется восстановление.
- Участник (запись): предоставляет доступ к исходной виртуальной машине, резервной копии.
- Участник (запись): предоставляет доступ к целевой виртуальной машине.
- Если вы выполняете восстановление на ту же виртуальную машину, целевой будет исходная виртуальная машина,
- а если в альтернативное расположение, целевой будет новая виртуальная машина.
В портал Azure перейдите в центр резервного копирования и нажмите кнопку "Восстановить".
Выберите SAP HANA на виртуальной машине Azure в качестве типа источника данных, выберите базу данных, которую вы хотите восстановить, и нажмите кнопку "Продолжить".
В разделе "Конфигурация восстановления" укажите, где или как восстановить данные:
- Альтернативное расположение — база данных восстановится в другом расположении, а оригинальная база данных-источник будет сохранена.
- Перезаписать базу данных — данные будут восстановлены в том же экземпляре SAP HANA, где находилась оригинальная база данных-источник. В этом варианте перезаписывается исходная база данных.
Примечание.
Во время восстановления (применимо только к сценарию внешнего IP-интерфейса виртуального IP-адреса или подсистемы балансировки нагрузки), если вы пытаетесь восстановить резервную копию на целевой узел после изменения режима HSR как автономного или критического HSR перед восстановлением, как рекомендуется SAP, и убедитесь, что Load Balancer указывает на целевой узел.
Примеры сценариев:
- Если вы используете hdbuserstore set SYSTEMKEY localhost в скрипте предварительной регистрации, во время восстановления не будет никаких проблем.
- Если в скрипте предварительной регистрации установлен
SYSTEMKEY <load balancer host/ip>
*hdbuserstore и вы пытаетесь восстановить резервную копию на целевой узел, убедитесь, что подсистема балансировки нагрузки указывает на целевой узел, который необходимо восстановить.
Восстановление в альтернативном расположении
На панели "Восстановление" в разделе "Где и как восстановить?", выберите альтернативное расположение.
Выберите имя узла SAP HANA и имя экземпляра, в которое требуется восстановить базу данных.
Проверьте, готов ли целевой экземпляр SAP HANA к восстановлению, обеспечивая готовность к резервному копированию. Дополнительные сведения см. в разделе Необходимые условия.
В поле Имя восстановленной базы данных введите имя целевой базы данных.
Примечание.
При восстановлении контейнера отдельной базы данных (SDC) должны быть выполнены эти проверки.
Если применимо, установите флажок "Перезаписать", если база данных с тем же именем уже существует в выбранном экземпляре HANA.
В разделе Выбор точки восстановления выберите Журналы (точка во времени), чтобы выполнить восстановление до определенной точки во времени. Или выберите Полные и дифференциальные, чтобы выполнить восстановление до определенной точки восстановления.
Восстановление в виде файлов
Примечание.
Восстановление в виде файлов не работает в общих папках Common Internet File System (CIFS), но работает для сетевой файловой системы (NFS).
Чтобы восстановить данные резервной копии в виде файлов вместо базы данных, выберите "Восстановить как файлы". После дампа файлов в указанный путь их можно перевести на любой компьютер SAP HANA, где вы хотите восстановить их в качестве базы данных. Так как файлы можно переместить на любой компьютер, теперь можно восстановить данные между подписками и регионами.
На панели "Восстановление" в разделе "Где и как восстановить?", выберите "Восстановить как файлы".
Выберите имя узла или сервера HANA, на которое необходимо восстановить файлы резервной копии.
В поле назначения введите путь к папке на сервере, выбранном на предыдущем шаге. В этом расположении служба создаст дамп всех необходимых файлов резервной копии.
Файлы, которые включаются в дамп:
- файлы резервной копии базы данных;
- файлы метаданных JSON (для каждого задействованного файла резервной копии).
Как правило, путь к сетевому ресурсу или путь подключенной общей папки Azure, указанной в качестве пути назначения, позволяет упростить доступ к этим файлам другими компьютерами в той же сети или с той же общей папкой Azure, подключенной к ним.
Примечание.
Чтобы восстановить файлы резервной копии базы данных в общей папке Azure, подключенной к целевой зарегистрированной виртуальной машине, убедитесь, что корневая учетная запись имеет разрешения на чтение и запись в общей папке.
Выберите точку восстановления, в которую будут восстановлены все файлы резервного копирования и папки.
Все файлы резервной копии, связанные с выбранной точкой восстановления, сохраняются в дампе с указанным конечным путем.
В зависимости от типа выбранной точки восстановления (точка во времени или полную и разностную), вы увидите одну или несколько папок, созданных в пути назначения. Одна из папок, Data_<date и время восстановления> содержит полные резервные копии, а другая папка — журнал содержит резервные копии журналов и другие резервные копии (например, разностные и добавочные).
Примечание.
Если вы выбрали восстановление до точки во времени, файлы журналов, которые были отброшены на целевую виртуальную машину, иногда могут содержать журналы за пределами точки во времени, выбранного для восстановления. Azure Backup делает это, чтобы убедиться, что резервные копии журналов для всех служб HANA доступны для согласованного и успешного восстановления до выбранной точки во времени.
Переместите восстановленные файлы на сервер SAP HANA, где необходимо восстановить их в качестве базы данных, а затем выполните следующие действия:
a. Задайте разрешения для папки или каталога, в котором хранятся файлы резервной копии, выполнив следующую команду:
chown -R <SID>adm:sapsys <directory>
b. Выполните следующий набор команд следующим образом
<SID>adm
:su: <sid>adm
c. Создайте файл каталога для восстановления. Извлеките BackupId из файла метаданных JSON для полной резервной копии, которую вы будете использовать позже в операции восстановления. Убедитесь, что полные резервные копии журналов (не присутствуют для полного восстановления резервного копирования) находятся в разных папках и удаляют файлы метаданных JSON в этих папках. Запустить:
hdbbackupdiag --generate --dataDir <DataFileDir> --logDirs <LogFilesDir> -d <PathToPlaceCatalogFile>
<DataFileDir>
: папка, содержащая полные резервные копии.<LogFilesDir>
: папка, содержащая резервные копии журналов, разностные резервные копии и добавочные резервные копии. Для полного восстановления backUp, так как папка журнала не создана, добавьте пустой каталог.<PathToPlaceCatalogFile>
: папка, в которой должен размещаться созданный файл каталога.
d. Вы можете восстановить с помощью только что созданного файла каталога с помощью HANA Studio или запустить запрос на восстановление средства SAP HANA HDBSQL с помощью нового созданного каталога. Ниже перечислены запросы HDBSQL:
Чтобы открыть строку HDBSQL, выполните следующую команду:
hdbsql -U AZUREWLBACKUPHANAUSER -d systemDB
Восстановление на определенный момент времени:
Если вы создаете новую восстановленную базу данных, выполните команду HDBSQL, чтобы создать новую базу данных, а затем остановите базу данных
<DatabaseName>
для восстановления с помощью командыALTER SYSTEM STOP DATABASE <db> IMMEDIATE
. Однако при восстановлении существующей базы данных выполните команду HDBSQL, чтобы остановить базу данных.Затем выполните следующую команду для восстановления базы данных:
RECOVER DATABASE FOR <db> UNTIL TIMESTAMP <t1> USING CATALOG PATH <path> USING LOG PATH <path> USING DATA PATH <path> USING BACKUP_ID <bkId> CHECK ACCESS USING FILE
<DatabaseName>
: имя новой базы данных или существующей базы данных, которую требуется восстановить.<Timestamp>
: точный метка времени восстановления точки во времени.<DatabaseName@HostName>
: имя базы данных, резервная копия которой используется для восстановления, а имя узла или сервера SAP HANA, на котором находится эта база данных. ПараметрUSING SOURCE <DatabaseName@HostName>
определяет, что резервная копия данных (используемая для восстановления) относится к базе данных с другим идентификатором безопасности или именем, отличающимся от целевого компьютера SAP HANA. Для восстановления, которые выполняются на том же сервере HANA, из которого выполняется резервное копирование, не нужно указывать.<PathToGeneratedCatalogInStep3>
: путь к файлу каталога, созданному на шаге c.<DataFileDir>
: папка, содержащая полные резервные копии.<LogFilesDir>
: папка, содержащая резервные копии журналов, разностные резервные копии и добавочные резервные копии (если таковые есть).<BackupIdFromJsonFile>
: BackupId, извлеченный в шаге c.
Восстановление до определенной полной или разностной резервной копии:
Если вы создаете новую восстановленную базу данных, выполните команду HDBSQL, чтобы создать новую базу данных, а затем остановить базу данных
<DatabaseName>
для восстановления с помощью командыALTER SYSTEM STOP DATABASE <db> IMMEDIATE
. Однако если вы восстанавливаете только существующую базу данных, выполните команду HDBSQL, чтобы остановить базу данных:RECOVER DATA FOR <DatabaseName> USING BACKUP_ID <BackupIdFromJsonFile> USING SOURCE '<DatabaseName@HostName>' USING CATALOG PATH ('<PathToGeneratedCatalogInStep3>') USING DATA PATH ('<DataFileDir>') CLEAR LOG
<DatabaseName>
: имя новой базы данных или существующей базы данных, которую требуется восстановить.<Timestamp>
: точный метка времени восстановления точки во времени.<DatabaseName@HostName>
: имя базы данных, резервная копия которой используется для восстановления, а имя узла или сервера SAP HANA, на котором находится эта база данных. ПараметрUSING SOURCE <DatabaseName@HostName>
определяет, что резервная копия данных (используемая для восстановления) относится к базе данных с другим идентификатором безопасности или именем, отличающимся от целевого компьютера SAP HANA. Поэтому для восстановления, которые выполняются на том же сервере HANA, из которого выполняется резервное копирование, не нужно указывать.<PathToGeneratedCatalogInStep3>
: путь к файлу каталога, созданному на шаге c.<DataFileDir>
: папка, содержащая полные резервные копии.<LogFilesDir>
: папка, содержащая резервные копии журналов, разностные резервные копии и добавочные резервные копии (если таковые есть).<BackupIdFromJsonFile>
: BackupId, извлеченный в шаге c.
Чтобы восстановить с помощью идентификатора резервной копии, выполните следующее:
RECOVER DATA FOR <db> USING BACKUP_ID <bkId> USING CATALOG PATH <path> USING LOG PATH <path> USING DATA PATH <path> CHECK ACCESS USING FILE
Примеры:
Восстановление СИСТЕМЫ SAP HANA на том же сервере:
RECOVER DATABASE FOR SYSTEM UNTIL TIMESTAMP '2022-01-12T08:51:54.023' USING CATALOG PATH ('/restore/catalo_gen') USING LOG PATH ('/restore/Log/') USING DATA PATH ('/restore/Data_2022-01-12_08-51-54/') USING BACKUP_ID 1641977514020 CHECK ACCESS USING FILE
Восстановление клиента SAP HANA на том же сервере:
RECOVER DATABASE FOR DHI UNTIL TIMESTAMP '2022-01-12T08:51:54.023' USING CATALOG PATH ('/restore/catalo_gen') USING LOG PATH ('/restore/Log/') USING DATA PATH ('/restore/Data_2022-01-12_08-51-54/') USING BACKUP_ID 1641977514020 CHECK ACCESS USING FILE
Восстановление СИСТЕМЫ SAP HANA на другом сервере:
RECOVER DATABASE FOR SYSTEM UNTIL TIMESTAMP '2022-01-12T08:51:54.023' USING SOURCE <sourceSID> USING CATALOG PATH ('/restore/catalo_gen') USING LOG PATH ('/restore/Log/') USING DATA PATH ('/restore/Data_2022-01-12_08-51-54/') USING BACKUP_ID 1641977514020 CHECK ACCESS USING FILE
Восстановление клиента SAP HANA на другом сервере:
RECOVER DATABASE FOR DHI UNTIL TIMESTAMP '2022-01-12T08:51:54.023' USING SOURCE <sourceSID> USING CATALOG PATH ('/restore/catalo_gen') USING LOG PATH ('/restore/Log/') USING DATA PATH ('/restore/Data_2022-01-12_08-51-54/') USING BACKUP_ID 1641977514020 CHECK ACCESS USING FILE
Частичное восстановление в виде файлов
Служба Azure Backup решает, что цепочка файлов будет загружена во время восстановления в виде файлов. Но в некоторых сценариях вам нет смысла скачивать все содержимое снова.
Например, у вас может быть политика резервного копирования еженедельных заполнений, ежедневных разностных и журналов, и вы уже скачали файлы для определенного разностного. Вы обнаружили, что это не правильная точка восстановления и решили скачать разностную разницу на следующий день. Теперь вам просто нужен разностный файл, так как у вас уже есть начальная полная резервная копия. При частичном восстановлении в качестве файлов , предоставляемых Azure Backup, теперь можно исключить полную резервную копию из цепочки загрузки и скачать только разностную резервную копию.
Исключение типов файлов из резервной копии
ExtensionSettingOverrides.json — это файл JSON (нотация объектов JavaScript), содержащий переопределения для нескольких параметров службы архивации Azure для SQL. Для частичного восстановления в качестве операции с файлами необходимо добавить новое поле RecoveryPointsToBeExcludedForRestoreAsFiles
JSON. Это поле содержит строковое значение, указывающее, какие типы точек восстановления должны быть исключены в следующем восстановлении в качестве операции файлов .
На целевом компьютере, на котором нужно скачать файлы, перейдите в папку opt/msawb/bin .
Создайте файл JSON с именем ExtensionSettingOverrides.JSON, если он еще не существует.
Добавьте следующую пару значений ключа JSON:
{ "RecoveryPointsToBeExcludedForRestoreAsFiles": "ExcludeFull" }
Измените разрешения и владение файлом:
chmod 750 ExtensionSettingsOverrides.json chown root:msawb ExtensionSettingsOverrides.json
Вам не потребуется перезапускать службы. Служба Azure Backup попытается исключить типы резервных копий в цепочке восстановления, как упоминалось в этом файле.
RecoveryPointsToBeExcludedForRestoreAsFiles
принимает только определенные значения, которые указывают на то, что точки восстановления будут исключены во время восстановления. Для SAP HANA используются следующие значения.
ExcludeFull
. Другие типы резервных копий, такие как разностные, добавочные и журналы, будут загружены, если они присутствуют в цепочке точек восстановления.ExcludeFullAndDifferential
. Другие типы резервных копий, такие как добавочные и журналы, будут загружены, если они присутствуют в цепочке точек восстановления.ExcludeFullAndIncremental
. Другие типы резервных копий, такие как разностные и журналы, будут загружены, если они присутствуют в цепочке точек восстановления.ExcludeFullAndDifferentialAndIncremental
. Другие типы резервных копий, такие как журналы, будут загружены, если они присутствуют в цепочке точек восстановления.
Восстановление данных до определенной точки во времени
Если вы выбрали Logs (Point in Time) (Журналы (восстановление до точки во времени)) как тип восстановления, выполните следующие действия:
Выберите точку восстановления из графа журнала и нажмите кнопку "ОК ", чтобы выбрать точку восстановления.
Чтобы запустить задание восстановления, в меню Восстановление щелкните Восстановить.
Отслеживайте ход восстановления в области уведомлений или отслеживайте его, выбрав "Восстановить задания " в меню базы данных.
Применение определенной точки восстановления
Если вы выбрали Full & Differential (Полная и разностная) как тип восстановления, выполните следующие действия:
Выберите точку восстановления из списка и нажмите кнопку "ОК ", чтобы выбрать точку восстановления.
Чтобы запустить задание восстановления, в меню Восстановление щелкните Восстановить.
Отслеживайте ход восстановления в области уведомлений или отслеживайте его, выбрав "Восстановить задания " в меню базы данных.
Примечание.
При восстановлении нескольких контейнеров баз данных (MDC) после восстановления системной базы данных в целевом экземпляре необходимо снова запустить скрипт предварительной регистрации. Затем последующие восстановление базы данных клиента завершится успешно. Дополнительные сведения см. в разделе "Устранение неполадок с восстановлением базы данных контейнеров".
Восстановление между регионами
Как один из вариантов восстановления, восстановление между регионами (CRR) позволяет восстанавливать базы данных SAP HANA, размещенные на виртуальных машинах Azure в дополнительном регионе, который является парным регионом Azure.
Чтобы начать работу с этой функцией, см. раздел "Задать восстановление между регионами".
Просмотр элементов резервного копирования в дополнительном регионе
Если включено восстановление между регионами, можно просмотреть элементы резервного копирования в дополнительном регионе.
- В портал Azure перейдите в хранилище служб восстановления и выберите элементы резервного копирования.
- Выберите Дополнительный регион, чтобы просмотреть элементы в дополнительном регионе.
Примечание.
В списке отображаются только типы управления резервными копиями, поддерживающие функцию CRR. В настоящее время поддерживается только восстановление данных одного дополнительного региона в другом дополнительном регионе.
Восстановление в дополнительном регионе
Интерфейс восстановления дополнительного региона аналогичен пользовательскому интерфейсу восстановления основного региона. При настройке сведений на панели конфигурации восстановления вам будет предложено предоставить только параметры дополнительного региона. Хранилище должно существовать в дополнительном регионе, а сервер SAP HANA должен быть зарегистрирован в хранилище в дополнительном регионе.
Примечание.
- После активации восстановления и на этапе передачи данных задание восстановления не может быть отменено.
- Роль и уровень доступа, необходимые для выполнения операции восстановления в нескольких регионах, являются ролью оператора резервного копирования в подписке и доступе участника (записи) на исходных и целевых виртуальных машинах. Для просмотра заданий резервного копирования средство чтения резервных копий — это минимальное разрешение, необходимое в подписке.
- Цель точки восстановления (RPO) для данных резервного копирования, доступных в дополнительном регионе, составляет 12 часов. Таким образом, при включении CRR RPO для дополнительного региона составляет 12 часов и длительность частоты журнала (которая может быть задана не менее 15 минут).
Сведения о минимальных требованиях к роли для восстановления между регионами.
Мониторинг заданий восстановления дополнительных регионов
В портал Azure перейдите в центр резервного копирования и выберите "Задания резервного копирования".
Чтобы просмотреть задания в дополнительном регионе, отфильтруйте операцию для CrossRegionRestore.
Восстановление между подписками
Azure Backup теперь позволяет восстановить базу данных SAP HANA в любую подписку (согласно следующим требованиям Azure RBAC) из точки восстановления. По умолчанию Служба архивации Azure восстанавливается в той же подписке, где доступны точки восстановления.
При использовании восстановления между подписками (CSR) вы можете восстановить любую подписку и любое хранилище в клиенте, если доступны разрешения на восстановление. По умолчанию CSR включен во всех хранилищах служб восстановления (существующие и только что созданные хранилища).
Примечание.
- Вы можете активировать восстановление между подписками из хранилища служб восстановления.
- CSR поддерживается только для резервных копий на основе потоковой передачи и backint и не поддерживается для резервного копирования на основе моментальных снимков.
- Межрегиональная восстановление (CRR) с CSR не поддерживается.
Перекрестное восстановление подписки в хранилище с поддержкой частной конечной точки
Чтобы выполнить восстановление между подписками в хранилище с поддержкой частной конечной точки, выполните следующее:
- В хранилище служб восстановления источника перейдите на вкладку "Сеть".
- Перейдите в раздел "Частный доступ" и создайте частные конечные точки.
- Выберите подписку целевого хранилища, в которой требуется восстановить.
- В разделе виртуальная сеть выберите виртуальную сеть целевой виртуальной машины, которую требуется восстановить в подписке.
- Создайте частную конечную точку и активируйте процесс восстановления.
Требования к Azure RBAC
Тип операции | Оператор архивации | Хранилище Служб восстановления | Альтернативный оператор |
---|---|---|---|
Восстановление базы данных или восстановление в виде файлов | Virtual Machine Contributor |
Исходная виртуальная машина, для которой создана резервная копия | Вместо встроенной роли можно рассмотреть пользовательскую роль, которая имеет следующие разрешения: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
Virtual Machine Contributor |
Целевая виртуальная машина, в которой будет восстановлена база данных или создаются файлы. | Вместо встроенной роли можно рассмотреть пользовательскую роль, которая имеет следующие разрешения: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
|
Backup Operator |
Целевое хранилище служб восстановления |
По умолчанию CSR включен в хранилище служб восстановления. Чтобы обновить параметры восстановления хранилища служб восстановления, перейдите к разделу "Свойства>перекрестного восстановления подписки" и внесите необходимые изменения.
Восстановление между подписками с помощью Azure CLI
az backup vault create
Добавьте параметр cross-subscription-restore-state
, позволяющий задать состояние CSR хранилища во время создания и обновления хранилища.
az backup recoveryconfig show
Добавьте параметр --target-subscription-id
, позволяющий предоставить целевую подписку в качестве входных данных при активации перекрестного восстановления подписки для источников данных SQL или HANA.
Пример:
az backup vault create -g {rg_name} -n {vault_name} -l {location} --cross-subscription-restore-state Disable
az backup recoveryconfig show --restore-mode alternateworkloadrestore --backup-management-type azureworkload -r {rp} --target-container-name {target_container} --target-item-name {target_item} --target-resource-group {target_rg} --target-server-name {target_server} --target-server-type SQLInstance --target-subscription-id {target_subscription} --target-vault-name {target_vault} --workload-type SQLDataBase --ids {source_item_id}