SAP HANA 작동 가이드

이 가이드에서는 Google Cloud의 SAP HANA 배포 가이드에 따라 Google Cloud에 배포된 SAP HANA 시스템을 운영하는 방법을 설명합니다. 이 가이드의 목적은 표준 SAP 문서를 대신하려는 것이 아님을 알려드립니다.

Google Cloud에서 SAP HANA 시스템 관리

이 섹션에서는 시스템 시작, 중지, 클론에 대한 정보 등 SAP HANA 시스템을 작동하는 데 일반적으로 필요한 관리 작업 수행 방법을 설명합니다.

인스턴스 시작 및 중지

언제든지 SAP HANA 호스트를 한 개 이상 중지할 수 있으며, 인스턴스를 중지하면 인스턴스가 종료됩니다. 2분 내에 종료되지 않으면 인스턴스가 강제로 중지됩니다. 인스턴스를 중지하기 전에 먼저 인스턴스에서 실행되는 SAP HANA를 중지하는 것이 좋습니다.

VM 중지

가상 머신(VM) 인스턴스를 중지하면 Compute Engine이 ACPI 전원 끄기 신호를 인스턴스로 보냅니다. 인스턴스가 중지되면 Compute Engine 인스턴스에 대한 요금이 청구되지 않습니다. 하지만 인스턴스에 연결된 영구 디스크가 있으면 디스크가 삭제되지 않으며 디스크에 대한 요금이 계속 청구됩니다.

영구 디스크에 중요한 데이터가 있는 경우 디스크를 유지하거나 영구 디스크의 스냅샷을 만든 후 디스크를 삭제하면 비용을 절감할 수 있습니다. 데이터가 다시 필요할 때 스냅샷에서 다른 디스크를 만들 수 있습니다.

인스턴스를 중지하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 중지할 인스턴스를 하나 이상 선택합니다.

  3. VM 인스턴스 페이지 상단에 있는 중지를 클릭합니다.

자세한 내용은 인스턴스 중지를 참조하세요.

VM 다시 시작

  1. Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 다시 시작할 인스턴스를 선택합니다.

  3. 페이지 오른쪽 상단에서 시작을 클릭하여 인스턴스를 다시 시작합니다.

자세한 내용은 인스턴스 다시 시작을 참조하세요.

VM 수정

VM이 배포된 후 VM 유형을 비롯한 VM의 다양한 속성을 변경할 수 있습니다. 백업에서 SAP 시스템을 복원해야 변경사항이 적용되는 경우도 있고 VM을 다시 시작하기만 하면 변경사항이 적용되는 경우도 있습니다.

자세한 내용은 SAP 시스템의 VM 구성 수정을 참조하세요.

SAP HANA의 스냅샷 만들기

영구 디스크의 특정 시점 백업을 생성하기 위해 스냅샷을 만들 수 있습니다. Compute Engine은 데이터 무결성을 보장하는 자동 체크섬을 사용하여 각 스냅샷의 복사본 여러 개를 여러 위치에 저장합니다.

스냅샷을 만들려면 스냅샷 만들기의 Compute Engine 지침을 따릅니다. 일관된 스냅샷을 만들 수 있도록 스냅샷을 만들기 전에 디스크 버퍼를 디스크로 플러시하는 등 준비 단계에 주의하세요.

스냅샷은 다음과 같은 사용 사례에 유용합니다.

사용 사례 세부정보
간편하고 소프트웨어 독립적이며 경제적인 백업 솔루션 제공 스냅샷을 사용하여 데이터, 로그, 백업, 공유 디스크를 백업합니다. 이 디스크의 일일 백업을 예약하면 전체 데이터 세트의 특정 시점 백업이 가능합니다. 첫 번째 스냅샷 이후에 생성되는 스냅샷에는 증분 블록 변경사항만 저장됩니다. 이를 통해 비용을 절감할 수 있습니다.
다른 스토리지 유형으로 마이그레이션 영구 디스크에는 비용과 성능 특성이 서로 다른 표준(자기)과 SSD 등 두 가지 스토리지 유형이 있습니다. 예를 들어 백업 볼륨에는 표준을 사용하고 고성능을 요구하는 로그 및 데이터 볼륨에는 SSD를 사용할 수 있습니다. 스토리지 유형 간에 마이그레이션하려면 볼륨 스냅샷을 사용한 후 스냅샷을 사용하여 새 볼륨을 만들고 다른 스토리지 유형을 선택합니다.
SAP HANA를 다른 리전 또는 영역으로 마이그레이션 스냅샷을 사용하여 SAP HANA 시스템을 한 영역에서 동일한 리전의 다른 영역으로 또는 다른 리전으로 이전할 수 있습니다. 스냅샷을 Google Cloud 내에서 전역으로 사용하여 다른 영역 또는 리전에 디스크를 만들 수 있습니다. 다른 리전 또는 영역으로 이전하려면 루트 디스크를 포함한 디스크 스냅샷을 만든 후 스냅샷에서 생성된 디스크를 사용하여 원하는 영역 또는 리전에 가상 머신을 만듭니다.

