SAP HANA용 디스크 스냅샷 기반 백업 및 복구

이 계획 가이드에서는 SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능을 설명합니다. 다른 기능에 대한 자세한 내용은 SAP용 Google Cloud 에이전트 계획 가이드를 참조하세요.

디스크 스냅샷 기능을 사용하면 Compute Engine VM 인스턴스에서 실행되는 SAP HANA 수직 확장 시스템에 대한 백업 및 복구 작업을 수행할 수 있습니다.

이 기능은 /hana/data 디스크의 표준 스냅샷을 사용하여 SAP HANA 데이터베이스를 백업 및 복구할 수 있는 SAP HANA의 데이터 스냅샷 기능과 통합되어 있습니다.

이 에이전트 기능을 사용하여 SAP HANA의 백업 및 복구 작업을 수행하는 방법은 디스크 스냅샷을 사용하여 SAP HANA 백업 및 복구 수행을 참조하세요.

월별 예상 비용

생성한 표준 스냅샷에 대해 요금이 부과됩니다. 가격 책정 정보는 디스크 스냅샷을 참조하세요.

디스크 스냅샷을 SAP HANA 데이터 볼륨의 백업으로 사용하는 데 드는 월간 비용을 추정하려면 Google Cloud 가격 계산기를 사용하면 됩니다. 다음 정보를 사용하면 비용을 더 올바르게 예상하는 데 도움이 됩니다.

  • 초기 디스크 스냅샷의 예상 전체 크기
  • 각 디스크 스냅샷의 예상 델타 크기
  • 스냅샷 빈도. 예를 들어 매일 스냅샷 하나를 만들면 스냅샷 빈도는 24시간입니다.
  • 스냅샷 보관 기간
  • 스냅샷 스토리지 중복: 단일 리전 또는 멀티 리전
  • 네트워크를 통한 리전 내 및 리전 간 예상 데이터 전송. 예를 들어 소스 디스크와 다른 위치에 저장되는 표준 스냅샷을 만들거나 복원하는 경우 네트워크 요금이 발생할 수 있습니다.

제한사항

SAP용 Google Cloud 에이전트를 사용할 때 스냅샷 기반 백업 및 복구에는 다음 제한사항이 적용됩니다.

  • SAP HANA 수평 확장 배포에는 에이전트의 디스크 스냅샷 기능을 사용할 수 없습니다. 자세한 내용은 수평 확장 배포에 스냅샷 사용을 참조하세요.
  • /hana/data 볼륨에서 다음을 확인해야 합니다.
    • 스트라이핑 없이 SSD 기반 Persistent Disk 또는 Hyperdisk 볼륨에서 독립적으로 호스팅됩니다. 이 디스크는 다른 SAP HANA 볼륨을 호스팅하지 않아야 합니다. SAP Note 2039883 - FAQ: SAP HANA 데이터베이스 및 데이터 스냅샷(스토리지 스냅샷)의 설명대로 SAP HANA 데이터베이스를 복구하려면 스토리지 스냅샷에 데이터베이스의 로그 영역이 포함되지 않아야 합니다.
    • 논리 볼륨에 매핑됩니다. 이렇게 하면 에이전트가 디스크 스냅샷 기반 백업 또는 복구 작업 중에 마운트 지점을 올바르게 처리할 수 있습니다.
  • Terraform과 같은 코드형 인프라(IaC) 도구를 사용하여 SAP HANA 시스템을 배포한 경우 에이전트가 스냅샷 기반 백업을 만들 수 있지만 복구 작업을 수행할 수 없습니다. 자세한 내용은 IaC 도구 기반 배포에 스냅샷 사용을 참조하세요.
  • SAP HANA 호스트 VM에서 실행되는 에이전트 인스턴스를 사용하여 백업 및 복구 작업을 수행해야 합니다. 다른 VM에서 실행되는 에이전트 인스턴스는 사용할 수 없습니다.
  • 백업 및 복구 작업을 수행하려면 루트 액세스 권한을 제공하거나 적절한 sudo 그룹을 사용하여 특정 운영체제 명령어에 대한 sudo 액세스 권한을 부여해야 합니다. 자세한 내용은 권한 설정을 참조하세요.

필수 권한

SAP용 Google Cloud 에이전트가 SAP HANA 시스템에 대한 디스크 스냅샷 기반 백업 및 복구 작업을 수행하도록 허용하려면 다음에 대한 권한을 설정해야 합니다.

  • SAP HANA 시스템이 실행되는 Google Cloud 프로젝트
  • 운영체제에서 에이전트 명령어를 실행하는 사용자(SAP HANA 운영체제 사용자 또는 자체 사용자)
  • 에이전트가 사용하는 SAP HANA 데이터베이스 사용자

