다음을 통해 공유


Azure Application Consistent Snapshot 도구 설치

이 문서에서는 Azure NetApp Files 또는 Azure 대규모 인스턴스에서 사용할 수 있는 Azure 애플리케이션 일치 스냅샷 도구(AzAcSnap)를 설치하는 방법에 대한 지침을 제공합니다.

Important

분산 설치는 개인 네트워크에 배포되는 Azure 대규모 인스턴스 시스템에 사용 가능한 유일한 옵션입니다. 연결을 보장하려면 각 시스템에 AzAcSnap을 설치해야 합니다.

다운로드할 수 있는 자체 설치 프로그램은 스냅샷 도구를 루트가 아닌 사용자 권한(예: azacsnap)으로 쉽게 설정하고 실행할 수 있도록 합니다. 설치 관리자가 사용자를 설정하고 스냅샷 도구를 사용자의 $HOME/bin 하위 디렉터리에 넣습니다. 기본값은 /home/azacsnap/bin입니다.

자체 설치 프로그램은 설치를 수행하는 사용자의 구성(예: 루트)을 기반으로 하여 모든 파일에 대한 올바른 설정 및 경로를 결정하려고 합니다. 스토리지 및 SAP HANA와의 통신을 사용하도록 설정하기 위한 필수 단계가 루트 권한으로 실행되면 설치 중에 백업 사용자의 위치에 프라이빗 키와 hdbuserstore가 복사됩니다. 스토리지 백 엔드 및 SAP HANA와 통신을 활성화하는 단계는 설치 후에 전문 지식을 갖춘 관리자가 수동으로 수행할 수 있습니다.

설치를 위한 사전 요구 사항