SAP HANA 시스템 클론

Google Cloud에서 기존 SAP HANA 시스템의 스냅샷을 만들어 시스템의 정확한 클론을 만들 수 있습니다.

단일 호스트 SAP HANA 시스템을 클론하려면 다음 안내를 따르세요.

  1. 데이터 및 백업 디스크의 스냅샷을 만듭니다.

  2. 스냅샷을 사용하여 새 디스크를 만듭니다.

  3. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  4. 클론할 인스턴스를 클릭하여 인스턴스 세부정보 페이지를 연 후 클론을 클릭합니다.

  5. 스냅샷에서 생성된 디스크를 연결합니다.

멀티 호스트 SAP HANA 시스템을 클론하려면 다음 안내를 따르세요.

  1. 클론할 SAP HANA 시스템과 구성이 동일한 새 SAP HANA 시스템을 프로비저닝합니다.

  2. 원래 시스템의 데이터를 백업합니다.

  3. 원래 시스템의 백업을 새 시스템에 복원합니다.

Cloud SDK 설치 및 업데이트

SAP HANA용 VM을 배포하고 운영체제를 설치한 후에는 Cloud Storage와 파일을 주고 받거나 네트워크 서비스와 상호작용하는 등 다양한 목적을 위해 최신 Cloud SDK가 필요합니다.

SAP HANA 배포 가이드의 안내를 따르면 Cloud SDK가 자동으로 설치됩니다.

하지만 자체 운영체제를 커스텀 이미지로 Google Cloud에 가져오거나 Google Cloud에서 제공하는 이전 공개 이미지를 사용하는 경우 Cloud SDK를 직접 설치하거나 업데이트해야 할 수 있습니다.

Cloud SDK가 설치되어 있고 업데이트 가능 여부를 확인하려면 터미널 또는 명령 프롬프트를 열고 다음 명령어를 입력합니다.

 gcloud version

명령어가 인식되지 않으면 Cloud SDK가 설치되지 않은 것입니다.

Cloud SDK를 설치하려면 Cloud SDK 빠른 시작의 안내를 따릅니다.

SLES 통합 Cloud SDK 버전 140 이하를 대체하려면 다음 안내를 따르세요.

  1. ssh를 사용하여 VM에 로그인합니다.

  2. 최고 사용자로 전환합니다.

     sudo su
    
  3. 다음 명령어를 입력합니다.

     bash <(curl -s https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash) --disable-prompts --install-dir=/usr/local
     update-alternatives --install /usr/bin/gsutil gsutil /usr/local/google-cloud-sdk/bin/gsutil 1 --force
     update-alternatives --install /usr/bin/gcloud gcloud /usr/local/google-cloud-sdk/bin/gcloud 1 --force
     gcloud --quiet compute instances list
    

SAProuter로 SAP 지원 채널 설정