부여해야 하는 권한에 대한 자세한 내용은 권한 설정을 참조하세요.

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

SAP용 Google Cloud 에이전트를 사용하여 SAP HANA에 디스크 스냅샷 기반 백업을 만들려면 hanadiskbackup 명령어를 실행합니다. 자세한 내용은 디스크 스냅샷을 사용하여 SAP HANA의 백업 및 복구 수행을 참조하세요.

다음 플로우 차트는 에이전트가 백업을 만들기 위해 수행하는 단계를 보여줍니다.

SAP용 Google Cloud 에이전트를 사용하는 SAP HANA의 디스크 스냅샷 기반 백업 플로우 차트

에이전트의 디스크 스냅샷 기능으로 SAP HANA용 백업을 만드는 방법

hanadiskbackup 명령어를 실행하면 에이전트가 다음을 수행합니다.

  1. hanadiskbackup 명령어에 제공된 모든 입력 인수의 유효성을 검사합니다.
  2. `hanadiskbackup` 명령어에 제공된 입력을 사용하여 SAP HANA 데이터베이스에 연결합니다.
  3. 기존 스냅샷이 없는지 확인합니다.

    /hana/data 볼륨을 호스팅하는 디스크의 기존 스냅샷이 있고 hanadiskbackup 명령어로 abandon-prepared=TRUE를 지정하지 않은 경우 에이전트는 이 절차를 종료하고 백업을 생성하지 않습니다. 그런 다음 hanadiskbackup 명령어를 수동으로 검토하고 다시 실행해야 합니다.

  4. SAP HANA에 스냅샷 만들기가 시작되었음을 알립니다.
  5. /hana/data 볼륨을 호스팅하는 Persistent Disk Hyperdisk 볼륨의 스냅샷을 만듭니다.
  6. SAP HANA에 스냅샷 생성이 완료되었음을 알립니다.

에이전트가 이 백업 절차의 단계를 완료하지 않으면 스냅샷 생성이 UNSUCCESSFUL로 표시되고 절차가 종료됩니다. 그런 다음 hanadiskbackup 명령어를 수동으로 검토하고 다시 실행해야 합니다. /var/log/google-cloud-sap-agent/hanadiskbackup.log 파일의 항목을 보고 에이전트가 백업 절차를 종료한 이유를 확인할 수 있습니다.

델타 백업 만들기

hanadiskbackup 명령어를 실행하면 에이전트가 지정된 디스크의 표준 스냅샷을 만듭니다.

표준 디스크 스냅샷의 장점은 증분식이라는 점입니다. 즉, 각 후속 백업 시 완전히 새로운 백업을 만드는 것이 아니라 증분식 블록 변경사항만 저장합니다. 즉, SAP용 Google Cloud 에이전트를 사용하여 SAP HANA용 첫 번째 디스크 스냅샷을 만들면 이후에 만드는 모든 스냅샷은 기본적으로 델타 백업입니다. 델타 백업을 만들기 위해 추가 작업을 수행할 필요는 없습니다.

자세한 내용은 증분 표준 스냅샷 작동 방식을 참조하세요.

디스크 스냅샷 암호화

기본적으로 Google Cloud의 데이터는 AES-256을 통해 저장 데이터 암호화가 적용됩니다. 이는 디스크 및 디스크 스냅샷에 저장된 데이터에 적용됩니다. 또는 고객 관리 암호화 키(CMEK)고객 제공 암호화 키(CSEK)를 사용하여 스냅샷을 암호화할 수 있습니다.

데이터 볼륨에 SAP HANA에서 제공되는 암호화를 사용 설정하여 보안 레이어를 추가할 수도 있습니다. 이 옵션에 대한 자세한 내용은 데이터 및 로그 볼륨 암호화 사용 설정을 참조하세요.

디스크 스냅샷을 사용하여 SAP HANA 데이터 복구

디스크 스냅샷 기반 백업을 사용하여 SAP HANA 데이터베이스 복구를 시작하려면 hanadiskrestore 명령어를 실행합니다. 자세한 내용은 디스크 스냅샷을 사용하여 SAP HANA의 백업 및 복구 수행을 참조하세요.

다음 플로우 차트는 에이전트의 디스크 스냅샷 기능을 사용하여 SAP HANA 데이터베이스를 복구하는 방법을 보여줍니다.