지침에 따라 스냅샷 및 재해 복구 명령을 설정하고 실행합니다. 스냅샷 도구를 설치하고 사용하기 전에 루트로 다음 단계를 완료하는 것이 좋습니다.

  1. 운영 체제를 패치하고 SMT(SUSE 구독 관리 도구)를 설정합니다. 자세한 내용은 SAP HANA on Azure(대규모 인스턴스) 설치 및 구성을 참조하세요.

  2. 시간 동기화를 설정합니다. NTP(Network Time Protocol)와 호환되는 시간 서버를 제공하고 그에 따라 운영 체제를 구성합니다.

  3. 데이터베이스를 설치합니다. 사용 중인 지원되는 데이터베이스에 대한 지침을 따릅니다.

  4. 배포에 사용 중인 스토리지 백 엔드를 선택합니다. 자세한 내용은 이 문서의 뒷부분에 있는 스토리지 와의 통신 사용을 참조하세요.

    시스템 관리 ID를 설정하거나 서비스 주체의 인증 파일을 생성합니다.

    Azure NetApp Files와의 통신 유효성을 검사하는 경우 통신이 실패하거나 시간이 초과될 수 있습니다. 방화벽 규칙이 AzAcSnap을 실행하는 시스템에서 다음 주소 및 TCP/IP 포트로의 아웃바운드 트래픽을 차단하지 않는지 확인합니다.

    • (https://)management.azure.com:443
    • (https://)login.microsoftonline.com:443
  5. 데이터베이스와의 통신을 사용하도록 설정합니다. 자세한 내용은 이 문서의 뒷부분에 있는 데이터베이스와의 통신 사용을 참조하세요.

    이 문서의 데이터베이스와의 통신 사용 섹션에 나온 지침에 따라 적절한 SAP HANA 사용자를 설정합니다.

    설정 후 다음 예제를 사용하여 명령줄에서 연결을 테스트할 수 있습니다. 다음은 SAP HANA에 대한 비 SSL 통신의 예입니다.

    HANA 1.0:

    hdbsql -n <HANA IP address> -i <HANA instance> -U <HANA user> "\s"

    HANA 2.0:

    hdbsql -n <HANA IP address> -i <HANA instance> -d SYSTEMDB -U <HANA user> "\s"

스토리지와의 통신 사용

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

시스템 관리 ID 또는 서비스 주체 파일을 사용하여 Azure Resource Manager에 인증하는 방법에는 두 가지가 있습니다. 옵션은 여기에 설명되어 있습니다.

Azure 시스템 관리 ID

AzAcSnap 9에서는 작업용 서비스 주체 대신 시스템 관리 ID를 사용할 수 있습니다. 이 기능을 사용하면 VM(가상 머신)에 서비스 주체 자격 증명을 저장할 필요가 없습니다. Azure Cloud Shell을 사용하여 Azure 관리 ID를 설정하려면 다음 단계를 수행합니다.

  1. Bash를 사용하는 Cloud Shell 세션 내에서 다음 예제를 사용하여 셸 변수를 적절하게 설정하고 Azure 관리 ID를 만들려는 구독에 적용합니다. SUBSCRIPTION, VM_NAMERESOURCE_GROUP을 사이트별 값으로 설정합니다.

    export SUBSCRIPTION="99z999zz-99z9-99zz-99zz-9z9zz999zz99"
    export VM_NAME="MyVM"
    export RESOURCE_GROUP="MyResourceGroup"
    export ROLE="Contributor"
    export SCOPE="/subscriptions/${SUBSCRIPTION}/resourceGroups/${RESOURCE_GROUP}"
    
  2. Cloud Shell을 올바른 구독으로 설정합니다.

    az account set -s "${SUBSCRIPTION}"
    
  3. 가상 머신에 대한 관리 ID를 만듭니다. 다음 명령은 AzAcSnap VM의 관리 ID를 설정(또는 이미 설정된 경우 표시)합니다.

    az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
    
  4. 역할을 할당하기 위한 보안 주체 ID를 가져옵니다.

    PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
    
  5. 주 ID에 기여자 역할을 할당합니다.

    az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
    

선택적 RBAC

RBAC(역할 기반 액세스 제어)에서 사용자 지정 역할 정의를 사용하여 관리 ID에 대한 권한을 제한할 수 있습니다. 가상 머신이 스냅샷을 관리할 수 있도록 적합한 역할 정의를 만듭니다. Azure 애플리케이션 일치 스냅샷 도구를 사용하기 위한 팁과 요령에서 예제 사용 권한 설정을 찾을 수 있습니다.

그런 다음, Azure VM 보안 주체 ID에 역할을 할당합니다(SystemAssignedIdentity로도 표시됨).

az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"

서비스 주체 파일 생성

  1. Cloud Shell 세션에서 기본적으로 서비스 주체와 연결하려는 구독에 로그온했는지 확인합니다.

    az account show
    
  2. 구독이 올바르지 않으면 az account set 명령을 사용합니다.

    az account set -s <subscription name or id>
    
  3. 다음 예제와 같이 Azure CLI를 사용하여 서비스 주체를 만듭니다.

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    이 명령은 다음 예제와 같은 출력을 생성합니다.

    {
      "clientId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "clientSecret": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "subscriptionId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "tenantId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
    

    이 명령은 구독 수준에서 서비스 주체에 RBAC 기여자 역할을 자동으로 할당합니다. 테스트에서 리소스를 만들 특정 리소스 그룹으로 범위를 좁힐 수 있습니다.

  4. 출력 콘텐츠를 잘라내어 azacsnap 명령과 동일한 시스템에 저장된 azureauth.json이라는 파일로 붙여넣습니다. 적절한 시스템 권한으로 파일을 보호합니다.

    JSON 파일의 형식이 URL이 큰따옴표(")로 묶인 상태로 이전 단계에서 설명한 것과 정확히 일치하는지 확인합니다.

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

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

중앙 집중식 가상 머신에 배포하는 경우 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"

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

스냅샷 도구 설치

다운로드할 수 있는 자체 설치 프로그램은 스냅샷 도구를 루트가 아닌 사용자 권한(예: azacsnap)으로 쉽게 설정하고 실행할 수 있도록 합니다. 설치 관리자가 사용자를 설정하고 스냅샷 도구를 사용자의 $HOME/bin 하위 디렉터리에 넣습니다. 기본값은 /home/azacsnap/bin입니다.

자체 설치 프로그램은 설치를 수행하는 사용자의 구성(예: 루트)을 기반으로 하여 모든 파일에 대한 올바른 설정 및 경로를 결정하려고 합니다. 이전 설정 단계(스토리지 및 SAP HANA와의 통신 사용)를 루트로 실행한 경우 설치 과정을 통해 백업 사용자의 위치에 프라이빗 키와 hdbuserstore가 복사됩니다. 스토리지 백 엔드 및 데이터베이스와 통신을 활성화하는 단계는 설치 후 전문 지식을 갖춘 관리자가 수동으로 수행할 수 있습니다.

참고 항목

Azure 대규모 인스턴스의 이전 SAP HANA 설치에서 사전 설치된 스냅샷 도구의 디렉터리는 /hana/shared/<SID>/exe/linuxx86_64/hdb였습니다.

필수 구성 요소 단계가 완료되면 이제 다음과 같이 자체 설치 관리자를 사용하여 스냅샷 도구를 설치할 수 있습니다.

  1. 다운로드한 자체 설치 프로그램을 대상 시스템에 복사합니다.
  2. 자체 설치 관리자를 루트 사용자로 실행합니다. 필요한 경우 chmod +x *.run 명령을 사용하여 파일 실행 파일을 만듭니다.

인수 없이 자체 설치 관리자 명령을 실행하면 다음과 같이 설치 관리자 사용에 대한 도움말이 표시됩니다.

chmod +x azacsnap_installer_v5.0.run
./azacsnap_installer_v5.0.run
Usage: ./azacsnap_installer_v5.0.run [-v] -I [-u <HLI Snapshot Command user>]
./azacsnap_installer_v5.0.run [-v] -X [-d <directory>]
./azacsnap_installer_v5.0.run [-h]

Switches enclosed in [] are optional for each command line.
- h prints out this usage.
- v turns on verbose output.
- I starts the installation.
- u is the Linux user to install the scripts into, by default this is
'azacsnap'.
- X will only extract the commands.
- d is the target directory to extract into, by default this is
'./snapshot_cmds'.
Examples of a target directory are ./tmp or /usr/local/bin

자체 설치 프로그램에는 사용자 만들기 및 설정을 수행하지 않고 번들에서 스냅샷 도구를 추출(-X)하는 옵션이 있습니다. 따라서 숙련된 관리자가 설정 단계를 수동으로 완료하거나 기존 설치를 업그레이드하는 명령을 복사할 수 있습니다.

간편한 스냅샷 도구 설치(기본값) 사용

설치 관리자는 Azure에서 SAP HANA에 대한 스냅샷 도구를 신속하게 설치할 수 있습니다. 기본적으로 -I 옵션만 사용하여 설치 관리자를 실행하는 경우 다음 단계를 수행합니다.

  1. 스냅샷 사용자 azacsnap을 만들고, 홈 디렉터리를 만들고, 그룹 멤버 자격을 설정합니다.

  2. azacsnap 사용자의 로그인 ~/.profile 정보를 구성합니다.

  3. AzAcSnap의 $PATH에 추가할 디렉터리에 대한 파일 시스템을 검색합니다. 이 작업을 통해 AzAcSnap을 실행하는 사용자는 hdbsqlhdbuserstore와 같은 SAP HANA 명령을 사용할 수 있습니다.

  4. AzAcSnap의 $LD_LIBRARY_PATH에 추가할 디렉터리에 대한 파일 시스템을 검색합니다. 많은 명령을 사용하려면 라이브러리 경로를 설정하여 올바르게 실행해야 합니다. 이 작업을 수행하면 설치된 사용자에 맞게 구성됩니다.

  5. 루트 사용자(설치를 실행하는 사용자)에서 AzAcSnap의 백 엔드 스토리지에 대한 SSH 키를 복사합니다.

    이 작업에서는 루트 사용자가 스토리지에 대한 연결을 이미 구성했다고 가정합니다. 자세한 내용은 이전 섹션인 스토리지와의 통신 사용을 참조하세요.

  6. 대상 사용자 azacsnap에 대한 SAP HANA 연결 보안 사용자 저장소를 복사합니다. 이 작업에서는 루트 사용자가 보안 사용자 저장소를 이미 구성했다고 가정합니다. 자세한 내용은 이전 섹션인 데이터베이스와의 통신 사용을 참조하세요.

  7. 스냅샷 도구는 /home/azacsnap/bin/으로 추출됩니다.

  8. /home/azacsnap/bin/의 명령에는 해당 권한 집합(소유권 및 실행 파일 비트 포함)이 있습니다.

다음 예제에서는 기본 설치 옵션을 사용하여 실행하는 경우 설치 관리자의 올바른 출력을 보여 줍니다.

./azacsnap_installer_v5.0.run -I
+-----------------------------------------------------------+
| Azure Application Consistent Snapshot tool Installer      |
+-----------------------------------------------------------+
|-> Installer version '5.0'
|-> Create Snapshot user 'azacsnap', home directory, and set group membership.
|-> Configure azacsnap .profile
|-> Search filesystem for directories to add to azacsnap's $PATH
|-> Search filesystem for directories to add to azacsnap's $LD_LIBRARY_PATH
|-> Copying SSH keys for back-end storage for azacsnap.
|-> Copying HANA connection keystore for azacsnap.
|-> Extracting commands into /home/azacsnap/bin/.
|-> Making commands in /home/azacsnap/bin/ executable.
|-> Creating symlink for hdbsql command in /home/azacsnap/bin/.
+-----------------------------------------------------------+
| Install complete! Follow the steps below to configure.    |
+-----------------------------------------------------------+
+-----------------------------------------------------------+
|  Install complete!  Follow the steps below to configure.  |
+-----------------------------------------------------------+

1. Change into the snapshot user account.....
     su - azacsnap
2. Set up the HANA Secure User Store..... (command format below)
     hdbuserstore Set <ADMIN_USER> <HOSTNAME>:<PORT> <admin_user> <password>
3. Change to location of commands.....
     cd /home/azacsnap/bin/
4. Configure the customer details file.....
     azacsnap -c configure --configuration new
5. Test the connection to storage.....
     azacsnap -c test --test storage
6. Test the connection to HANA.....
   a. without SSL
     azacsnap -c test --test hana
   b. with SSL,  you will need to choose the correct SSL option
     azacsnap -c test --test hana --ssl=<commoncrypto|openssl>
7. Run your first snapshot backup..... (example below)
     azacsnap -c backup --volume=data --prefix=hana_test --frequency=15min --retention=1

스냅샷 도구 제거

기본 설정을 사용하여 스냅샷 도구를 설치한 경우 제거하려면 명령을 설치한 사용자만 제거하면 됩니다. 기본값은 azacsnap입니다.

userdel -f -r azacsnap

수동으로 스냅샷 도구 설치

경우에 따라 도구를 수동으로 설치해야 합니다. 그러나 이 프로세스를 용이하게 하려면 설치 관리자의 기본 옵션을 사용하는 것이 좋습니다.

파운드(#) 문자로 시작하는 각 줄은 루트 사용자가 문자 뒤의 예제 명령을 실행함을 보여 줍니다. 줄 맨 끝에 있는 백슬래시(\)는 셸 명령의 표준 줄 연속 문자입니다.

루트 슈퍼 사용자로서 수동 설치를 위해 다음 단계를 수행할 수 있습니다.

  1. sapsys 그룹 ID를 가져옵니다. 이 경우 그룹 ID는 1010입니다.

    grep sapsys /etc/group
    
    sapsys:x:1010:
    
  2. 1단계의 그룹 ID를 사용하여 스냅샷 사용자 azacsnap을 만들고, 홈 디렉터리를 만들고, 그룹 멤버 자격을 설정합니다.

    useradd -m -g 1010 -c "Azure SAP HANA Snapshots User" azacsnap
    
  3. azacsnap 사용자의 로그인 .profile 정보가 있는지 확인합니다.

    echo "" >> /home/azacsnap/.profile
    
  4. AzAcSnap의 $PATH에 추가할 디렉터리에 대한 파일 시스템을 검색합니다. 이러한 디렉터리는 일반적으로 SAP HANA 도구(예: hdbsqlhdbuserstore)의 경로입니다.

    HDBSQL_PATH=`find -L /hana/shared/[A-z0-9][A-z0-9][A-z0-9]/HDB*/exe /usr/sap/hdbclient -name hdbsql -exec dirname {} + 2> /dev/null | sort | uniq | tr '\n' ':'`
    
  5. 업데이트된 $PATH 정보를 사용자 프로필에 추가합니다.

    echo "export PATH=\"\$PATH:$HDBSQL_PATH\"" >> /home/azacsnap/.profile
    
  6. AzAcSnap의 $LD_LIBRARY_PATH에 추가할 디렉터리에 대한 파일 시스템을 검색합니다.

    NEW_LIB_PATH=`find -L /hana/shared/[A-z0-9][A-z0-9][A-z0-9]/HDB*/exe /usr/sap/hdbclient -name "*.so" -exec dirname {} + 2> /dev/null | sort | uniq | tr '\n' ':'`
    
  7. 사용자 프로필에 업데이트된 라이브러리 경로에 추가합니다.

    echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:$NEW_LIB_PATH\"" >> /home/azacsnap/.profile
    
  8. 스토리지 백 엔드에 따라 다음 작업을 수행합니다.

    .NET Core 단일 파일 추출 지침에 따라 사용자의 DOTNET_BUNDLE_EXTRACT_BASE_DIR 경로를 구성합니다.

    SUSE Linux에 대해 다음 코드를 사용합니다.

    echo "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=\$HOME/.net" >> /home/azacsnap/.profile
    echo "[ -d $DOTNET_BUNDLE_EXTRACT_BASE_DIR] && chmod 700 $DOTNET_BUNDLE_EXTRACT_BASE_DIR" >> /home/azacsnap/.profile
    

    RHEL에 대해 다음 코드를 사용합니다.

    echo "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=\$HOME/.net" >> /home/azacsnap/.bash_profile
    echo "[ -d $DOTNET_BUNDLE_EXTRACT_BASE_DIR] && chmod 700 $DOTNET_BUNDLE_EXTRACT_BASE_DIR" >> /home/azacsnap/.bash_profile
    
  9. 대상 사용자 azacsnap에 대한 SAP HANA 연결 보안 사용자 저장소를 복사합니다. 이 단계에서는 루트 사용자가 보안 사용자 저장소를 이미 구성했다고 가정합니다. 자세한 내용은 이전 섹션인 데이터베이스와의 통신 사용을 참조하세요.

    cp -pr ~/.hdb /home/azacsnap/.
    
  10. hdbuserstore 파일에 대한 사용자 권한을 올바르게 설정합니다.

    chown -R azacsnap.sapsys /home/azacsnap/.hdb
    
  11. 스냅샷 도구를 /home/azacsnap/bin/으로 추출합니다.

    ./azacsnap_installer_v5.0.run -X -d /home/azacsnap/bin
    
  12. 명령 실행 파일을 만듭니다.

    chmod 700 /home/azacsnap/bin/*
    
  13. 사용자의 홈 디렉터리에 대해 올바른 소유 권한이 설정되어 있는지 확인합니다.

    chown -R azacsnap.sapsys /home/azacsnap/*
    

스냅샷 도구 설정 완료

설치 관리자는 스냅샷 도구를 설치한 후 완료하는 단계를 제공합니다.

다음 출력에서는 기본 설치 옵션을 사용하여 설치 관리자를 실행한 후 완료해야 하는 단계를 보여 줍니다. 스냅샷 도구를 구성하고 테스트하려면 다음 단계를 수행합니다.

1. Change into the snapshot user account.....
     su - azacsnap
2. Set up the HANA Secure User Store.....
     hdbuserstore Set <ADMIN_USER> <HOSTNAME>:<PORT> <admin_user> <password>
3. Change to location of commands.....
     cd /home/azacsnap/bin/
4. Configure the customer details file.....
     azacsnap -c configure --configuration new
5. Test the connection to storage.....
     azacsnap -c test --test storage
6. Test the connection to HANA.....
   a. without SSL
     azacsnap -c test --test hana
   b. with SSL,  you will need to choose the correct SSL option
     azacsnap -c test --test hana --ssl=<commoncrypto|openssl>
7. Run your first snapshot backup.....
     azacsnap -c backup --volume=data --prefix=hana_test --retention=1

설치 전에 데이터베이스와의 통신을 사용하도록 설정하지 않은 경우 2단계가 필요합니다.

테스트 명령이 올바르게 실행되면 테스트가 성공합니다. 첫 번째 데이터베이스 일치 스토리지 스냅샷을 수행할 수 있습니다.

데이터베이스 구성

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

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

다음 단계