디스크 스냅샷을 사용하여 SAP HANA 백업 및 복구

이 가이드에서는 SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능을 사용하여 SAP HANA 데이터베이스를 백업하고 복구하는 방법을 보여줍니다.

이 기능에 대한 자세한 내용은 디스크 스냅샷을 사용하여 SAP HANA 백업 및 복구를 참조하세요.

시작하기 전에

  • SAP용 Google Cloud 에이전트 설치 검증 자세한 내용은 Compute Engine 인스턴스에 SAP용 Google Cloud 에이전트 설치 및 구성을 참고하세요.
  • 다음과 같이 SAP HANA 시스템이 Compute Engine 인스턴스에 배포되었는지 확인합니다.

    /hana/data 볼륨을 호스팅하는 데 디스크를 2개 이상 사용하는 경우 기본 디스크가 Hyperdisk 볼륨인 경우에만 에이전트의 디스크 스냅샷 기능을 사용할 수 있습니다.

    • /hana/data 볼륨은 논리 볼륨에 매핑됩니다. 이렇게 하면 에이전트가 디스크 스냅샷 기반 백업 또는 복구 작업 중에 마운트 지점을 올바르게 처리할 수 있습니다.
    • 기본 인프라는 Terraform과 같은 코드형 인프라(IaC) 도구를 사용하여 배포되지 않습니다. 자세한 내용은 IaC 도구 기반 배포에 스냅샷 사용을 참조하세요.

권한 설정

SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능을 사용하여 SAP HANA 데이터베이스를 백업하고 복구하려면 다음 권한을 설정해야 합니다.

  • 디스크 스냅샷을 만들려면 다음 IAM 권한을 부여합니다.

    단일 디스크

    /hana/data 볼륨이 Persistent Disk 또는 Hyperdisk 볼륨 하나에서 호스팅되는 경우에는 Compute Engine 인스턴스에 다음 권한을 부여합니다.

    compute.disks.create
    compute.disks.createSnapshot
    compute.disks.get
    compute.disks.setLabels
    compute.disks.use
    compute.globalOperations.get
    compute.instances.attachDisk
    compute.instances.detachDisk
    compute.instances.get
    compute.snapshots.create
    compute.snapshots.get
    compute.snapshots.setLabels
    compute.snapshots.useReadOnly
    compute.zoneOperations.get
    

    스트라이프된 디스크

    /hana/data 볼륨이 Persistent Disk 또는 Hyperdisk 볼륨 2개 이상에서 호스팅되는 경우 Compute Engine 인스턴스에 다음 권한을 부여합니다.

    compute.disks.addResourcePolicies
    compute.disks.create
    compute.disks.get
    compute.disks.list
    compute.disks.removeResourcePolicies
    compute.disks.use
    compute.disks.useReadOnly
    compute.globalOperations.get
    compute.instances.attachDisk
    compute.instances.detachDisk
    compute.instances.get
    compute.instantSnapshotGroups.create
    compute.instantSnapshotGroups.delete
    compute.instantSnapshotGroups.get
    compute.instantSnapshotGroups.list
    compute.instantSnapshots.list
    compute.instantSnapshots.useReadOnly
    compute.resourcePolicies.create
    compute.resourcePolicies.use
    compute.resourcePolicies.useReadOnly
    compute.snapshots.create
    compute.snapshots.get
    compute.snapshots.list
    compute.snapshots.setLabels
    compute.snapshots.useReadOnly
    compute.zoneOperations.get
    
  • 디스크 스냅샷 기반 백업을 만들려면 에이전트에서 사용하는 SAP HANA 데이터베이스 사용자에게 BACKUP OPERATOR 또는 BACKUP ADMIN 권한이 있어야 합니다. 자세한 내용은 SAP 문서 백업 및 복구에 필요한 승인을 참조하세요.

  • SAP HANA 데이터베이스를 백업하고 복구하려면 에이전트 명령어를 실행하는 운영체제 사용자가 root 사용자이거나 다음 명령어를 실행할 수 있는 sudo 액세스 권한을 가지고 있어야 합니다. /etc/sudoers.d 디렉터리에 그룹을 만들어 sudo 액세스 권한을 제공할 수도 있습니다. 예를 들면 다음과 같습니다.

    %sapagent_snapshot_sudoers ALL=(ALL:ALL) NOPASSWD:/sbin/lvdisplay, /sbin/vgscan, /sbin/dmsetup, /sbin/lvscan, /usr/sbin/xfs_freeze, /usr/bin/google_cloud_sap_agent

디스크 일관성 그룹 만들기

/hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 이 섹션을 건너뜁니다.

/hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 일관성 그룹을 만들고 /hana/data 볼륨을 호스팅하는 디스크를 해당 일관성 그룹에 추가해야 합니다. 일관성 그룹을 디스크와 동일한 리전에 만들어야 합니다.

이 작업을 수행하는 방법은 일관성 그룹 만들기를 참조하세요.

일관성 그룹 이름을 기록해 둡니다. 스냅샷 기반 백업을 만드는 동안 에이전트에서 사용합니다.