SAP 지원 엔지니어가 Google Cloud의 SAP HANA 시스템에 액세스하도록 허용해야 하는 경우에는 SAProuter를 사용하면 됩니다. 다음 단계를 따르세요.

  1. SAProuter 소프트웨어가 설치될 Compute Engine VM 인스턴스를 시작하고 인스턴스가 인터넷에 액세스할 수 있도록 외부 IP 주소를 할당합니다.

  2. 새로운 고정 내부 IP 주소를 만든 후 이 IP 주소를 인스턴스에 할당합니다.

  3. 네트워크에서 특정 SAProuter 방화벽 규칙을 만들고 구성합니다. SAProuter 인스턴스의 경우 이 규칙에서는 SAP 지원 네트워크에 대한 필요한 인바운드 및 아웃바운드 액세스만 허용합니다.

    TCP 포트 3299와 함께 SAP가 연결을 위해 제공하는 특정 IP 주소에 대한 인바운드 및 아웃바운드 액세스를 제한합니다. 방화벽 규칙에 대상 태그를 추가하고 인스턴스 이름을 입력합니다. 이렇게 하면 방화벽 규칙이 새 인스턴스에만 적용됩니다. 방화벽 규칙 만들기 및 구성에 대한 자세한 내용은 방화벽 규칙 문서를 참조하세요.

  4. SAP Note 1628296에 따라 SAProuter 소프트웨어를 설치하고 SAP에서 Google Cloud의 SAP HANA 시스템에 액세스할 수 있도록 해주는 saprouttab 파일을 만듭니다.

  5. SAP와의 연결을 설정합니다. 인터넷 연결에 보안 네트워크 통신을 사용합니다. 자세한 내용은 SAP 원격 지원 – 도움말을 참조하세요.

네트워크 구성

Google Cloud 가상 네트워크에서 VM을 사용하여 SAP HANA 시스템을 프로비저닝합니다. Google Cloud는 최신 소프트웨어 정의 네트워킹 및 분산 시스템 기술을 사용하여 전 세계에 서비스를 호스팅하고 제공합니다.

SAP HANA의 경우 네트워크의 각 서브네트워크에 겹치지 않는 CIDR IP 주소 범위를 가진 기본이 아닌 서브넷 네트워크를 만듭니다. 각 서브네트워크와 내부 IP 주소 범위는 단일 리전에 매핑됩니다.

서브네트워크는 서브네트워크가 생성된 리전의 모든 영역에 걸쳐 있습니다. 하지만 VM 인스턴스를 만들 때는 VM의 영역과 서브네트워크를 지정합니다. 예를 들어 subnetwork1region1zone1에 인스턴스의 한 집합을, subnetwork2region1zone2에 인스턴스의 다른 집합을 필요에 따라 만들 수 있습니다.

새로운 네트워크에는 방화벽 규칙이 없으므로 네트워크 액세스가 불가능합니다. 최소 권한 모델을 바탕으로 SAP HANA 인스턴스에 액세스할 수 있는 방화벽 규칙을 만들어야 합니다. 방화벽 규칙은 전체 네트워크에 적용되며 태깅 메커니즘을 사용하여 특정 대상 인스턴스에 적용되도록 구성할 수도 있습니다.

경로는 단일 네트워크에 연결된 리전이 아닌 전역 리소스입니다. 사용자가 만든 경로는 네트워크에 있는 모든 인스턴스에 적용됩니다. 즉, 외부 IP 주소를 요구하지 않고도 같은 네트워크의 여러 서브네트워크에 있는 인스턴스 간에 트래픽을 전달하는 경로를 추가할 수 있습니다.

SAP HANA 인스턴스의 경우 외부 IP 주소 없이 인스턴스를 시작하고 다른 VM을 외부 액세스용 NAT 게이트웨이로 구성합니다. 이렇게 구성하려면 NAT 게이트웨이를 SAP HANA 인스턴스의 경로로 추가해야 합니다. 이 절차는 배포 가이드에 설명되어 있습니다.

보안

다음 섹션에서는 보안 운영을 설명합니다.

최소 권한 모델

첫 번째 방어선은 방화벽을 사용하여 인스턴스에 연결할 수 있는 대상을 제한하는 것입니다. 방화벽 규칙을 만들면 특정 포트 집합의 네트워크 또는 대상 머신에 대한 모든 트래픽을 특정 소스 IP 주소로 제한할 수 있습니다. 액세스 권한을 액세스가 필요한 특정 IP 주소, 프로토콜, 포트로 제한하려면 최소 권한 모델을 따라야 합니다. 예를 들어 항상 배스천 호스트를 설정하고 이 호스트에서만 SSH를 통해 SAP HANA 시스템에 연결되도록 해야 합니다.

구성 변경사항

권장 보안 설정으로 SAP HANA 시스템 및 운영체제를 구성해야 합니다. 예를 들어 액세스를 허용하고 SAP HANA를 실행 중인 운영체제를 강화하는 등 관련 네트워크 포트만 나열되는지 확인합니다.

다음 SAP Note(SAP 사용자 계정 필요)를 참조하세요.

불필요한 SAP HANA 서비스 사용 중지