SAP용 Google Cloud 에이전트를 사용하는 SAP HANA의 디스크 스냅샷 기반 복구 플로우 차트

에이전트의 디스크 스냅샷 기능을 사용하여 SAP HANA 복구를 수행하는 방법

디스크 스냅샷을 사용하여 SAP HANA 데이터베이스를 복구하려면 다음을 수행합니다.

  1. SAP용 Google Cloud 에이전트를 사용하여 /hana/data 볼륨을 호스팅하는 디스크를 복구합니다. 에이전트의 hanadiskrestore 명령어를 실행하면 됩니다. 자세한 내용은 디스크 스냅샷을 사용하여 SAP HANA의 백업 및 복구 수행을 참조하세요.

    다음은 에이전트가 디스크 스냅샷을 사용하여 SAP HANA 데이터 볼륨을 복구하기 위해 수행하는 대략적인 절차입니다. 앞의 플로우 차트는 이러한 단계를 보여줍니다.

    1. hanadiskrestore 명령어에 제공된 모든 입력 인수의 유효성을 검사합니다.
    2. SAP HANA를 중지합니다.
    3. /hana/data 볼륨을 마운트 해제합니다.
    4. 호스트 VM에서 /hana/data 볼륨을 호스팅하는 디스크를 분리합니다.
    5. 디스크 스냅샷에서 /hana/data 볼륨의 새 디스크를 만듭니다.
    6. 호스트 VM에 새 디스크를 연결합니다.
    7. SAP HANA용 볼륨 그룹을 다시 스캔합니다.
  2. 다음 하위 섹션에 설명된 대로 SAP HANA 데이터베이스를 스냅샷 시간 또는 특정 시점으로 수동으로 복구합니다.

에이전트가 이 절차의 단계를 완료하지 않으면 절차가 종료됩니다. 그런 다음 수동으로 검토하고 필요한 경우 문제를 해결한 후 hanadiskrestore 명령어를 다시 시도해야 합니다. /var/log/google-cloud-sap-agent/hanadiskrestore.log 파일의 항목을 보고 에이전트가 데이터베이스 복구 절차를 종료한 이유를 확인할 수 있습니다.

특정 시점으로 복구

SAP HANA 데이터베이스를 특정 시점으로 복구하려면 /hana/data 볼륨을 호스팅하는 디스크의 스냅샷 외에도 데이터베이스에서 이전에 만든 필수 SAP HANA 델타 및 로그 백업이 필요합니다.

에이전트의 Backint 기능 또는 SAP HANA 데이터베이스의 파일 시스템 백업을 사용하여 SAP HANA 로그 백업을 만들 수 있습니다.

복구를 수행하는 동안 나중에 타임스탬프를 지정하면 SAP HANA 데이터베이스가 최신 상태로 복구됩니다.

외부 소스에서 복구

SAP HANA 시스템 하나에 만든 디스크 스냅샷 기반 백업을 사용하여 다른 SAP HANA 시스템을 복구할 수 있습니다. 또한 이 기능을 사용하여 여러 환경 간에(예: 테스트 환경에서 품질 보증 환경으로) 시스템을 이동할 수 있습니다.

자세한 내용은 시스템 복사 또는 시스템 새로고침 수행을 참조하세요.

SAP HANA 배포에 디스크 스냅샷 사용

다음 섹션에서는 SAP HANA 수직 확장 시스템에서 SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능을 사용하기 위한 시나리오별 계획 정보를 제공합니다.

HA 배포에 스냅샷 사용

고가용성(HA) 클러스터에서 실행되는 SAP HANA 수직 확장 시스템에서는 클러스터의 기본 노드와 대기 노드 모두에 SAP용 Google Cloud 에이전트를 설치해야 합니다.

SAP HANA HA 시스템에 대한 디스크 스냅샷 기반 백업을 만들려면 기본 노드의 /hana/data 디스크에서만 hanadiskbackup 명령어를 실행해야 합니다. 장애 조치 이벤트가 발생하면 새 기본 노드에서 hanadiskbackup 명령어를 실행해야 합니다. 또한 명령어를 실행하는 동안 기본 노드 호스트의 SAP HANA 호스트 이름 또는 IP 주소를 지정해야 합니다. 클러스터에 사용된 SAP HANA 가상 IP(VIP)를 지정하지 마세요.