디스크 스냅샷 기반 백업 만들기

  • SAP HANA 데이터베이스의 /hana/data 볼륨에 대한 디스크 스냅샷 기반 백업을 만들려면 SAP용 Google Cloud 에이전트에 hanadiskbackup 명령어를 실행합니다.

    버전 3.3부터는 hanadiskbackup 명령어와 함께 사용할 수 있는 -source-disk-source-disk-zone 인수는 선택사항입니다. 이는 에이전트에서 /hana/data 디렉터리를 호스팅하는 디스크를 자동으로 감지할 수 있기 때문입니다. 하지만 이러한 인수를 지정하면 인수에서 에이전트 자동 감지를 재정의합니다.

    • SAP HANA 인증에 hdbuserstore를 사용하려면 다음 명령어를 실행합니다.
      sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \
            -project=DESTINATION_PROJECT_ID \
            -sid=SID \
            -hdbuserstore-key=HDB_USERSTORE_KEY
    • SAP HANA 인증에 사용자 이름과 Secret Manager 보안 비밀을 사용하려면 다음 명령어를 실행합니다.
      sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \
            -project=DESTINATION_PROJECT_ID \
            -host=HANA_HOST_ADDRESS \
            -port=HANA_PORT_NUMBER \
            -sid=SID \
            -hana-db-user=HANA_USERNAME \
            -password-secret=HANA_USER_PWD_SECRET_NAME
    • SAP HANA 인증에 사용자 이름과 비밀번호를 사용하려면 다음 명령어를 실행합니다.
      sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \
            -project=DESTINATION_PROJECT_ID \
            -host=HANA_HOST_ADDRESS \
            -port=HANA_PORT_NUMBER \
            -sid=SID \
            -hana-db-user=HANA_USERNAME \
            -password=HANA_PASSWORD

    다음을 바꿉니다.

    • DESTINATION_PROJECT_ID: 디스크 스냅샷을 만들려는 Google Cloud 프로젝트의 ID
    • HANA_HOST_ADDRESS: SAP HANA 데이터베이스를 호스팅하는 Compute Engine 인스턴스의 호스트 이름 또는 IP 주소

      고가용성(HA) 시스템에서 기본 SAP HANA 노드에 있는 로컬 호스트의 호스트 이름 또는 IP 주소를 지정합니다. 기본 노드를 식별하는 데 클러스터에서 사용되는 가상 IP(VIP)를 사용하지 않습니다. 재해 복구(DR) 배포에서 기본 SAP HANA 인스턴스에 있는 로컬 호스트의 호스트 이름이나 IP 주소를 지정합니다.

    • HANA_PORT_NUMBER: 백업 및 복구 요청을 수락하는 SAP HANA 포트입니다.

    • SID: SAP HANA 시스템의 SAP 시스템 식별자(SID)입니다.

    • HANA_USERNAME: 백업을 만들 때 사용하는 SAP HANA 데이터베이스 사용자 이름입니다.

    • HDB_USERSTORE_KEY: 지정된 SAP HANA 사용자를 인증하기 위해 hdbuserstore 키를 만든 경우 해당 키를 지정합니다.

    • HANA_USER_PWD_SECRET_NAME: Secret Manager를 사용하여 SAP HANA 데이터베이스 사용자의 비밀번호를 저장하는 경우 해당 보안 비밀 이름을 지정합니다.

    • HANA_PASSWORD: SAP HANA 인증에 일반 텍스트 비밀번호를 사용하는 경우 해당 비밀번호를 지정합니다.

    다음 표에서는 hanadiskbackup 명령어에서 지원하는 인수를 설명합니다.

    인수 설명
    -port 백업 및 복구 요청을 수락하는 SAP HANA 포트를 지정합니다.
    -sid SAP HANA 시스템의 SAP 시스템 식별자(SID)를 지정합니다.
    -hana-db-user

    백업을 만들 때 사용하는 SAP HANA 데이터베이스 사용자 이름을 지정합니다.

    -hdbuserstore-key를 지정하면 -hana-db-user 인수 지정을 건너뛸 수 있습니다.

    -password

    백업을 만들 때 사용하는 SAP HANA 데이터베이스 사용자의 비밀번호를 지정합니다.

    -password-secret 또는 -hdbuserstore-key 인수를 사용하는 경우에는 이 인수를 지정하지 마세요. -password 대신 둘 중 하나를 사용하는 것이 좋습니다.

    SAP HANA 인증의 경우 에이전트는 다음과 같은 우선순위를 사용합니다. 지정된 경우 -hdbuserstore-key 인수가 -password 인수보다 우선되고 -password-secret 인수보다 우선됩니다. hanadiskbackup 명령어를 실행하는 동안 인증 옵션을 하나만 지정하는 것이 좋습니다.

    -password-secret

    선택사항입니다. Secret Manager를 사용하여 SAP HANA 데이터베이스 사용자의 비밀번호를 저장하는 경우 해당 보안 비밀 이름을 지정합니다.

    Secret Manager에서 비밀번호인 보안 비밀 값이 최소 8자 이상이며 대문자, 소문자, 숫자가 각각 최소 1자 이상 포함되는지 확인합니다.

    SAP HANA 인증의 경우 에이전트는 다음과 같은 우선순위를 사용합니다. 지정된 경우 -hdbuserstore-key 인수가 -password 인수보다 우선되고 -password-secret 인수보다 우선됩니다. hanadiskbackup 명령어를 실행하는 동안 인증 옵션을 하나만 지정하는 것이 좋습니다.

    -hdbuserstore-key

    SAP HANA 시스템에 안전하게 연결하려면 해당 시스템에 대해 만든 보안 사용자 저장소(hdbuserstore) 키를 지정합니다.

    인증에 hdbuserstore 키를 사용하려면 다음을 확인합니다.

    • SAP 도구 hdbsqlhdbuserstore는 에이전트를 호스팅하는 컴퓨팅 인스턴스에 설치됩니다.
    • hdbuserstore 키는 특정 SAP HANA 인스턴스 하나에 해당합니다. SAP HANA 인스턴스 여러 개의 호스트 이름이 포함된 키를 사용할 수 없습니다.
    • SIDadm 사용자는 이 키를 사용하여 SAP HANA 데이터베이스를 쿼리할 수 있습니다. 여기서 SIDsid 파라미터에 지정한 값을 나타냅니다. SIDadm 사용자로 다음 명령어를 실행하여 이를 확인할 수 있습니다.
      hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"

    이 구성 파라미터는 에이전트 버전 3.3부터 지원됩니다.

    -hdbuserstore-key를 지정하면 -host, -port, -hana-db-user 인수 지정을 건너뛸 수 있습니다.

    SAP HANA 인증의 경우 에이전트는 다음과 같은 우선순위를 사용합니다. 지정된 경우 -hdbuserstore-key 인수가 -password 인수보다 우선되고 -password-secret 인수보다 우선됩니다. hanadiskbackup 명령어를 실행하는 동안 인증 옵션을 하나만 지정하는 것이 좋습니다.

    -host 선택사항입니다. SAP HANA 시스템을 호스팅하는 Compute Engine 인스턴스의 IP 주소를 지정합니다. 기본값은 localhost입니다.
    -project 선택사항입니다. SAP HANA 인스턴스가 실행 중인 Google Cloud 프로젝트의 ID를 지정합니다.
    -abandon-prepared 선택사항입니다. 기존 스냅샷 기반 백업을 무시할지 여부를 지정합니다. 기본값은 false입니다.
    -snapshot-name

    선택사항입니다. 만들려는 디스크 스냅샷의 이름을 지정합니다. 이 인수는 /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우에만 적용됩니다.

    기본적으로 스냅샷 이름은 snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS 형식으로 지정됩니다.

    -snapshot-description 선택사항입니다. 디스크 스냅샷에 대한 설명을 지정합니다. 이 인수는 /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우에만 적용됩니다.
    -snapshot-type

    선택사항입니다. /hana/data 볼륨을 호스팅하는 디스크에 만들 스냅샷의 유형을 지정합니다. 이 인수는 /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우에만 적용됩니다.

    기본적으로 에이전트에서 표준 스냅샷을 만듭니다. 이 인수에 지원되는 값은 STANDARD, ARCHIVE입니다. 이러한 스냅샷 유형에 대한 자세한 내용은 보관처리 및 표준 디스크 스냅샷 정보를 참조하세요.

    이 인수는 에이전트 버전 3.6부터 지원됩니다.

    -group-snapshot-name

    선택사항입니다. /hana/data 볼륨을 호스팅하는 디스크의 스냅샷에 대한 스냅샷 그룹 이름을 지정합니다.

    기본적으로 스냅샷 그룹 이름은 CONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMSS 형식으로 설정됩니다. 여기서 CONSISTENCY_GROUP_NAME디스크 일관성 그룹 만들기 섹션에서 만든 디스크 일관성 그룹의 이름입니다.

    이 인수는 에이전트 버전 3.6부터 지원됩니다.

    -labels 선택사항입니다. 만들고 있는 디스크 스냅샷과 연결할 라벨-값 쌍을 하나 이상 지정합니다. 예를 들면 -labels="label1=value1,label2=value2"입니다.
    -source-disk /hana/data 볼륨을 호스팅하는 Persistent Disk 또는 Hyperdisk 볼륨의 이름을 지정합니다.

    버전 3.3부터는 hanadiskbackup 명령어와 함께 사용할 수 있는 -source-disk-source-disk-zone 인수는 선택사항입니다. 이는 에이전트에서 /hana/data 디렉터리를 호스팅하는 디스크를 자동으로 감지할 수 있기 때문입니다. 하지만 이러한 인수를 지정하면 인수에서 에이전트 자동 감지를 재정의합니다.

    -source-disk-zone /hana/data 볼륨을 호스팅하는 디스크가 있는 영역을 지정합니다.

    버전 3.3부터는 hanadiskbackup 명령어와 함께 사용할 수 있는 -source-disk-source-disk-zone 인수는 선택사항입니다. 이는 에이전트에서 /hana/data 디렉터리를 호스팅하는 디스크를 자동으로 감지할 수 있기 때문입니다. 하지만 이러한 인수를 지정하면 인수에서 에이전트 자동 감지를 재정의합니다.

    -source-disk-key-file 선택사항입니다. /hana/data 볼륨을 호스팅하는 디스크가 고객 제공 RSA 래핑 암호화 키로 암호화된 경우 해당 키의 JSON 파일 절대 경로를 지정합니다.

    이 인수는 에이전트 버전 3.2부터 지원됩니다.

    -storage-location 선택사항입니다. 디스크 스냅샷을 저장할 Cloud Storage 멀티 리전 또는 Cloud Storage 리전을 지정합니다.
    -freeze-file-system

    선택사항입니다. 에이전트가 SAP HANA 데이터베이스의 파일 시스템을 고정할지 여부를 지정합니다. 기본값은 false입니다.

    이 인수는 에이전트 버전 3.2부터 지원됩니다.

    -send-metrics-to-monitoring 선택사항입니다. 스냅샷 생성 실행 상태가 Cloud Monitoring으로 전송되는지 여부를 지정합니다. 기본값은 TRUE입니다.
    -loglevel 선택사항입니다. 스냅샷 생성 작업의 로깅 수준을 지정합니다. 기본 로깅 수준은 info입니다. 사용 가능한 로그 수준은 debug, info, warn, error입니다.
    -confirm-data-snapshot-after-create

    선택사항입니다. 스냅샷이 생성된 직후에 SAP HANA에 스냅샷 생성을 확인하고 싶지만 -storage-location 인수에 지정된 Cloud Storage 버킷에 업로드되었는지 확인하지 않으려면 TRUE 값을 지정합니다.

    기본값은 FALSE입니다. 이 값을 사용하면 에이전트에서 CREATEUPLOAD 작업이 모두 완료된 후에 스냅샷 생성을 확인합니다.

    이 인수는 에이전트 버전 3.4부터 지원됩니다.