SAP HANA Extended Application Services(SAP HANA XS)가 필요하지 않으면 이 서비스를 사용 중지합니다. SAP Note 1697613: Removing the SAP HANA XS Classic Engine service from the topology를 참조하세요.

서비스가 사용 중지되었으면 서비스용으로 열려 있는 모든 TCP 포트를 삭제합니다. Google Cloud에서 네트워크의 방화벽 규칙을 수정하여 액세스 목록에서 이러한 포트를 삭제하면 됩니다.

감사 로깅

Cloud 감사 로그는 Google Cloud에서 자동으로 생성되는 관리자 활동 및 데이터 액세스의 두 가지 로그 스트림으로 구성됩니다. 이를 통해 Google Cloud 프로젝트에서 '누가 언제 어디서 무엇을 했는지'를 확인할 수 있습니다.

관리자 활동 로그에는 서비스 또는 프로젝트의 구성이나 메타데이터를 수정하는 API 호출 또는 관리 작업의 로그 항목이 포함됩니다. 이 로그는 항상 사용 설정되어 있고 모든 프로젝트 구성원에게 표시됩니다.

데이터 액세스 로그에는 서비스에서 관리하는 사용자 제공 데이터(예: 데이터베이스 서비스에 저장된 데이터)를 만들거나 수정하거나 읽는 API 호출의 로그 항목이 포함됩니다. 이 유형의 로깅은 프로젝트에서 기본적으로 사용 설정되며 Cloud Logging 또는 활동 피드를 통해 액세스 할 수 있습니다.

Cloud Storage 버킷 보안

Cloud Storage를 사용하여 데이터와 로그의 백업을 호스팅하는 경우, 전송 중 데이터를 보호하려면 인스턴스에서 Cloud Storage로 데이터를 전송할 때 TLS(HTTPS)를 사용해야 합니다. Cloud Storage는 저장 데이터를 자동으로 암호화합니다. 자체 키 관리 시스템이 있는 경우 자체 암호화 키를 지정할 수 있습니다.

Cloud Storage 보안 문서에서 Cloud Storage에 대한 권장사항을 참조하세요.

Google Cloud의 SAP HANA 환경에 대한 다음 추가 보안 리소스를 참조하세요.

Google Cloud의 SAP HANA의 고가용성

Google Cloud는 Compute Engine 라이브 마이그레이션 및 자동 재시작 기능을 포함하여 SAP HANA 시스템의 고가용성을 보장하는 다양한 옵션을 제공합니다. 이러한 기능과 함께 Compute Engine VM의 월간 업타임 비율이 높기 때문에 대기 시스템 비용을 지불하고 유지할 필요가 없습니다.

그러나 필요한 경우 SAP HANA 호스트 자동 장애 조치용 대기 호스트가 포함된 멀티 호스트 수평 확장 시스템을 배포하거나 고가용성 Linux 클러스터에 대기 SAP HANA 인스턴스가 있는 수직 확장 시스템을 배포할 수도 있습니다.

Google Cloud의 SAP HANA의 고가용성 옵션에 대한 자세한 내용은 SAP HANA 고가용성 및 재해 복구 계획 가이드를 참조하세요.

재해 복구

SAP HANA 시스템은 SAP HANA 데이터베이스가 소프트웨어 또는 인프라 수준에서 오류가 발생하지 않도록 몇 가지 고가용성 기능을 제공합니다. 이러한 기능 중에는 Google Cloud가 지원하는 SAP HANA 시스템 복제 및 SAP HANA 백업이 있습니다.

SAP HANA 백업에 대한 자세한 내용은 백업 및 복구를 참조하세요.

시스템 복제에 대한 자세한 내용은 SAP HANA 고가용성 및 재해 복구 계획 가이드를 참조하세요.

백업 및 복구

백업은 레코드 시스템(데이터베이스)을 보호하는 데 매우 중요합니다. SAP HANA는 메모리 내 데이터베이스이므로 데이터 손상 시 복구할 수 있도록 정기적으로 백업을 만들어야 합니다. 이를 위해 SAP HANA 시스템에서는 기본 백업 및 복구 기능을 제공합니다. Cloud Storage와 같은 Google Cloud 서비스를 SAP HANA 백업의 백업 대상으로 사용할 수 있습니다.