복구 작업을 수행하는 동안 디스크 스냅샷을 사용하여 기본 노드 또는 대기 노드에서 /hana/data 볼륨을 호스팅하는 디스크를 복구할 수 있습니다. 디스크 스냅샷이 생성된 시점 또는 특정 시점으로 SAP HANA 데이터베이스를 복구할 수 있습니다.

DR 배포에 스냅샷 사용

Google Cloud 재해 복구(DR) 배포의 SAP HANA 수직 확장 시스템의 경우 기본 호스트와 대기 호스트 모두에 SAP용 Google Cloud 에이전트를 설치해야 합니다.

SAP HANA HA 시스템에 대한 디스크 스냅샷 기반 백업을 만들려면 기본 데이터베이스 인스턴스의 /hana/data 디스크에서만 hanadiskbackup 명령어를 실행해야 합니다. SAP HANA 시스템 복제를 중단하고 대기 데이터베이스 인스턴스를 승격하는 경우 새 기본 인스턴스에서 hanadiskbackup 명령어를 실행해야 합니다.

DR 배포의 경우 기본 데이터베이스 인스턴스에서 복구 작업을 수행합니다. 디스크 스냅샷이 생성된 시점 또는 특정 시점으로 SAP HANA 데이터베이스를 복구할 수 있습니다.

수평 확장 배포에 스냅샷 사용

SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능은 SAP HANA 수평 확장 배포와 호환되지 않습니다.

하지만 다음 옵션을 사용하여 SAP HANA 수평 확장 배포를 위한 백업 및 복구 작업을 수행할 수 있습니다.

IaC 도구 기반 배포에 스냅샷 사용

SAP용 Google Cloud 에이전트의 디스크 스냅샷 기능은 Terraform과 같은 코드형 인프라(IaC) 도구를 사용하여 배포된 SAP HANA 시스템과 부분적으로 호환됩니다.

에이전트는 이러한 시스템에 대해 스냅샷 기반 백업을 만들 수 있지만 에이전트는 복구 작업을 수행할 수 없습니다. 에이전트를 사용하는 스냅샷 기반 복구에는 /hana/data 볼륨의 디스크 재생성이 포함되어 있어 IaC가 상태 관리를 수행하는 방식에 충돌이나 문제가 발생할 수 있기 때문입니다.

예를 들어 에이전트를 사용하여 복구를 수행한 후 IaC 도구가 /hana/data 볼륨을 호스팅하는 디스크의 상태를 확인할 때마다 이 도구는 이전 디스크를 다시 연결하거나 새 디스크를 삭제하고 이전 디스크를 다시 생성하여 시스템에 정의된 구성으로 되돌리려고 시도합니다. 이러한 작업은 SAP HANA 데이터베이스를 사용할 수 없을 정도로 심각한 영향을 미칠 수 있습니다.

그러나 대부분의 IaC 도구는 관리형 인프라의 변경사항을 따라 잡기 위해 시스템 상태를 수정할 수 있는 워크플로를 제공합니다. 다음은 IaC 도구를 사용하여 배포된 SAP HANA 시스템의 복구를 수행하는 데 사용할 수 있는 대략적인 절차입니다.

  1. SAP HANA 데이터베이스를 중지합니다. 자세한 내용은 SAP 문서 SAP HANA 시스템 시작 및 중지를 참조하세요.

  2. SAP HANA 시스템을 호스팅하는 Compute Engine VM 인스턴스를 중지합니다. HA 또는 DR 배포에서 모든 VM을 중지합니다. 자세한 내용은 VM 중지를 참조하세요.

  3. SAP HANA 시스템의 정의가 포함된 IaC 구성 파일에서 기존 디스크 스냅샷을 사용하여 다시 만들 수 있도록 /hana/data 볼륨의 디스크 정의를 수정합니다. HA/DR 배포의 경우 기본 SAP HANA 노드에 이 작업을 수행합니다.

    예를 들어 Google Cloud에서 제공하는 Terraform 구성 중 하나를 사용하여 SAP HANA 시스템을 배포한 경우 ./terraform/modules/sap_hana/main.tf 파일에 있는 snapshot 인수는 다음과 같습니다.

    # Split data/log/sap disks
    resource "google_compute_disk" "sap_hana_data_disks" {
     count   = var.use_single_shared_data_log_disk ? 0 : var.sap_hana_scaleout_nodes + 1
     name    = format("${var.instance_name}-data%05d", count.index + 1)
     type    = local.final_data_disk_type
     zone    = var.zone
     size    = local.data_pd_size
     snapshot = "hana-SID-snapshot-YYYYMMDD-HHMMSS"
     project = var.project_id
     provisioned_iops = local.final_data_iops
    }
    
  4. 수정된 구성을 적용합니다. 예를 들어 Terraform을 사용하는 경우 다음 명령어를 실행합니다.

    terraform validate
    terraform apply
    
  5. SAP HANA 데이터베이스를 복구합니다. 자세한 내용은 디스크 스냅샷을 사용하여 복구 수행을 참조하세요.