디스크 스냅샷 확인

다음 옵션을 사용하여 디스크 스냅샷이 생성되었는지 확인할 수 있습니다.

  • Google Cloud 콘솔에서 Compute Engine 스냅샷 페이지로 이동한 후 디스크 이름을 사용하여 항목을 필터링합니다. /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 스냅샷 이름을 사용하여 필터링할 수도 있습니다. /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 스냅샷 그룹 이름을 사용하여 필터링할 수도 있습니다.

    스냅샷으로 이동

  • 또는 에이전트의 다음 로그 파일에서 디스크 스냅샷 세부정보를 볼 수 있습니다.

    /var/log/google-cloud-sap-agent/hanadiskbackup.log

SAP HANA 백업 카탈로그 검토

hanadiskbackup 명령어는 디스크 스냅샷 기반 백업 생성 외에도 SAP HANA 백업 카탈로그에 백업 항목을 만듭니다. 다음은 SAP HANA 백업 카탈로그의 스냅샷 기반 백업 항목을 보는 SQL 쿼리의 예시입니다.

SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'

출력은 다음 예시와 비슷합니다.

BACKUP_ID,STATE_NAME,COMMENT
BACKUP_ID,"successful","SNAPSHOT_IDENTIFIER"

이 출력에는 다음 값이 포함됩니다.

  • BACKUP_ID: SAP HANA 백업 카탈로그의 디스크 스냅샷 기반 백업에 할당된 백업 ID입니다.
  • SNAPSHOT_IDENTIFIER:
    • /hana/data 볼륨이 디스크 하나에 있는 경우 이 식별자의 값은 hanadiskbackup 명령어와 함께 -snapshot-name 인수를 사용하는 방식에 따라 결정됩니다. 이 인수를 지정하지 않은 경우 인수 기본값인 snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS가 설정됩니다.
    • /hana/ 볼륨이 디스크 2개 이상에서 호스팅되는 경우 이 식별자 값은 hanadiskbackup 명령어와 함께 -group-snapshot-name 인수를 사용하는 방식에 따라 결정됩니다. 이 인수를 지정하지 않으면 인수 기본값인 CONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMMSS가 설정됩니다.
  • SOURCE_DISK_NAME: 이 값은 hanadiskbackup 명령어와 함께 -source-disk 인수를 사용하는 방식에 따라 결정됩니다.
  • CONSISTENCY_GROUP_NAME: 이 값은 hanadiskbackup 명령어와 함께 -group-snapshot-name 인수를 사용하는 방식에 따라 결정됩니다.
  • YYYYMMDD-HHMMMSS: 스냅샷이 생성된 날짜와 시간입니다.