백업 및 복구에 직접 Cloud Storage를 사용할 수 있도록 SAP HANA용 Cloud Storage Backint 에이전트를 설치할 수도 있습니다.

이 문서에서는 개발자가 다음 SAP Service Note와 함께 SAP HANA 백업 및 복구를 잘 알고 있다고 가정합니다.

백업에 Compute Engine 영구 디스크 및 Cloud Storage 사용

배포 안내를 따랐다면 SAP HANA 설치 시 /hanabackup 디렉터리가 생성되어 있을 것입니다. 이 디렉터리는 표준 영구 디스크로 지원됩니다. 표준 SAP 도구를 사용하여 /hanabackup 디렉터리에 온라인 데이터베이스 백업을 만듭니다. 마지막으로 완료된 백업을 Cloud Storage 버킷에 업로드하여 복구가 필요할 때 백업을 다운로드할 수 있게 합니다.

Compute Engine을 사용하여 백업 및 디스크 스냅샷 만들기

SAP HANA용 Compute Engine 백업을 사용할 수 있으며 영구 디스크 스냅샷을 사용하여 데이터와 로그를 호스팅하는 전체 디스크를 백업할 수도 있습니다.

배포 가이드의 안내를 따랐다면 SAP HANA 설치 시 온라인 데이터베이스 백업용 /hanabackup 디렉터리가 생성되어 있습니다. 동일한 디렉터리를 사용하여 백업 볼륨의 스냅샷을 저장하고 데이터와 로그의 특정 시점 백업을 유지할 수 있습니다.

스냅샷의 장점은 증분식이라는 점입니다. 즉, 각 후속 백업 시 완전히 새로운 백업을 만드는 것이 아니라 증분 블록 변경사항만 저장합니다. Compute Engine은 데이터 무결성을 보장하는 자동 체크섬을 사용하여 각 스냅샷의 복사본 여러 개를 여러 위치에 저장합니다.

다음은 증분식 백업을 보여주는 이미지입니다.

스냅샷 다이어그램

Cloud Storage를 백업 대상으로 사용

Cloud Storage는 내구성과 데이터 가용성이 뛰어나므로 SAP HANA의 백업 대상으로 사용하기에 알맞습니다.

Cloud Storage는 모든 유형 또는 형식의 파일을 저장할 수 있는 객체 저장소입니다. 스토리지가 거의 무제한이므로 프로비저닝이나 용량 추가를 염려할 필요가 없습니다. Cloud Storage에서 객체는 파일 데이터와 관련 메타데이터로 구성되며 크기는 최대 5TB까지입니다. Cloud Storage 버킷은 객체를 무제한으로 저장할 수 있습니다.

Cloud Storage를 사용하면 데이터가 여러 위치에 저장되므로 높은 내구성과 고가용성을 얻을 수 있습니다. Cloud Storage에 데이터를 업로드하거나 여기에 있는 데이터를 복사하는 경우 객체 중복이 수행됐을 때만 Cloud Storage가 작업을 성공한 것으로 보고합니다.

다음 표에서는 Cloud Storage 사용 시의 다양한 스토리지 옵션을 보여줍니다.

필요한 데이터 액세스 Cloud Storage 권장 옵션
빈번한 액세스 한 달에 여러 번 액세스해야 하는 백업의 경우 표준 [스토리지 클래스] (/storage/docs/storage-classes)를 선택합니다.
빈번하지 않은 액세스 자주 액세스하지 않는 데이터에는 Nearline 또는 Coldline Storage를 선택합니다. Nearline은 1달에 최대 1번 액세스하려는 백업 데이터에 적합하며, Coldline은 1년에 1번 정도로 액세스할 가능성이 매우 낮은 데이터에 적합합니다.
보관 데이터 장기 보관 데이터에 대해 Archive Storage를 선택합니다. 보관 처리는 오랜 기간 동안 사본을 보관할 필요가 있지만 1년에 두 번 이상 액세스하지 않는 데이터에 적합합니다. 테이프 기반 백업 솔루션을 Archive로 교체해보세요.

이러한 스토리지 옵션 사용을 계획할 때는 먼저 자주 액세스하는 계층부터 시작하고 오래 보관할 백업 데이터는 자주 액세스하지 않는 계층에 저장하는 것이 좋습니다. 일반적으로 백업은 시간이 지날수록 거의 사용하지 않기 때문입니다. 3년 지난 백업 데이터가 필요할 가능성은 극히 낮기 때문에 이러한 백업 데이터를 Archive 계층에 저장하면 현재 GB/월당 1센트인 비용을 1/12(1TB/월에 $1.20과 동일)로 절약할 수 있습니다.

