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

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

Включение взаимодействия с базой данных

В этом разделе объясняется, как включить взаимодействие с базой данных. Используйте следующие вкладки, чтобы правильно выбрать используемую базу данных.

При развертывании на централизованной виртуальной машине необходимо установить и настроить клиент SAP HANA, чтобы пользователь AzAcSnap смог выполнить и hdbuserstore выполнить hdbsql команды. Клиент SAP HANA можно скачать на веб-сайте средств разработки SAP.

Средства создания моментальных снимков взаимодействуют с SAP HANA и нуждаются в пользователе с соответствующими разрешениями, чтобы инициировать и освободить точку сохранения базы данных. В следующем примере показана настройка пользователя SAP HANA 2.0 и hdbuserstore для связи с базой данных SAP HANA.

В следующем примере команды настраивают пользователя (AZACSNAP) в SYSTEMDB в базе данных SAP HANA 2.0. Измените IP-адрес, имена пользователей и пароли соответствующим образом.

  1. Подключитесь к SYSTEMDB:

    hdbsql -n <IP_address_of_host>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD>
    
    Welcome to the SAP HANA Database interactive terminal.
    
    Type: \h for help with commands
    \q to quit
    
    hdbsql SYSTEMDB=>
    
  2. Создайте пользователя. В этом примере создается AZACSNAP пользователь в SYSTEMDB:

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. Предоставьте пользователю разрешения. В этом примере настраивается разрешение AZACSNAP для пользователя, позволяющего выполнять моментальный снимок хранилища, согласованный с базой данных:

    • Для выпусков SAP HANA до версии 2.0 SPS 03:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • Для выпусков SAP HANA версии 2.0 SPS 04 SAP добавила новые подробные привилегии:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. Необязательно. Запретить истечение срока действия пароля пользователя.

    Примечание.

    Прежде чем вносить это изменение, обратитесь к корпоративной политике.

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

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. Настройте безопасное хранилище пользователей SAP HANA (измените пароль). В этом примере команда из оболочки Linux используется hdbuserstore для настройки безопасного пользовательского хранилища SAP HANA:

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    
  6. Убедитесь, что вы правильно настроили безопасное хранилище пользователей SAP HANA. hdbuserstore Используйте команду для перечисления выходных данных, как показано в следующем примере. Дополнительные сведения об использовании hdbuserstore доступны на веб-сайте SAP.

    hdbuserstore List
    
    DATA FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.DAT
    KEY FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.KEY
    
    KEY AZACSNAP
    ENV : <IP_address_of_host>:
    USER: AZACSNAP
    

Использование SSL для связи с SAP HANA

AzAcSnap использует команду SAP HANA для взаимодействия с SAP HANA hdbsql . Использование hdbsql позволяет использовать параметры SSL для шифрования связи с SAP HANA.

AzAcSnap всегда использует следующие параметры при использовании azacsnap --ssl параметра:

  • -e: включает шифрование TLS/SSL. Сервер выбирает самый высокий доступный уровень.
  • -ssltrustcert: указывает, следует ли проверять сертификат сервера.
  • -sslhostnameincert "*": указывает имя узла, которое проверяет удостоверение сервера. При указании "*" имени узла имя узла сервера не проверяется.

Для обмена данными SSL также требуются файлы key-store и trust-store. Эти файлы можно хранить в расположениях по умолчанию в установке Linux. Но чтобы убедиться, что правильный ключевой материал используется для различных систем SAP HANA (в тех случаях, когда для каждой системы SAP HANA используются разные файлы хранилища ключей и доверия), AzAcSnap ожидает, что файлы key-store и trust-store будут храниться в расположении securityPath . Файл конфигурации AzAcSnap указывает это расположение.

Файлы хранилища ключей

Если вы используете несколько системных идентификаторов (SID) с одним и тем же ключевым материалом, проще создать ссылки в securityPath расположение, как определено в файле конфигурации AzAcSnap. Убедитесь, что эти значения существуют для каждого идентификатора безопасности, использующего SSL.

  • Для openssl: ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
  • Для commoncrypto: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore

Если вы используете несколько идентификаторов SID с различными материалами ключа на идентификатор безопасности, скопируйте (или переместите и переименовываете) файлы в securityPath расположение, как определено в файле конфигурации AZAcSnap sid.

  • Для openssl: mv key.pem <securityPath>/<SID>_keystore
  • Для commoncrypto: mv sapcli.pse <securityPath>/<SID>_keystore

При вызове hdbsqlAzAcSnap он добавляется -sslkeystore=<securityPath>/<SID>_keystore в командную hdbsql строку.

Файлы хранилища доверия

Если вы используете несколько идентификаторов SID с одним и тем же ключевым материалом, создайте жесткие ссылки в securityPath расположение, как определено в файле конфигурации AzAcSnap. Убедитесь, что эти значения существуют для каждого идентификатора безопасности, использующего SSL.

  • Для openssl: ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
  • Для commoncrypto: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore

Если вы используете несколько идентификаторов SID с различными материалами ключа для идентификатора безопасности, скопируйте (или переместите и переименовываете) файлы в securityPath расположение, как определено в файле конфигурации AZAcSnap sid.

  • Для openssl: mv trust.pem <securityPath>/<SID>_truststore
  • Для commoncrypto: mv sapcli.pse <securityPath>/<SID>_truststore

Компонент <SID> имен файлов должен быть идентификатором системы SAP HANA во всех верхних регистрах (например, H80 или PR1). При вызове hdbsqlAzAcSnap он добавляется -ssltruststore=<securityPath>/<SID>_truststore в командную строку.

При запуске azacsnap -c test --test hana --ssl openssl, где SID находится H80 файл конфигурации, он выполняет hdbsqlподключения следующим образом:

hdbsql \
    -e \
    -ssltrustcert \
    -sslhostnameincert "*" \
    -sslprovider openssl \
    -sslkeystore ./security/H80_keystore \
    -ssltruststore ./security/H80_truststore
    "sql statement"

В приведенном выше коде символ обратной косой черты (\) представляет собой оболочку командной строки, чтобы повысить четкость нескольких параметров, переданных в командной строке.

Настройка базы данных

В этом разделе объясняется, как настроить базу данных.

Настройка SAP HANA

Существуют изменения, которые можно применить к SAP HANA, чтобы защитить резервные копии журналов и каталог. По умолчанию и basepath_catalogbackup устанавливаются таким образом, basepath_logbackup чтобы SAP HANA помещали связанные файлы в $(DIR_INSTANCE)/backup/log каталог. Маловероятно, что это расположение находится на томе, который AzAcSnap настроен для моментального снимка, поэтому моментальные снимки хранилища не будут защищать эти файлы.

В следующих hdbsql примерах команд показано, как задать пути к журналам и каталогам расположения в томах хранилища, которые Может снимок AzAcSnap. Убедитесь, что значения в командной строке соответствуют локальной конфигурации SAP HANA.

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

В этом примере показано изменение basepath_logbackup параметра:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_logbackup') = '/hana/logbackups/H80' WITH RECONFIGURE"

Настройка расположения резервного копирования каталога

В этом примере показано изменение basepath_catalogbackup параметра. Сначала убедитесь, что basepath_catalogbackup путь существует в файловой системе. Если нет, создайте путь с тем же владельцем, что и каталог.

ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

Если необходимо создать путь, в следующем примере создается путь и задаются правильные права владения и разрешения. Эти команды необходимо выполнить в качестве корня.

mkdir /hana/logbackups/H80/catalog
chown --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
chmod --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

В следующем примере изменяется параметр SAP HANA:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_catalogbackup') = '/hana/logbackups/H80/catalog' WITH RECONFIGURE"

Проверка расположений резервных копий журналов и каталогов

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

В этом примере параметры отображаются как SYSTEM параметры. Этот запрос также возвращает DEFAULT параметры для сравнения.

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where (key = 'basepath_databackup' or key ='basepath_datavolumes' or key = 'basepath_logbackup' or key = 'basepath_logvolumes' or key = 'basepath_catalogbackup')"
global.ini,DEFAULT,,,persistence,basepath_catalogbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_databackup,$(DIR_INSTANCE)/backup/data
global.ini,DEFAULT,,,persistence,basepath_datavolumes,$(DIR_GLOBAL)/hdb/data
global.ini,DEFAULT,,,persistence,basepath_logbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_logvolumes,$(DIR_GLOBAL)/hdb/log
global.ini,SYSTEM,,,persistence,basepath_catalogbackup,/hana/logbackups/H80/catalog
global.ini,SYSTEM,,,persistence,basepath_datavolumes,/hana/data/H80
global.ini,SYSTEM,,,persistence,basepath_logbackup,/hana/logbackups/H80
global.ini,SYSTEM,,,persistence,basepath_logvolumes,/hana/log/H80

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

Параметр по умолчанию для SAP HANA для выполнения резервного копирования журналов составляет 900 секунды (15 минут). Мы рекомендуем уменьшить это значение до 300 секунд (5 минут). Затем можно выполнять регулярные резервные копии этих файлов (например, каждые 10 минут). Эти резервные копии можно выполнить, добавив log_backup тома в OTHER раздел тома файла конфигурации.

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'log_backup_timeout_s') = '300' WITH RECONFIGURE"

Проверка времени ожидания резервного копирования журнала

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

В этом примере параметры отображаются в качестве SYSTEM параметров. Этот запрос также возвращает DEFAULT параметры для сравнения.

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where key like '%log_backup_timeout%' "
global.ini,DEFAULT,,,persistence,log_backup_timeout_s,900
global.ini,SYSTEM,,,persistence,log_backup_timeout_s,300

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