디스크 스냅샷 기반 백업을 사용하여 데이터베이스 복구

SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능을 사용하여 SAP HANA 데이터베이스를 복구하려면 시나리오에 대한 안내를 참조하세요.

수직 확장 시스템의 데이터베이스 복구

Google Cloud에 배포된 SAP HANA 수직 확장 시스템의 데이터베이스를 복구하려면 다음 단계를 완료합니다.

  1. 에이전트의 hanadiskrestore 명령어를 실행하여 /hana/data 볼륨을 호스팅하는 디스크를 복구합니다.

    • /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -source-snapshot=SOURCE_SNAPSHOT_NAME \
      [-new-disk-type=NEW_DISK_TYPE \
      -new-disk-name=NEW_DISK_NAME]
    • /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \
      [-new-disk-type=NEW_DISK_TYPE ]

    다음을 바꿉니다.

    • SOURCE_PROJECT_ID: 디스크 스냅샷이 있는 Google Cloud 프로젝트의 ID입니다.
    • SID: SAP HANA 시스템의 SAP 시스템 식별자(SID)입니다.
    • SOURCE_SNAPSHOT_NAME: /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 새 디스크를 만들 때 사용할 디스크 스냅샷의 이름을 지정합니다.
    • SOURCE_SNAPSHOT_GROUP_NAME: /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 새 디스크를 만들 때 사용할 스냅샷 그룹 이름을 지정합니다.
    • NEW_DISK_TYPE: 만들려는 디스크의 유형입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-type 설명을 참조하세요.
    • NEW_DISK_NAME: 새 디스크에 설정할 이름입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-name 설명을 참조하세요.

    hanadiskrestore 명령어와 함께 사용할 수 있는 인수에 대한 자세한 내용은 디스크 복원에 지원되는 인수를 참조하세요.

  2. 필요한 옵션을 사용하여 SAP HANA 데이터베이스를 복구합니다.

    스냅샷 시간으로 복구

    디스크 스냅샷이 생성된 시점으로 복원하여 SAP HANA 데이터베이스를 복구하려면 다음 단계를 따르세요.

    1. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    2. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    4. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

    특정 시점으로 복구

    SAP HANA 데이터베이스를 특정 시점으로 복원하여 복구하려면 다음 단계를 따르세요.

    1. SAP용 Google Cloud 에이전트의 Backint 기능을 사용하여 Cloud Storage에서 /hana/log 볼륨의 백업을 만들었는지 확인합니다. 이 기능에 대한 자세한 내용은 Backint를 사용하여 SAP HANA 백업 및 복구를 참조하세요.
    2. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    3. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    5. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