로깅 사용 설정

디스크 스냅샷 기반 백업 및 복구 작업을 수행하는 동안 SAP용 Google Cloud 에이전트는 각각 hanadiskbackup.loghanadiskrestore.log 로그 파일에 기록합니다.

이러한 로그 파일은 호스트의 /var/log/google-cloud-sap-agent/ 디렉터리에 있습니다.

기본적으로 백업 및 복구 작업 중에는 로깅이 사용 설정됩니다. 기본 로그 수준은 info입니다. hanadiskbackuphanadiskrestore 명령어를 실행할 때 -loglevel 인수를 사용하여 로그 수준을 늘리거나 줄일 수 있습니다.

모니터링 사용 설정하기

기본적으로 SAP용 Google Cloud 에이전트는 hanadiskbackup 명령어를 실행할 때마다 Cloud Monitoring에 다음 측정항목을 내보냅니다. 이는 기본값 TRUE를 갖는 -send-metrics-to-monitoring 인수에 의해 제어됩니다.

대시보드에서 이러한 측정항목을 보고 이를 사용하여 알림을 구성할 수 있습니다.

측정항목 설명
workload.googleapis.com/sap/agent/hanadiskbackup/status

Boolean

디스크 스냅샷 기반 백업 작업의 성공 여부를 알려줍니다. true 값은 성공을 false 값은 실패를 의미합니다.

workload.googleapis.com/sap/agent/hanadiskbackup/totaltime

Int

지정된 Cloud Storage 버킷에 업로드하는 시간을 포함하여 백업 작업에서 디스크 스냅샷을 만드는 데 걸리는 시간(초)을 알려줍니다.

workload.googleapis.com/sap/agent/hanadiskbackup/dbfreezetime

Int

디스크 스냅샷 기반 백업 작업 중에 SAP HANA 파일 시스템이 정지된 시간(초)을 알려줍니다.

권장사항

디스크 스냅샷을 사용하여 SAP HANA의 백업 및 복구 작업을 수행하는 동안 다음 권장사항을 따르는 것이 좋습니다.

  • 데이터베이스의 대체 복구 옵션을 준비합니다. 여러 방법을 조합하도록 백업 및 복구 전략을 설계하는 것이 좋습니다. 예를 들어 에이전트의 Backint 기능을 사용하거나 파일 시스템 백업을 사용하여 생성된 SAP HANA 데이터베이스의 전체 백업과 함께 에이전트의 디스크 스냅샷 기능을 사용할 수 있습니다.
  • /hana/data 볼륨 및 디스크 스냅샷에서 일관성 검사를 수행합니다. 스냅샷 기반 백업 작업 중에는 블록 수준의 무결성 검사가 수행되지 않으므로 hdbpersdiag 도구를 사용하여 다음 일관성 검사를 정기적으로 수행하는 것이 좋습니다.

    • /hana/data 볼륨의 페이지 일관성 검사를 수행합니다. SAP HANA 색인 서버와 같이 데이터 볼륨을 사용하는 프로세스가 있으면 도구가 특정 데이터 볼륨의 데이터 페이지를 확인할 수 없으므로 이 작업에는 다운타임이 필요합니다.
    • SAP HANA 호스트 이외의 VM에서 에이전트의 hanadiskbackup 명령어를 사용하여 만든 스냅샷에서 임시 디스크를 배포한 후 해당 디스크에 관한 일관성 검사를 수행합니다. 자세한 내용은 스냅샷 일관성 검증을 참조하세요.

    hdbpersdiag 도구에 대한 자세한 내용은 SAP 문서 일관성 검사 수행을 참조하세요.

  • 디스크 스냅샷에 대한 유지보수 활동을 수행합니다. SAP용 Google Cloud 에이전트는 디스크 스냅샷에 대해 유지보수 활동을 수행하지 않으므로 이를 주기적으로 검토하고 이전 스냅샷 삭제와 같은 활동을 수행하는 것이 좋습니다.

    디스크 스냅샷 관련 권장사항에 대한 자세한 내용은 Compute Engine 디스크 스냅샷 권장사항을 참조하세요.