Cloud Storage와 테이프 백업 비교

전통적인 온프레미스 백업 대상은 테이프입니다. Cloud Storage의 데이터는 여러 시설에 걸쳐 복제되므로 Cloud Storage는 소스 시스템의 '외부 사이트'에 백업을 자동으로 저장하는 기능을 포함하여 테이프보다 많은 이점이 있습니다. 이는 또한 Cloud Storage에 저장된 백업의 가용성이 높다는 것을 의미합니다.

또 다른 주요 차이점은 필요 시 백업을 복원하는 속도입니다. 백업에서 새 SAP HANA 시스템을 만들거나 백업에서 기존 시스템을 복원해야 하는 경우 Cloud Storage는 데이터에 더 빠르게 액세스하고 시스템을 더 빠르게 빌드할 수 있습니다.

SAP HANA용 Cloud Storage Backint 에이전트

SAP HANA용 SAP 인증 Cloud Storage Backint 에이전트(Backint 에이전트)를 사용하면 온프레미스 설치와 클라우드 설치 모두의 백업과 복구에 Cloud Storage를 직접 사용할 수 있습니다.

자세한 내용은 SAP HANA용 Cloud Storage Backint 에이전트 개요를 참조하세요.

ID 및 백업 액세스 관리

Cloud Storage 또는 Compute Engine을 사용하여 SAP HANA 데이터를 백업하는 경우 백업에 대한 액세스는 Identity and Access Management(IAM)에서 제어됩니다. 관리자는 이 기능을 사용하여 특정 리소스에서 작업을 수행할 수 있는 권한을 사용자에게 부여할 수 있습니다. IAM은 백업을 포함한 모든 Google Cloud 리소스를 관리할 수 있는 중앙 집중식 제어 기능을 제공합니다.

또한 IAM은 권한 승인, 삭제, 위임에 대한 전체 감사 추적 기록을 제공하며 관련 정보가 자동으로 관리자에게 표시됩니다. 따라서 백업 데이터에 대한 액세스를 모니터링하는 정책을 구성하여 데이터에 대한 전체 액세스 제어 주기를 완료할 수 있습니다. IAM을 사용하면 조직 전체에 적용되는 보안 정책의 통합 뷰가 제공되고 기본 제공 감사 기능을 통해 규정 준수 프로세스를 수월하게 진행할 수 있습니다.

Cloud Storage에서 백업에 대한 액세스 권한을 부여하려면 다음 안내를 따르세요.

  1. Cloud Console에서 IAM 및 관리자 페이지로 이동합니다.

    IAM 및 관리자 페이지로 이동

  2. 액세스 권한을 부여할 사용자를 지정하고 스토리지 > 스토리지 객체 생성자 역할을 할당합니다.

    IAM 화면 캡처

백업 방법

배포 가이드를 사용하여 Google Cloud에서 프로비저닝된 SAP HANA 시스템은 NFS 마운트 백업 대상으로 사용할 영구 디스크 볼륨 집합으로 구성됩니다. SAP HANA 백업은 먼저 이러한 로컬 영구 디스크 볼륨에 저장된 후 장기 스토리지용으로 Cloud Storage로 복사되어야 합니다. 백업을 Cloud Storage에 수동으로 복사하거나 crontab에서 Cloud Storage에 사본을 예약할 수 있습니다.

SAP HANA용 Cloud Storage Backint 에이전트를 사용할 때는 Cloud Storage 버킷에 직접 백업하고 복구합니다. 영구 디스크 스토리지가 필요하지 않습니다.

SAP HANA Studio, SQL 명령어 또는 DBA Cockpit을 사용하여 SAP HANA 데이터 백업을 시작하거나 예약할 수 있습니다. 로그 백업은 사용 중지되지 않으면 자동으로 기록됩니다. 다음 스크린샷은 예시입니다.

백업 화면 캡처

SAP HANA global.ini 구성

배포 가이드 안내를 따랐다면 다음과 같이 SAP HANA global.ini 구성 파일은 /backup/data/에 저장된 데이터베이스 백업으로 맞춤설정되고 자동 로그 보관 파일은 /backup/log/에 저장됩니다.

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_databackup = /hanabackup/data
basepath_logbackup = /hanabackup/log