디스크 복원에 지원되는 인수

다음 표에서는 에이전트의 hanadiskrestore 명령어에서 지원하는 인수를 설명합니다.

인수 설명
-sid SAP HANA 시스템의 SAP 시스템 식별자(SID)를 지정합니다.
-data-disk-name 선택사항입니다. /hana/data 볼륨을 호스팅하는 소스 디스크의 이름을 지정합니다.

버전 3.4부터는 hanadiskrestore 명령어와 함께 사용할 수 있는 -data-disk-name-data-disk-zone 인수는 선택사항입니다. 이는 에이전트에서 /hana/data 볼륨을 호스팅하는 디스크를 자동으로 감지할 수 있기 때문입니다. 하지만 이러한 인수를 지정하면 인수에서 에이전트 자동 감지를 재정의합니다.

-data-disk-zone 선택사항입니다. /hana/data 볼륨을 호스팅하는 소스 디스크가 배포되는 영역을 지정합니다.

버전 3.4부터는 hanadiskrestore 명령어와 함께 사용할 수 있는 -data-disk-name-data-disk-zone 인수는 선택사항입니다. 이는 에이전트에서 /hana/data 볼륨을 호스팅하는 디스크를 자동으로 감지할 수 있기 때문입니다. 하지만 이러한 인수를 지정하면 인수에서 에이전트 자동 감지를 재정의합니다.

-source-snapshot /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 복구를 수행할 때 사용할 디스크 스냅샷의 이름을 지정합니다.
-new-disk-name 새 디스크에 설정할 이름을 지정합니다. /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우에는 이 인수가 적용되지 않았습니다.
-group-snapshot-name

/hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 복구를 수행할 때 사용할 스냅샷 그룹 이름을 지정합니다.

이 인수는 에이전트 버전 3.6부터 지원됩니다.

-project 선택사항입니다. 소스 디스크 스냅샷이 있는 Google Cloud 프로젝트의 ID를 지정합니다. 기본적으로 스냅샷은 SAP HANA 시스템이 실행되는 Google Cloud 프로젝트에 생성됩니다.
-csek-key-file 선택사항입니다. hanadiskbackup 명령어로 -source-disk-key-file 인수를 사용하여 소스 디스크 스냅샷을 암호화한 경우에는, 소스 디스크 스냅샷에 해당하는 RSA 래핑된 고객 제공 암호화 키의 JSON 파일에 대한 절대 경로를 지정하세요. 다음은 키 파일 예시입니다.
[
  {
    "uri": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME",
    "key": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA==",
    "key-type": "rsa-encrypted"
  }
]

이 인수는 에이전트 버전 3.2부터 지원됩니다.

-new-disk-type

선택사항입니다. 만들려는 Persistent Disk 또는 Hyperdisk 유형을 지정합니다. 기본적으로 새 디스크는 소스 디스크와 동일한 유형입니다.

SAP HANA와 함께 사용하도록 SAP 인증을 받은 SSD 기반 디스크 유형을 지정해야 합니다. 자세한 내용은 지원되는 디스크 유형을 참조하세요.

-hana-sidadm 선택사항입니다. SAP HANA 시스템의 운영체제 사용자인 SIDadm을 지정합니다.
-force-stop-hana 선택사항입니다. 복구 작업을 시작하기 전에 SAP HANA를 강제로 종료하려면 이 인수를 지정하고 값을 true로 설정합니다. 기본값은 false입니다.
-provisioned-iops 선택사항입니다. Hyperdisk 볼륨을 만드는 경우 처리해야 하는 IOPS(초당 입출력 작업 수)를 지정합니다.
-provisioned-throughput 선택사항입니다. Hyperdisk 볼륨을 만드는 경우 지원해야 하는 처리량을 지정합니다.
-labels-on-detached-disk

선택사항입니다. 복구된 /hana/data 디렉터리를 호스팅하기 위해 새 디스크를 만드는 경우 이 인수를 사용하여 분리된 디스크와 연결할 라벨-값 쌍을 지정합니다. 라벨을 구분하려면 쉼표를 사용합니다. 예를 들면 -labels-on-detached-disk="label1=value1,label2=value2"입니다.

이 인수는 에이전트 버전 3.4부터 지원됩니다.

-send-metrics-to-monitoring

선택사항입니다. 스냅샷 복원 기간이 Cloud Monitoring으로 전송되는지 여부를 지정합니다. 기본값은 TRUE입니다.

이 인수는 에이전트 버전 3.4부터 지원됩니다.

-disk-size-gb

선택사항입니다. 새 디스크의 크기(GB)를 지정합니다. 기본적으로 새 디스크의 크기는 기존 디스크와 동일합니다.

새 디스크의 크기는 기존 디스크보다 작지 않아야 합니다.

-loglevel 선택사항입니다. hanadiskrestore 명령어로 수행되는 모든 작업의 로깅 수준을 지정합니다. 기본 로깅 수준은 info입니다. 사용 가능한 로그 수준은 debug, info, warn, error입니다.

