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

В этой статье показано, как выполнить azacsnap -c configure команду средства моментальных снимков приложение Azure согласованности (AzAcSnap), который можно использовать с Azure NetApp Files.

Команды для файла конфигурации

Вы можете создать или изменить файл конфигурации для AzAcSnap с помощью azacsnap -c configure команды. Команда использует следующие параметры.

  • --configuration new Создание файла конфигурации

  • --configuration edit Изменение существующего файла конфигурации

  • [--configfile <config filename>] (необязательный параметр) для разрешения пользовательских имен файлов конфигурации

По умолчанию имя файла конфигурации azacsnap.json. Можно использовать пользовательское имя файла с параметром --configfile= (например, --configfile=<customname>.json).

В следующем примере создается файл конфигурации для конфигурации крупных экземпляров Azure:

azacsnap -c configure --configuration new

Пример для SAP HANA с хранилищем Azure NetApp Files

+----------------------------------------------------------+
+  For details on configuring AzAcSnap please visit        +
+          https://aka.ms/azacsnap-configure               +
+----------------------------------------------------------+
Building new config file

Q. Add comment #1 to config file (blank entry to exit adding comments)?
A. This is a new config file for AzAcSnap 11 with SAP HANA and Azure NetApp Files

Q. Add comment #2 to config file (blank entry to exit adding comments)?
A.

Q. Enter the database type to add, 'hana', 'oracle', 'db2', 'mssql',
   'exit' (to abort without saving), 'save' (to save and exit)?
A. hana

Checking for SAP HANA external program dependency 'hdbsql'
External dependency 'hdbsql' found.

=== Add SAP HANA details ===

Q. What is the SAP HANA SID (e.g. H80)?
A. H81

Q. What is the SAP HANA Instance Number (e.g. 00)?
A. 00

Q. What is the SAP HANA HDB User Store Key (e.g. `hdbuserstore List`)?
A. AZACSNAP

Q. What is the SAP HANA Server's Address (hostname or IP address)?
A. saphana1

Q. Do you need AzAcSnap to automatically disable/enable backint during snapshot?
   ('y' for yes, 'n' for no) [default='n']
A.

=== Add Hana Storage section ===

Q. Do you want to add Hana database Storage?
   ('y' for yes, 'n' for no)
A. y

--- DATA Volumes are specially prepared before they are snapshot ---

Q. Do you want to add Hana storage + DataVolume #1?
   ('y' for yes, 'n' for no)
A. y

Q. Do you want to add Hana storage + DataVolume #1 + Azure NetApp Files entry #1?
   ('y' for yes, 'n' for no)
A. y

Q. What is the Hana storage + DataVolume #1 + Azure NetApp Files entry #1 + ResourceId?
  (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...)?
A. /subscriptions/99999999-9zz9-9z99-z9z9-z999z999zzz9/resourceGroups/saphanasystems/providers/Microsoft.NetApp/netAppAccounts/saphanaanf/capacityPools/Premium/volumes/HANADATA01

Q. What is the Hana storage + DataVolume #1 + Azure NetApp Files entry #1 + Service Principal AuthenticationFile
   (e.g. auth-file.json or <blank> if using Azure Managed ID)?
A.
Hana storage + DataVolume #1 + Azure NetApp Files entry #1 (added)


Q. Do you want to add Hana storage + DataVolume #1 + Azure NetApp Files entry #2?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #1 + Azure Large Instance entry #1?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #1 + Azure Managed Disk entry #1?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #2?
   ('y' for yes, 'n' for no)
A. n

--- OTHER Volumes are snapshot immediately (no special preparation) ---

Q. Do you want to add Hana storage + OtherVolume #1?
   ('y' for yes, 'n' for no)
A. n


Q. Enter the database type to add, 'hana', 'oracle', 'db2', 'mssql',
   'exit' (to abort without saving), 'save' (to save and exit)?
A. save


Editing configuration complete, writing output to 'azacsnap.json'.

Пример для SAP HANA с хранилищем крупных экземпляров Azure

+----------------------------------------------------------+
+  For details on configuring AzAcSnap please visit        +
+          https://aka.ms/azacsnap-configure               +
+----------------------------------------------------------+
Building new config file

Q. Add comment #1 to config file (blank entry to exit adding comments)?
A. This is a new config file for AzAcSnap 11

