다음을 통해 공유


Azure 애플리케이션 일관성 있는 스냅샷 도구에 대한 데이터베이스 구성

이 문서에서는 Azure NetApp Files 또는 Azure 큰 인스턴스에서 사용할 수 있는 AzAcSnap(Azure 애플리케이션 일치 스냅샷 도구)에서 사용할 데이터베이스 및 데이터베이스 필수 구성 요소를 구성하는 방법에 대한 가이드를 제공합니다.

데이터베이스와의 통신 사용

이 섹션에서는 데이터베이스와의 통신을 사용하는 방법에 대해 설명합니다. 다음 탭을 사용하여 사용 중인 데이터베이스를 올바르게 선택합니다.

중앙 집중식 가상 머신에 배포하는 경우 AzAcSnap 사용자가 hdbsqlhdbuserstore 명령을 실행할 수 있도록 SAP HANA 클라이언트를 설치하고 설정해야 합니다. SAP 개발 도구 웹 사이트에서 SAP HANA 클라이언트를 다운로드할 수 있습니다.

스냅샷 도구는 SAP HANA와 통신하며 데이터베이스 저장 지점을 시작 및 해제할 수 있는 적절한 권한이 있는 사용자가 필요합니다. 다음 예제에서는 SAP HANA 데이터베이스와의 통신을 위한 SAP HANA 2.0 사용자 및 hdbuserstore의 설정을 보여 줍니다.

다음 예제 명령은 SAP HANA 2.0 데이터베이스의 SYSTEMDB에서 사용자(AZACSNAP)를 설정합니다. 필요에 따라 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. 사용자를 생성합니다. 이 예제에서는 SYSTEMDB에서 AZACSNAP 사용자를 만듭니다.

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. 사용자 권한을 부여합니다. 이 예제에서는 데이터베이스 일치 스토리지 스냅샷을 수행할 수 있도록 AZACSNAP 사용자에 대한 권한을 설정합니다.

    • 버전 2.0 SPS 03까지의 SAP HANA 릴리스의 경우 다음과 같습니다.

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • 버전 2.0 SPS 04의 SAP HANA 릴리스의 경우 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
    

SAP HANA와의 통신을 위한 SSL 사용

AzAcSnap은 SAP HANA의 hdbsql 명령을 사용하여 SAP HANA와 통신합니다. hdbsql을 사용하면 SSL 옵션을 사용하여 SAP HANA와의 통신을 암호화할 수 있습니다.

AzAcSnap은 azacsnap --ssl 옵션을 사용할 때 항상 다음 옵션을 사용합니다.

  • -e: TLS/SSL 암호화를 사용하도록 설정합니다. 서버에서 사용할 수 있는 가장 높은 수준을 선택합니다.
  • -ssltrustcert: 서버 인증서의 유효성을 검사할지 여부를 지정합니다.
  • -sslhostnameincert "*": 서버의 ID를 확인하는 호스트 이름을 지정합니다. "*"을 호스트 이름으로 지정하면 서버의 호스트 이름의 유효성이 검사되지 않습니다.

SSL 통신에는 키 저장소 및 신뢰 저장소 파일도 필요합니다. 이러한 파일은 Linux 설치의 기본 위치에 저장될 수 있습니다. 그렇지만 다양한 SAP HANA 시스템(각 SAP HANA 시스템에 서로 다른 키 저장소 및 신뢰 저장소 파일이 사용되는 경우)에 올바른 키 자료가 사용되고 있는지 확인하기 위해 AzAcSnap은 키 저장소 및 신뢰 저장소 파일이 securityPath 위치에 저장될 것으로 예상합니다. AzAcSnap 구성 파일은 이 위치를 지정합니다.

키 저장소 파일

동일한 키 자료와 함께 여러 SID(시스템 식별자)를 사용하는 경우 AzAcSnap 구성 파일에 정의된 securityPath 위치에 대한 링크를 더 쉽게 만들 수 있습니다. SSL을 사용하는 모든 SID에 대해 이러한 값이 있는지 확인합니다.

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

SID마다 다른 키 자료로 여러 SID를 사용하는 경우 SID AzAcSnap 구성 파일에 정의된 대로 securityPath 위치에 파일을 복사(또는 이동 및 이름 변경)합니다.

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

AzAcSnap이 hdbsql을 호출하면 hdbsql 명령줄에 -sslkeystore=<securityPath>/<SID>_keystore가 추가됩니다.

신뢰 저장소 파일

동일한 키 자료로 여러 SID를 사용하는 경우 AzAcSnap 구성 파일에 정의된 대로 securityPath 위치에 하드 링크를 만듭니다. SSL을 사용하는 모든 SID에 대해 이러한 값이 있는지 확인합니다.

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

SID마다 다른 키 자료로 여러 SID를 사용하는 경우 SID AzAcSnap 구성 파일에 정의된 대로 securityPath 위치에 파일을 복사(또는 이동 및 이름 변경)합니다.

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

파일 이름의 <SID> 구성 요소는 모두 대문자로 되어 있는 SAP HANA 시스템 식별자여야 합니다(예: H80 또는 PR1). AzAcSnap이 hdbsql을 호출하면 명령줄에 -ssltruststore=<securityPath>/<SID>_truststore가 추가됩니다.

SID가 구성 파일의 H80인 경우 azacsnap -c test --test hana --ssl openssl을 실행하면 다음과 같이 hdbsql 연결이 실행됩니다.

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

이전 코드에서 백슬래시(\) 문자는 명령줄에서 전달되는 여러 매개 변수의 명확성을 높이기 위한 명령줄 줄 바꿈입니다.

데이터베이스 구성

이 섹션에서는 데이터베이스를 구성하는 방법을 설명합니다.

SAP HANA 구성

로그 백업 및 카탈로그를 보호하기 위해 SAP HANA에 적용할 수 있는 변경 내용이 있습니다. 기본적으로 basepath_logbackupbasepath_catalogbackup은 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분마다). 구성 파일의 OTHER 볼륨 섹션에 log_backup 볼륨을 추가하여 이러한 백업을 수행할 수 있습니다.

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

다음 단계