수직 확장 HA 시스템의 데이터베이스 복구

Google Cloud에서 고가용성(HA) 클러스터에 배포된 SAP HANA 수직 확장 시스템의 데이터베이스를 복구하려면 다음 단계를 완료하세요.

  1. 기본 SAP HANA 노드에 /hana/data 볼륨을 호스팅하는 디스크의 스냅샷이 있는지 확인합니다.

  2. 루트 사용자로서 HA 클러스터를 유지보수 모드로 설정합니다. Pacemaker를 사용하는 경우 다음 명령어를 실행합니다.

    RHEL

    pcs property set maintenance-mode=true

    SLES

    crm configure property maintenance-mode=true
  3. HA 클러스터의 기본 노드와 대기 노드 모두에서 다음 명령어를 실행하여 SAP HANA 데이터베이스 인스턴스를 중지합니다.

    HDB stop
  4. SAP HANA HA 시스템의 기본 노드로 전환합니다.

  5. 에이전트의 hanadiskrestore 명령어를 실행하여 /hana/data 볼륨을 호스팅하는 디스크를 복구합니다.

    • /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -source-snapshot=SOURCE_SNAPSHOT_NAME \
      [-new-disk-type=NEW_DISK_TYPE \
      -new-disk-name=NEW_DISK_NAME]
    • /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \
      [-new-disk-type=NEW_DISK_TYPE ]

    다음을 바꿉니다.

    • SOURCE_PROJECT_ID: 디스크 스냅샷이 있는 Google Cloud 프로젝트의 ID입니다.
    • SID: SAP HANA 시스템의 SAP 시스템 식별자(SID)입니다.
    • SOURCE_SNAPSHOT_NAME: /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 새 디스크를 만들 때 사용할 디스크 스냅샷의 이름을 지정합니다.
    • SOURCE_SNAPSHOT_GROUP_NAME: /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 새 디스크를 만들 때 사용할 스냅샷 그룹 이름을 지정합니다.
    • NEW_DISK_TYPE: 만들려는 디스크의 유형입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-type 설명을 참조하세요.
    • NEW_DISK_NAME: 새 디스크에 설정할 이름입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-name 설명을 참조하세요.

    hanadiskrestore 명령어와 함께 사용할 수 있는 인수에 대한 자세한 내용은 디스크 복원에 지원되는 인수를 참조하세요.

  6. SAP HANA HA 시스템의 보조 노드를 등록 취소합니다.

    hdbnsutil -sr_unregister
  7. SAP HANA HA 시스템의 기본 노드에서 SAP HANA 시스템 복제를 사용 중지합니다.

    hdbnsutil -sr_disable
  8. 기본 노드에서 필요한 옵션을 사용하여 SAP HANA 데이터베이스를 복구합니다.

    스냅샷 시간으로 복구

    디스크 스냅샷이 생성된 시점으로 복원하여 SAP HANA 데이터베이스를 복구하려면 다음 단계를 따르세요.

    1. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    2. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    4. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

    특정 시점으로 복구

    SAP HANA 데이터베이스를 특정 시점으로 복원하여 복구하려면 다음 단계를 따르세요.

    1. SAP용 Google Cloud 에이전트의 Backint 기능을 사용하여 Cloud Storage에서 /hana/log 볼륨의 백업을 만들었는지 확인합니다. 이 기능에 대한 자세한 내용은 Backint를 사용하여 SAP HANA 백업 및 복구를 참조하세요.
    2. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    3. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    5. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

  9. 기본 노드에서 SAP HANA 시스템 복제를 사용 설정합니다.

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  10. 대기 노드를 기본 노드에 다시 등록합니다.

    hdbnsutil -sr_register
       --name=SECONDARY_SITE_NAME
       --remoteHost=PRIMARY_HOST_NAME
       --remoteInstance=INSTANCE_NUMBER
       --replicationMode=sync
       --operationMode=logreplay
  11. 대기 노드의 데이터베이스가 기본 노드의 데이터베이스와 완전히 동기화되었는지 확인합니다.

  12. 루트 사용자 권한으로 HA 클러스터 유지보수 모드를 종료합니다. Pacemaker를 사용하는 경우 다음 명령어를 실행합니다.

    RHEL

    pcs property set maintenance-mode=false

    SLES

    crm configure property maintenance-mode=false

수직 확장 DR 배포를 위한 데이터베이스 복구