[system_information]
usage = production

SAP HANA용 Cloud Storage Backint 에이전트의 global.ini 구성 파일을 맞춤설정하려면 SAP HANA용 Cloud Storage Backint 에이전트 배포 가이드를 참조하세요.

수평 확장 배포 참고사항

수평 확장 구현에서 라이브 마이그레이션 및 자동 다시 시작을 사용하는 고가용성 솔루션은 단일 호스트 설정과 동일한 방식으로 작동합니다. 주요 차이점은 /hana/shared 볼륨이 모든 작업자 호스트에 NFS 마운트되고 HANA 마스터에서 마스터된다는 점입니다. 마스터 호스트에서 라이브 마이그레이션 또는 자동 다시 시작이 수행될 때는 NFS 볼륨에 잠시 동안 액세스할 수 없습니다. 마스터 호스트가 다시 시작되면 NFS 볼륨이 곧 모든 호스트에서 다시 작동하고 정상 작동이 자동으로 다시 시작합니다.

백업 및 복구 작업 중에 모든 호스트에서 백업 볼륨 /hanabackup을 사용할 수 있어야 합니다. 사용할 수 없는 경우 /hanabackup이 모든 호스트에 마운트되었는지 확인하고 그렇지 않은 호스트에는 다시 마운트해야 합니다. 백업 세트를 다른 볼륨 또는 Cloud Storage에 복사할 경우 IO 성능을 향상시키고 네트워크 사용량을 줄이려면 마스터 호스트에서 복사를 실행해야 합니다. Cloud Storage Fuse를 사용하여 각 호스트에 Cloud Storage 버킷을 마운트하면 백업 및 복구 프로세스를 간소화할 수 있습니다.

수평 확장 성능은 데이터 분산 정도에 비례합니다. 데이터가 더 많이 분산될수록 쿼리 성능이 향상됩니다. 이렇게 하려면 데이터를 잘 알고 있고 데이터 소비 방식을 이해하고 이에 따라 테이블 분산 및 파티션 나누기를 설계해야 합니다. SAP Note 2081591을 참조하세요.

Gcloud Python

Gcloud Python은 Google Cloud 서비스에 액세스하는 데 사용할 수 있는 관용적인 Python 클라이언트입니다. 이 가이드에서는 SAP HANA 데이터베이스 백업에 Gcloud Python을 사용하여 Cloud Storage와의 백업 및 복원 작업을 수행합니다.

배포 가이드 안내를 따랐다면 Compute Engine 인스턴스에서 Gcloud Python 라이브러리를 사용할 수 있습니다.

이 라이브러리는 오픈소스이며 Cloud Storage 버킷에서 작동하여 백업 데이터를 저장 및 검색할 수 있습니다.

다음 명령어를 실행하면 Cloud Storage 버킷의 객체를 나열할 수 있습니다. 이를 통해 사용할 수 있는 백업 객체를 나열할 수 있습니다.

python 2>/dev/null - <<EOF
from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket("<bucket_name>")
blobs = bucket.list_blobs()
for fileblob in blobs:
     print(fileblob.name)
EOF

Gcloud Python에 대한 자세한 내용은 스토리지 클라이언트 라이브러리 참조 문서를 확인하세요.

백업 예시