Q. Add comment #2 to config file (blank entry to exit adding comments)?
A.

Q. Enter the database type to add, 'hana', 'oracle', 'db2', 'mssql',
   'exit' (to abort without saving), 'save' (to save and exit)?
A. hana

Checking for SAP HANA external program dependency 'hdbsql'
External dependency 'hdbsql' found.

=== Add SAP HANA details ===

Q. What is the SAP HANA SID (e.g. H80)?
A. H80

Q. What is the SAP HANA Instance Number (e.g. 00)?
A. 00

Q. What is the SAP HANA HDB User Store Key (e.g. `hdbuserstore List`)?
A. AZACSNAP

Q. What is the SAP HANA Server's Address (hostname or IP address)?
A. testing01

Q. Do you need AzAcSnap to automatically disable/enable backint during snapshot?
   ('y' for yes, 'n' for no) [default='n']
A.

=== Add Hana Storage section ===

Q. Do you want to add Hana database Storage?
   ('y' for yes, 'n' for no)
A. y

--- DATA Volumes are specially prepared before they are snapshot ---

Q. Do you want to add Hana storage + DataVolume #1?
   ('y' for yes, 'n' for no)
A. y

Q. Do you want to add Hana storage + DataVolume #1 + Azure NetApp Files entry #1?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #1 + Azure Large Instance entry #1?
   ('y' for yes, 'n' for no)
A. y

Q. What is the Hana storage + DataVolume #1 + Azure Large Instance entry #1 + Storage Certificate File
   (e.g. svmadm_cert.p12)?
A. svm01.p12

Q. What is the Hana storage + DataVolume #1 + Azure Large Instance entry #1 + Storage ResourceId
   (e.g. <hostname>/api/storage/volumes/<UUID>)?
A. svm01/api/storage/volumes/0892dcdc-f760-11ee-a301-000c2989d71e

Q. What is the Hana storage + DataVolume #1 + Azure Large Instance entry #1 + Storage Resource Name
   (e.g. volume01)?
A. hana_data_01

Q. What is the Hana storage + DataVolume #1 + Azure Large Instance entry #1 + Storage Resource Type
   (e.g. volumes or consistency-groups)?
A. volumes
Hana storage + DataVolume #1 + Azure Large Instance entry #1 (added)


Q. Do you want to add Hana storage + DataVolume #1 + Azure Large Instance entry #2?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #1 + Azure Managed Disk entry #1?
   ('y' for yes, 'n' for no)
A. n

Q. Do you want to add Hana storage + DataVolume #2?
   ('y' for yes, 'n' for no)
A. n

--- OTHER Volumes are snapshot immediately (no special preparation) ---

Q. Do you want to add Hana storage + OtherVolume #1?
   ('y' for yes, 'n' for no)
A. n


Q. Enter the database type to add, 'hana', 'oracle', 'db2', 'mssql',
   'exit' (to abort without saving), 'save' (to save and exit)?
A. save


Editing configuration complete, writing output to 'azacsnap.json'.

Обязательные значения для файла конфигурации

В следующих разделах приведены подробные рекомендации по необходимым значениям для раздела базы данных файла конфигурации.

При добавлении базы данных SAP HANA в конфигурацию требуются следующие значения:

  • HANA SID (ключ JSON: sid): идентификатор системы SAP HANA (SID).

  • HANA Instance Number (ключ JSON: instanceNumber): номер экземпляра SAP HANA.

  • HANA HDB User Store Key (КЛЮЧ JSON: hdbUserStoreName): КЛЮЧ SAP HANA, как показано hdbuserstore List в команде, которая использует ключ для связывания пользователя с разрешениями на выполнение резервных копий базы данных с ENV (имя узла и порт). В разделе "Включить взаимодействие с базой данных " приведены дополнительные сведения и примеры.

  • HANA Server's Address (ключ JSON: serverAddress): имя узла или IP-адрес сервера SAP HANA.

  • Do you need AzAcSnap to automatically disable/enable backint during snapshot: значение n по умолчанию (нет). Вы можете задать для него y значение (да), чтобы разрешить AzAcSnap отключить или повторно включить интерфейс Backint. В разделе о сосуществовании Backint в этой статье подробно объясняется этот параметр.

  • Должно HANA Server's Address быть одно из следующих элементов:

    • Один узел : имя узла и IP-адрес узла.
    • HSR с STONITH : имя узла и IP-адрес узла.
    • Горизонтальное масштабирование (N+N, N+M) — текущее имя узла и IP-адрес главного узла.
    • HSR без STONITH : имя узла и IP-адрес узла.
    • Несколько идентификаторов безопасности на одном узле : имя узла и IP-адрес узла, на котором размещаются эти идентификаторы безопасности.