Google Cloud에서 재해 복구 솔루션을 사용하여 배포된 SAP HANA 수직 확장 시스템의 데이터베이스를 복구하려면 다음 단계를 완료하세요.

  1. DR 배포의 기본 인스턴스와 대기 인스턴스 모두에서 다음 명령어를 실행하여 SAP HANA 데이터베이스를 중지합니다.

    HDB stop
  2. SAP HANA DR 배포의 기본 인스턴스로 전환합니다.

  3. 에이전트의 hanadiskrestore 명령어를 실행하여 /hana/data 볼륨을 호스팅하는 디스크를 복구합니다.

    • /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -source-snapshot=SOURCE_SNAPSHOT_NAME \
      [-new-disk-type=NEW_DISK_TYPE \
      -new-disk-name=NEW_DISK_NAME]
    • /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 다음 명령어를 실행합니다.

      sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
      -project=SOURCE_PROJECT_ID \
      -sid=SID \
      -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \
      [-new-disk-type=NEW_DISK_TYPE ]

    다음을 바꿉니다.

    • SOURCE_PROJECT_ID: 디스크 스냅샷이 있는 Google Cloud 프로젝트의 ID입니다.
    • SID: SAP HANA 시스템의 SAP 시스템 식별자(SID)입니다.
    • SOURCE_SNAPSHOT_NAME: /hana/data 볼륨이 디스크 하나에서 호스팅되는 경우 새 디스크를 만들 때 사용할 디스크 스냅샷의 이름을 지정합니다.
    • SOURCE_SNAPSHOT_GROUP_NAME: /hana/data 볼륨이 디스크 2개 이상에서 호스팅되는 경우 새 디스크를 만들 때 사용할 스냅샷 그룹 이름을 지정합니다.
    • NEW_DISK_TYPE: 만들려는 디스크의 유형입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-type 설명을 참조하세요.
    • NEW_DISK_NAME: 새 디스크에 설정할 이름입니다. 자세한 내용은 디스크 복원에 지원되는 인수-new-disk-name 설명을 참조하세요.

    hanadiskrestore 명령어와 함께 사용할 수 있는 인수에 대한 자세한 내용은 디스크 복원에 지원되는 인수를 참조하세요.

  4. 기본 인스턴스에서 SAP HANA 시스템 복제를 사용 중지합니다.

    hdbnsutil -sr_disable
  5. 기본 인스턴스에서 필요한 옵션을 사용하여 SAP HANA 데이터베이스를 복구합니다.

    스냅샷 시간으로 복구

    디스크 스냅샷이 생성된 시점으로 복원하여 SAP HANA 데이터베이스를 복구하려면 다음 단계를 따르세요.

    1. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    2. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    4. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

    특정 시점으로 복구

    SAP HANA 데이터베이스를 특정 시점으로 복원하여 복구하려면 다음 단계를 따르세요.

    1. SAP용 Google Cloud 에이전트의 Backint 기능을 사용하여 Cloud Storage에서 /hana/log 볼륨의 백업을 만들었는지 확인합니다. 이 기능에 대한 자세한 내용은 Backint를 사용하여 SAP HANA 백업 및 복구를 참조하세요.
    2. SIDadm 사용자로 전환합니다.
      su - SID_LCadm

      SID_LC를 SAP HANA 시스템의 SID로 바꿉니다. 모든 문자에 소문자를 사용합니다.

    3. 다음 명령어를 실행하여 시스템 데이터베이스를 복구합니다.
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      다음을 바꿉니다.

      • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
      • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
    5. 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      TENANT_SID를 테넌트 데이터베이스의 SID로 바꿉니다.

  6. 기본 인스턴스에서 SAP HANA 시스템 복제를 사용 설정합니다.

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  7. 기본 인스턴스에 대기 인스턴스를 등록합니다.

    hdbnsutil -sr_register
       --name=SECONDARY_SITE_NAME
       --remoteHost=PRIMARY_HOST_NAME
       --remoteInstance=INSTANCE_NUMBER
       --replicationMode=sync
       --operationMode=logreplay
  8. 대기 인스턴스의 데이터베이스가 기본 인스턴스의 데이터베이스와 완전히 동기화되었는지 확인합니다.

시스템 사본 또는 시스템 새로고침 수행

SAP HANA 시스템의 디스크 스냅샷 기반 백업을 사용하여 다른 SAP HANA 시스템을 복구하려면 다음 단계를 완료합니다.

  1. 소스 시스템에서 에이전트의 hanadiskbackup 명령어를 실행하여 스냅샷 기반 백업을 만듭니다. 자세한 내용은 디스크 스냅샷 기반 백업 만들기를 참조하세요.
  2. 소스 및 대상 시스템의 SID가 다른 경우 대상 시스템과 일치하도록 소스 시스템의 /hana/data/SID 디렉터리 이름을 바꿉니다.

    mv /hana/data/SOURCE_SID /hana/data/TARGET_SID

    다음을 바꿉니다.

    • SOURCE_SID: 소스 SAP HANA 시스템의 SID
    • TARGET_SID: 대상 SAP HANA 시스템의 SID
  3. 대상 시스템에서 에이전트의 hanadiskrestore 명령어를 실행하여 /hana/data 볼륨을 호스팅하는 디스크를 복구합니다.

  4. 대상 시스템에서 시스템 데이터베이스를 복구합니다.

    HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SOURCE 'SYSTEMDB@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT"
  5. 테넌트 데이터베이스에 소스 시스템의 SID가 포함되도록 하려면 SAP HANA 문서 테넌트 데이터베이스 이름 바꾸기의 안내에 따라 이름을 변경하면 됩니다.

  6. 대상 시스템에서 시스템 데이터베이스에 연결합니다. 예를 들어 다음 명령어를 실행할 수 있습니다.

    hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

    다음을 바꿉니다.

    • SYSTEM_DB_PASSWORD: 시스템 데이터베이스 비밀번호
    • INSTANCE_NUMBER: SAP HANA 인스턴스 번호
  7. 대상 시스템에서 각 테넌트 데이터베이스에 다음 명령어를 실행하여 테넌트 데이터베이스를 복구합니다.

    RECOVER DATABASE FOR TARGET_SID UNTIL TIMESTAMP '2023-12-08 23:59:00' CLEAR LOG USING SOURCE 'TARGET_SID@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT

스냅샷 일관성 검증

이 섹션에서는 SAP의 hdbpersdiag 도구를 사용하여 디스크 스냅샷의 데이터 일관성을 검증하는 방법을 설명합니다. 디스크 스냅샷 기반 백업 및 복구 작업을 위한 Google Cloud에서 추천하는 다른 권장사항은 권장사항을 참조하세요.