다음 단계는 SAP HANA Studio를 사용하여 일반적인 백업 태스크를 수행하는 예시입니다.

  1. SAP HANA 백업 편집기에서 Open Backup Wizard(백업 마법사 열기)를 선택합니다.

    백업 마법사

    1. 대상 유형으로 File(파일)을 선택합니다. 이렇게 하면 지정된 파일 시스템의 파일에 데이터베이스가 백업됩니다.
    2. 백업 대상, /hanabackup/data/[SID], 백업 프리픽스를 지정합니다. [SID]를 적절한 SAP SID로 바꿉니다.
    3. Next(다음)를 클릭합니다.
  2. 확인 양식에서 Finish(마침)를 클릭하여 백업을 시작합니다.

  3. 백업이 시작되면 상태 창에 백업 진행률이 표시됩니다. 백업이 완료될 때까지 기다립니다.

    백업 프로세스

    백업이 완료되면 백업 요약에 'Finished(마침)' 메시지가 표시됩니다.

  4. SAP HANA 시스템에 로그인하고 파일 시스템의 예상 위치에서 백업을 사용할 수 있는지 확인합니다. 예를 들면 다음과 같습니다.

    백업 목록1 백업 목록2

  5. /hanabackup 파일 시스템에서 Cloud Storage로 백업 파일을 푸시하거나 동기화합니다. 다음 샘플 Python 스크립트는 /hanabackup/data/hanabackup/log의 데이터를 [NODENAME]/[DATA] 또는 [LOG]/YYYY/MM/DD/HH/[BACKUP_FILE_NAME] 형식으로 백업에 사용되는 버킷에 푸시합니다. 그러면 백업이 복사된 시간을 기준으로 백업 파일을 식별할 수 있습니다. 운영체제 bash 프롬프트에서 이 gcloud Python 스크립트를 실행합니다.

    python 2>/dev/null - <<EOF
    import os
    import socket
    from datetime import datetime
    from google.cloud import storage
    storage_client = storage.Client()
    today = datetime.today()
    current_hour = today.strftime('%Y/%m/%d/%H')
    hostname = socket.gethostname()
    bucket = storage_client.get_bucket("hanabackup")
    for subdir, dirs, files in os.walk('/hanabackup/data/H2D/'):
      for file in files:
          backupfilename = os.path.join(subdir, file)
          if 'COMPLETE_DATA_BACKUP' in backupfilename:
                only_filename = backupfilename.split('/')[-1]
                backup_file = hostname + '/data/' + current_hour + '/' + only_filename
                blob = bucket.blob(backup_file)
                blob.upload_from_filename(filename=backupfilename)
    for subdir, dirs, files in os.walk('/hanabackup/log/H2D/'):
      for file in files:
          backupfilename = os.path.join(subdir, file)
          if 'COMPLETE_DATA_BACKUP' in backupfilename:
              only_filename = backupfilename.split('/')[-1]
              backup_file = hostname + '/log/' + current_hour + '/' + only_filename
              blob = bucket.blob(backup_file)
              blob.upload_from_filename(filename=backupfilename)
    EOF
    
  6. Gcloud Python 라이브러리 또는 Cloud Console을 사용하여 백업 데이터를 나열합니다.

복원 예시

백업에서 SAP HANA 데이터베이스를 복원하려면 다음 안내를 따르세요.

  1. 백업 파일을 /hanabackup 파일 시스템에서 아직 사용할 수는 없지만 Cloud Storage에 있다면 운영체제 bash 프롬프트에서 다음 스크립트를 실행하여 Cloud Storage에서 파일을 다운로드합니다.

    python - <<EOF
    from google.cloud import storage
    storage_client = storage.Client()
    bucket = storage_client.get_bucket("hanabackup")
    blobs = bucket.list_blobs()
    for fileblob in blobs:
      blob = bucket.blob(fileblob.name)
      fname = str(fileblob.name).split('/')[-1]
      blob.chunk_size=1<<30
      if 'log' in fname:
          blob.download_to_filename('/hanabackup/log/H2D/' + fname)
      else:
          blob.download_to_filename('/hanabackup/data/H2D/' + fname)
    EOF
    
  2. SAP HANA 데이터베이스를 복구하려면 Backup and Recovery(백업 및 복구) > Recover System(시스템 복구)을 클릭합니다.

    시스템 복구

  3. Next(다음)를 클릭합니다.

  4. 로컬 파일 시스템의 백업 위치를 지정하고 Add(추가)를 클릭합니다.

  5. Next(다음)를 클릭합니다.

  6. Recover without the backup catalog(백업 카탈로그 없이 복구)를 선택합니다.

    Nocat 복구

  7. Next(다음)를 클릭합니다.

  8. 대상 유형으로 File(파일)을 선택한 후 백업 파일 위치와 백업의 올바른 프리픽스를 지정합니다. 백업 예시에서는 COMPLETE_DATA_BACKUP을 프리픽스로 사용했습니다.

  9. Next(다음)를 더블클릭합니다.

  10. Finish(마침)를 클릭하여 복구를 시작합니다.

  11. 복구가 완료되면 일반 작업을 재개하고 /hanabackup/data/[SID]/* 디렉터리에서 백업 파일을 삭제합니다.

다음 단계

다음의 표준 SAP 문서가 유용할 수 있습니다.

다음 Google Cloud 문서도 유용할 수 있습니다.