Сосуществование backint

Служба Azure Backup предоставляет альтернативное средство резервного копирования для SAP HANA. Вы можете передавать резервные копии базы данных и журналов в Azure Backup.

Некоторые клиенты хотят объединить резервные копии на основе потоковой передачи с регулярными резервными копиями на основе моментальных снимков. Однако резервные копии на основе backint блокируют другие методы резервного копирования, такие как использование резервного копирования на основе файлов или резервного копирования на основе моментального снимка хранилища (например, AzAcSnap). Дополнительные сведения см. в статье Запуск резервного копирования собственных клиентов SAP HANA в базе данных с помощью Azure Backup.

Процесс, описанный в документации по Azure Backup, реализован с помощью AzAcSnap для автоматического выполнения следующих действий.

  1. Принудительное сброс резервного копирования журналов в Backint.
  2. Дождитесь завершения выполнения резервных копий.
  3. Отключите резервную копию на основе Backint.
  4. Поместите SAP HANA в согласованное состояние резервного копирования.
  5. Создайте резервную копию на основе моментального снимка хранилища.
  6. Выпуск SAP HANA.
  7. Повторно включите резервную копию на основе Backint.

По умолчанию этот параметр отключен. Его можно включить, выполнив azacsnap -c configure –configuration edit и ответив y (да) на вопрос Do you need AzAcSnap to automatically disable/enable backint during snapshot? (y/n) [n].

Изменение конфигурации, как описано, задает autoDisableEnableBackint значение true в файле конфигурации JSON (например, azacsnap.json). Это значение также можно изменить, изменив файл конфигурации напрямую.

При добавлении хранилища крупных экземпляров Azure в раздел базы данных требуются следующие значения:

  • Storage Certificate File (ключ JSON: certificateFile): файл сертификата, используемый для проверки подлинности во внутреннем хранилище.
  • Storage ResourceId (ключ JSON: resourceUri): полный URI для ресурса, начиная с имени узла (например, <hostname>/api/storage/volumes/<UUID>)
  • Storage Resource Name (ключ JSON: resourceName): имя ресурса "понятно" (например, vol01)
  • Storage Resource Type (ключ JSON: resourceType): тип ресурса, "тома" или "согласованность-группы".

Пример файла конфигурации

Приведенные ниже выходные данные являются примером только файла конфигурации, в этом примере приводится пример хранилища SAP HANA с хранилищем Azure NetApp Files.

cat azacsnap.json
{
  "version": "11",
  "logPath": "./logs",
  "securityPath": "./security",
  "comments": [
    "This is a new config file for AzAcSnap 11 with SAP HANA and Azure NetApp Files"
  ],
  "database": [
    {
      "hana": {
        "serverAddress": "saphana1",
        "sid": "H81",
        "instanceNumber": "00",
        "hdbUserStoreName": "AZACSNAP",
        "savePointAbortWaitSeconds": 600,
        "autoDisableEnableBackint": false,
        "storage": [
          {
            "dataVolumes": [
              {
                "anfStorageVolumes": [
                  {
                    "resourceId": "/subscriptions/99999999-9zz9-9z99-z9z9-z999z999zzz9/resourceGroups/saphanasystems/providers/Microsoft.NetApp/netAppAccounts/saphanaanf/capacityPools/Premium/volumes/HANADATA01",
                    "authFile": "",
                    "subscription": "99999999-9zz9-9z99-z9z9-z999z999zzz9",
                    "resourceGroupName": "saphanasystems",
                    "accountName": "saphanaanf",
                    "poolName": "Premium",
                    "volume": "HANADATA01"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}

Примечание.

Для сценария аварийного восстановления (АВАРИЙНОго восстановления), в котором будут выполняться резервные копии на сайте аварийного восстановления, имя сервера HANA, настроенное в файле конфигурации аварийного восстановления (например, DR.json) на сайте аварийного восстановления должно совпадать с именем рабочего сервера.

Следующие шаги