스냅샷의 일관성을 검증하려면 다음 단계를 완료하세요.

  1. 에이전트의 hanadiskbackup 명령어를 사용하여 만든 스냅샷에서 디스크를 만듭니다. gcloud compute disks create 명령어를 사용합니다.

    gcloud compute disks create DISK_NAME \
       --size=SIZE \
       --source-snapshot=SNAPSHOT_NAME \
       --type=DISK_TYPE \
       --zone=ZONE
    

    다음을 바꿉니다.

    • DISK_NAME: 임시 디스크의 이름
    • SIZE: 임시 디스크의 크기
    • SNAPSHOT_NAME: 소스 스냅샷의 이름
    • DISK_TYPE: 임시 디스크의 디스크 유형
    • ZONE: 임시 디스크를 배포할 Compute Engine 영역
  2. SAP HANA 호스트가 아닌 Compute Engine 인스턴스에 디스크를 연결합니다. gcloud compute instances attach-disk 명령어를 사용합니다.

    gcloud compute instances attach-disk COMPUTE_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    

    다음을 바꿉니다.

    • COMPUTE_INSTANCE_NAME: 만든 디스크를 배포할 컴퓨팅 인스턴스의 이름
    • DISK_NAME: 만든 디스크의 이름
    • ZONE: 컴퓨팅 인스턴스가 배포된 Compute Engine 영역입니다.
  3. 선호하는 SSH 방법을 사용하여 컴퓨팅 인스턴스에 연결합니다.

  4. 새 디스크를 임시 파일 시스템으로 마운트합니다.

    1. OS 수준에서 활성 논리 볼륨이 없는 볼륨 그룹을 찾습니다.

      vgdisplay
      

      출력은 다음 예시와 비슷합니다.

      --- Volume group ---
      VG Name               vg_hana_data
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               250.00 GiB
      PE Size               4.00 MiB
      Total PE              63999
      Alloc PE / Size       63999 / 250.00 GiB
      Free  PE / Size       0 / 0
      VG UUID               Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
    2. VG UUID를 사용하여 볼륨 그룹의 이름을 바꿉니다. 앞의 예시에서는 Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR입니다.

      vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
      
    3. 볼륨 그룹과 논리 볼륨을 활성화합니다.

      vgchange -a y vg_hana_data_temp
      lvchange -a y /dev/vg_hana_data_temp/data
      
    4. 임시 파일 시스템에 논리 볼륨을 마운트합니다(예: /hana/data_temp).

      mkdir /hana/data_temp
      mount /dev/vg_hana_data_temp/data /hana/data_temp
      
    5. 모든 디스크가 올바르게 마운트되었는지 확인합니다.

      lsblk
      

      출력은 다음 예시와 비슷합니다.

      NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
      sda                        8:0    0   30G  0 disk
      ├─sda1                     8:1    0    2M  0 part
      ├─sda2                     8:2    0   20M  0 part /boot/efi
      └─sda3                     8:3    0   30G  0 part /
      sdb                        8:16   0  350G  0 disk
      └─vg_hana_data_temp-data 254:5    0  250G  0 lvm  /hana/data_temp
      sdc                        8:32   0  104G  0 disk
      └─vg_hana_log-log        254:2    0  104G  0 lvm  /hana/log
      sdd                        8:48   0  208G  0 disk
      └─vg_hana_shared-shared  254:0    0  208G  0 lvm  /hana/shared
      sde                        8:64   0   32G  0 disk
      └─vg_hana_usrsap-usrsap  254:3    0   32G  0 lvm  /usr/sap
      sdf                        8:80   0  416G  0 disk
      └─vg_hanabackup-backup   254:4    0  416G  0 lvm  /hanabackup
      sdh                        8:112  0  250G  0 disk
      └─vg_hana_data-data      254:1    0  250G  0 lvm  /hana/data
  5. SIDadm 사용자 권한으로 임시 파일 시스템에 포함된 데이터 볼륨에 hdbpersdiag 도구를 실행합니다.

    for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
    
  6. hdbpersdiag 도구의 출력을 확인합니다.

  7. 나중에 이 일관성 검사를 수행하려는 경우 새 볼륨 그룹을 그대로 두면 됩니다. 그렇지 않은 경우 삭제합니다.

  8. 컴퓨팅 인스턴스에서 디스크를 분리합니다. gcloud compute instances detach-disk 명령어를 사용합니다.

    COMPUTE_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    
  9. 디스크를 삭제합니다. gcloud compute disks delete 명령어를 사용합니다.

    gcloud compute disks delete DISK_NAME \
       --zone=ZONE
    

문제 해결

SAP용 Google Cloud 에이전트는 SAP HANA의 디스크 스냅샷 기반 백업 및 복구 작업 중에 발생할 수 있는 대부분의 문제를 처리하도록 설계되었지만 수동 개입이 필요한 몇 가지 시나리오가 있습니다.

SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능 관련 문제를 해결하려면 디스크 스냅샷 기반 백업 또는 복구 작업 문제를 참조하세요.

지원 받기

SAP용 Google Cloud 에이전트 문제를 해결하는 데 도움이 필요하면 필요한 진단 정보를 수집하고 Cloud Customer Care에 문의하세요. 자세한 내용은 SAP HANA의 SAP용 Google Cloud 에이전트 진단 정보를 참조하세요.