Azure 애플리케이션 일관성 있는 스냅샷 도구에 대한 데이터베이스 구성
이 문서에서는 Azure NetApp Files 또는 Azure 큰 인스턴스에서 사용할 수 있는 AzAcSnap(Azure 애플리케이션 일치 스냅샷 도구)에서 사용할 데이터베이스 및 데이터베이스 필수 구성 요소를 구성하는 방법에 대한 가이드를 제공합니다.
데이터베이스와의 통신 사용
이 섹션에서는 데이터베이스와의 통신을 사용하는 방법에 대해 설명합니다. 다음 탭을 사용하여 사용 중인 데이터베이스를 올바르게 선택합니다.
중앙 집중식 가상 머신에 배포하는 경우 AzAcSnap 사용자가 hdbsql
및 hdbuserstore
명령을 실행할 수 있도록 SAP HANA 클라이언트를 설치하고 설정해야 합니다. SAP 개발 도구 웹 사이트에서 SAP HANA 클라이언트를 다운로드할 수 있습니다.
스냅샷 도구는 SAP HANA와 통신하며 데이터베이스 저장 지점을 시작 및 해제할 수 있는 적절한 권한이 있는 사용자가 필요합니다. 다음 예제에서는 SAP HANA 데이터베이스와의 통신을 위한 SAP HANA 2.0 사용자 및 hdbuserstore
의 설정을 보여 줍니다.
다음 예제 명령은 SAP HANA 2.0 데이터베이스의 SYSTEMDB에서 사용자(AZACSNAP
)를 설정합니다. 필요에 따라 IP 주소, 사용자 및 암호를 변경합니다.
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=>
사용자를 생성합니다. 이 예제에서는 SYSTEMDB에서
AZACSNAP
사용자를 만듭니다.hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
사용자 권한을 부여합니다. 이 예제에서는 데이터베이스 일치 스토리지 스냅샷을 수행할 수 있도록
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;
선택 사항: 사용자 암호가 만료되지 않도록 합니다.
참고 항목
이렇게 변경하려면 회사 정책을 확인하세요.
다음 예제에서는
AZACSNAP
사용자의 암호 만료를 사용하지 않도록 설정합니다. 이 변경이 없으면 사용자의 암호가 만료되고 스냅샷이 올바르게 생성될 수 없습니다.hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
SAP HANA 보안 사용자 저장소를 설정합니다(암호 변경). 이 예에서는 Linux 셸의
hdbuserstore
명령을 사용하여 SAP HANA 보안 사용자 저장소를 설정합니다.hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
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_logbackup
및 basepath_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