SAP용 Google Cloud 에이전트 문제 해결 가이드

이 가이드에서는 SAP용 Google Cloud 에이전트 버전 3.2(최신) 관련 문제를 해결하는 방법을 보여줍니다.

SAP의 문제 해결 및 지원 정보는 다음 SAP Note를 참조하세요.

로깅

운영체제에 해당하는 디렉터리에서 로그를 확인합니다.

SAP용 Google Cloud 에이전트 로그를 보려면 다음 경로로 이동합니다.

Linux

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

Windows

C:\Program Files\Google\google-cloud-sap-agent\logs\google-cloud-sap-agent.log

SAP용 Google Cloud 에이전트의 Backint 기능을 사용 설정한 경우 다음 로그를 검토합니다.

  • SAP HANA backup.log 파일: SAP HANA 백업 및 복구 작업에 대한 정보가 포함됨
  • SAP HANA backint.log 파일: 에이전트의 Backint 기능 및 기타 외부 백업 도구에 사용되는 백업 인터페이스에 대한 호출이 포함됨
  • SAP용 Google Cloud 에이전트의 Backint 로그 파일: /var/log/google-cloud-sap-agent/backint.log. 이 파일에는 Backint 기능이 사용 설정된 시간, 관련 운영 이벤트, Cloud Storage와의 통신 오류 표시 및 관련 구성이나 권한 문제에 대한 정보가 포함되어 있습니다.
  • Cloud Logging의 Google Cloud 로그에는 SAP용 Google Cloud의 에이전트에서 사용하는 서비스 계정과 관련된 오류가 포함될 수 있습니다. 이러한 로그를 보려면 Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

일반적인 문제

다음 섹션에서는 SAP용 Google Cloud 에이전트 사용과 관련된 일반적인 문제, 원인, 해결 방법에 대해 설명합니다.

문제: IAM 권한 부족

문제: SAP용 Google Cloud 에이전트에 IAM 권한 부족 오류가 표시됩니다.

원인 에이전트가 사용하는 서비스 계정에 Cloud Monitoring API에 액세스하는 데 필요한 IAM 권한이 없거나, 에이전트의 Backint 기능을 사용하는 경우 Cloud Storage 버킷에 액세스하기 위한 권한이 부족합니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 수행하시기 바랍니다.

  1. Google Cloud 콘솔의 VM 인스턴스 세부정보 페이지에서 VM 서비스 계정 이름을 확인합니다. 예를 들면 sap-example@example-project-123456.iam.gserviceaccount.com입니다.

  2. IAM 및 관리자 페이지로 이동하여 해당 서비스 계정에 다음 IAM 역할이 포함되어 있는지 확인합니다.

    기능 필요한 IAM 역할
    SAP 호스트 에이전트 측정항목 수집
    프로세스 모니터링 측정항목 수집
    워크로드 관리자 평가 측정항목 수집
    SAP HANA 모니터링 측정항목 수집
    SAP HANA용 Backint 기반 백업 및 복구
    • 스토리지 객체 관리자(roles/storage.objectAdmin)
    • 고객 관리 암호화 키를 사용하여 Cloud Storage에서 SAP HANA 백업을 암호화한 경우 Cloud KMS CryptoKey 암호화/복호화 유틸리티(roles/cloudkms.cryptoKeyEncrypterDecrypter). 이 기능에 대한 자세한 내용은 백업 암호화 옵션을 참조하세요.

    자세한 내용은 필수 Cloud Storage 권한을 참조하세요.

SAP용 Google Cloud 에이전트에 필요한 인증은 인증 및 액세스를 참조하세요.

Cloud Monitoring 에이전트에 필요한 권한을 확인하려면 다음 Monitoring 문서를 참조하세요.

문제: VM 서비스 계정의 잘못된 액세스 범위

문제: 호스트 VM 인스턴스에서 액세스 범위를 제한하는 경우 SAP용 Google Cloud 에이전트에 IAM 권한 부족 오류가 표시될 수 있습니다.

원인: SAP용 Google Cloud 에이전트에는 호스트 VM 인스턴스에서 최소한의 Cloud API 액세스 범위가 필요합니다. 이 오류는 서비스 계정에 필요한 액세스 범위가 없을 때 발생합니다.

해결 방법: 액세스 범위는 VM 인스턴스 권한을 지정하는 기존 방법입니다. Compute Engine은 모든 Cloud API에 대한 전체 액세스 범위를 허용하도록 VM 인스턴스를 구성하고, VM 서비스 계정의 IAM 권한만 사용하여 Google Cloud 리소스에 대한 액세스를 제어할 것을 권장합니다.

이 문제를 해결하려면 권장사항에 따라 VM 인스턴스에서 모든 cloud-platform 액세스 범위를 설정한 후 IAM 역할로 서비스 계정의 API 액세스를 안전하게 제한합니다. 예를 들면 다음과 같습니다.

  • https://www.googleapis.com/auth/cloud-platform

VM 인스턴스의 액세스 범위를 제한하는 경우 호스트 VM 인스턴스의 액세스 범위가 다음과 같아야 합니다.

  • https://www.googleapis.com/auth/source.read_write
  • https://www.googleapis.com/auth/compute
  • https://www.googleapis.com/auth/servicecontrol
  • https://www.googleapis.com/auth/service.management.readonly
  • https://www.googleapis.com/auth/logging.admin
  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/trace.append
  • https://www.googleapis.com/auth/devstorage.full_control

프로세스 모니터링 측정항목 또는 SAP HANA 모니터링 측정항목 수집을 사용 설정한 경우 호스트 VM 인스턴스의 액세스 범위에 Google Cloud 프로젝트에 측정항목 데이터를 게시하기 위한 쓰기 액세스 권한이 있어야 합니다.

  • https://www.googleapis.com/auth/monitoring.write

액세스 범위를 변경하려면 VM 인스턴스를 중지하고 변경한 다음 VM 인스턴스를 다시 시작해야 합니다. 자세한 내용은 Compute Engine 문서를 참조하세요. 이 문제에 대한 IAM 역할 권한을 변경할 필요가 없습니다.

문제: 누락되거나 잘못된 SAP 호스트 에이전트

문제: SAP용 Google Cloud 에이전트 로그에 누락되었거나 잘못된 SAP 호스트 에이전트 오류가 표시됩니다.

원인: SAP 호스트 에이전트 또는 SAP 호스트 에이전트에 필요한 최소 패치 수준이 설치되지 않았습니다. SAP용 Google Cloud 에이전트가 작동하려면 SAP 시스템에 SAP 호스트 에이전트를 설치하고 호스트 에이전트에 필요한 최소 패치 수준을 유지해야 합니다.

해결 방법: 이 문제를 해결하려면 SAP 호스트 에이전트의 필수 버전을 설치합니다. SAP Host Agent 설치에 대한 자세한 내용은 SAP 문서를 참조하세요.

SAP 호스트 에이전트 버전 요구 사항은 다음 SAP Note를 참조하세요.

문제: SAP용 Google Cloud 에이전트 설치 실패

문제: 패키지 관리자 설치 명령어(yum, zypper, googet)를 실행할 때 에이전트 설치가 실패합니다.

원인: 에이전트를 실행 중인 호스트 서버가 외부 IP 주소 없이 생성되었기 때문에 에이전트 설치가 실패합니다.

해결 방법: 이 문제를 해결하려면 호스트 서버에 인터넷 아웃바운드 액세스를 부여하는 NAT 게이트웨이를 설정합니다. NAT 게이트웨이를 설정하는 방법은 SAP 시스템에 대한 배포 가이드를 참조하세요. 예를 들어 SAP NetWeaver의 경우 다음을 사용합니다.

문제: SAP HANA 모니터링 측정항목 수집 실패

문제: SAP HANA용 모니터링 에이전트에서 업그레이드하는 동안 SAP용 Google Cloud 에이전트를 설치한 후 다음과 비슷한 오류 메시지가 표시됩니다.

tls: failed to verify certificate: x509: certificate relies on legacy Common Name field, use SANs instead

원인: 대상 SAP HANA 인스턴스에 일반 이름(CN)으로 지정된 SSL 인증서가 사용되기 때문에 SAP용 Google Cloud 에이전트가 SAP HANA 모니터링 측정항목 수집을 시작할 수 없습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.

  1. SAP용 Google Cloud 에이전트를 사용하여 모니터링하려는 SAP HANA 인스턴스에 대해 일반 이름(CN)으로 지정된 SSL 인증서 대신 제목 대체 이름(SAN) SSL 인증서를 사용하도록 전환해야 합니다.

  2. 호스트 VM 인스턴스 또는 베어메탈 솔루션 서버와 SSH 연결을 설정합니다.

  3. SAP용 Google Cloud 에이전트의 구성 파일을 엽니다.

    /etc/google-cloud-sap-agent/configuration.json
  4. hana_monitoring_configuration 섹션에서 enabled 매개변수를 true로 설정합니다.

  5. hana_monitoring_configuration.hana_instances 섹션에서 보안 통신을 위해 TLS/SSL 프로토콜을 사용하는 각 SAP HANA 인스턴스에 대해 다음을 수행합니다.

    1. enable_ssl 매개변수를 지정하고 값을 true로 설정합니다.

    2. host_name_in_certificate 매개변수를 지정하고 SAP HANA 호스트 이름을 TLS/SSL 인증서에 지정된 대로 해당 값으로 설정합니다.

    3. tls_root_ca_file 매개변수를 지정하고 TLS/SSL 인증서가 저장된 경로를 해당 값으로 설정합니다.

  6. 구성 파일을 저장합니다.

  7. 새 설정이 적용되도록 SAP용 Google Cloud 에이전트를 다시 시작합니다.

    sudo systemctl restart google-cloud-sap-agent
  8. 에이전트가 SAP HANA 모니터링 측정항목을 수집하는지 확인합니다. 자세한 내용은 다른 측정항목 보기를 참조하세요.

  9. SAP HANA용 모니터링 에이전트를 설치 제거합니다.

문제: 연결 거부 오류

문제: SAP 호스트 에이전트 로그에 연결 거부 오류가 표시됩니다.

원인: 포트 18181을 사용할 수 없으므로 SAP용 Google Cloud 에이전트를 시작할 수 없습니다. SAP용 Google Cloud 에이전트는 포트 18181에서 요청을 리슨합니다. 에이전트를 시작하려면 이 포트를 사용할 수 있어야 합니다.

해결 방법: 이 문제를 해결하려면 SAP용 Google Cloud 에이전트에 포트 18181을 사용할 수 있어야 합니다. 다른 서비스가 포트 18181을 사용하는 경우 다른 서비스를 다시 시작해야 합니다. 아니면 다른 포트를 사용하도록 재구성해야 합니다.

문제: SAP용 OS 이미지 SLES 15 SP4 이상의 경우 SAP용 Google Cloud 에이전트가 실행되지 않음

문제: 'SAP용' SLES OS 이미지를 사용할 때는 SAP용 Google Cloud 에이전트가 사전 설치됩니다. 그러나 SAP용 OS 이미지 SLES 15 SP4 이상의 경우 SAP용 사전 설치된 에이전트가 자체적으로 시작되지 않습니다.

에이전트가 실행 중인지 확인하려면 다음 단계를 수행합니다.

  1. 호스트 VM 인스턴스 또는 베어메탈 솔루션 서버에 연결합니다.
  2. 다음 명령어를 실행합니다.

    systemctl status google-cloud-sap-agent

    에이전트가 실행 중이 아니면 출력에 inactive (dead)가 포함됩니다. 예를 들면 다음과 같습니다.

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
     Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
    

원인: OS 패키징 문제로 인해 SAP용 에이전트가 자체적으로 시작되지 않습니다.

해결 방법: 문제를 해결하려면 다음 단계를 수행합니다.

  1. 호스트 VM 인스턴스 또는 베어메탈 솔루션 서버에 연결합니다.
  2. 다음 명령어를 실행합니다.

    sudo sed -i 's~ /usr/sap~ -/usr/sap~g' /usr/lib/systemd/system/google-cloud-sap-agent.service
    sudo systemctl restart google-cloud-sap-agent
  3. 에이전트가 실행 중인지 확인합니다.

    systemctl status google-cloud-sap-agent

    다음과 비슷한 출력이 표시됩니다.

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
      Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; disabled; vendor preset: disabled)
      Active: active (running) since Wed 2023-07-12 03:07:23 UTC; 7s ago
    Main PID: 6117 (google_cloud_sa)
       Tasks: 6
      Memory: 8.8M (max: 1.0G limit: 1.0G available: 1015.1M)
      CGroup: /system.slice/google-cloud-sap-agent.service
               └─ 6117 /usr/bin/google_cloud_sap_agent startdaemon
    

문제: 낮은 처리량

문제: 처리량이 예상보다 적습니다.

원인: SAP용 Google Cloud 에이전트의 Backint 기능의 경우 compress 구성 매개변수를 사용하여 압축을 사용 설정했을 수 있습니다.

해결 방법: 이 문제를 해결하려면 압축이 사용 설정되지 않도록 조정합니다. 이렇게 하려면 다음 단계를 실행하세요.

  1. SSH를 사용하여 SAP HANA 호스트에 연결합니다.

  2. Backint 구성 파일을 엽니다.

    /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.json

    SID를 Backint 관련 파일을 설치한 시스템의 SID로 바꿉니다.

  3. compress 매개변수가 false로 설정되었는지 확인합니다.

  4. 변경할 경우 구성 파일을 저장합니다.

문제: 멀티스트리밍 오류

문제: 멀티스트리밍 데이터 백업 중에 오류가 발생합니다.

원인: SAP용 Google Cloud 에이전트의 Backint 기능에서 더 많은 수의 병렬 스트림을 지정했을 수 있습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 수행하시기 바랍니다.

  1. SSH를 사용하여 SAP HANA 호스트에 연결합니다.

  2. Backint 구성 파일을 엽니다.

    /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.json

    SID를 Backint 관련 파일을 설치한 시스템의 SID로 바꿉니다.

  3. parallel_streams 매개변수의 값을 설정한 경우 1로 낮춥니다.

    그래도 문제가 해결되지 않으면 고객 지원에 문의하세요.

Cloud Storage 연결 문제

문제: Cloud Storage 버킷에 연결 문제가 발생했습니다.

원인: 다음과 같은 이유일 수 있습니다.

  • 일시적인 연결 문제
  • SAP용 Google Cloud 에이전트에서 사용하는 서비스 계정에 Cloud Storage에 액세스하는 데 필요한 권한이 없음
  • 할당량에 문제가 있음

해결 방법: Cloud Storage 버킷의 연결 문제를 해결하려면 다음을 확인하세요.

  • 실패한 백업 또는 복구를 다시 시도하여 오류가 일시적인 연결 문제가 아닌지 확인합니다.
  • SAP용 Google Cloud의 에이전트가 VM의 서비스 계정을 사용하는 경우 VM이 모든 클라우드 범위에 액세스할 수 있는지 확인하거나 액세스를 제한하는 경우 VM이 storage.googleapis.com에 액세스할 수 있는지 확인합니다. 자세한 내용은 Cloud APIs 및 메타데이터 서버에 대한 액세스 사용 설정을 참조하세요.
  • SAP용 Google Cloud 에이전트에서 사용할 서비스 계정을 만든 경우 다음을 확인합니다.
    • 서비스 계정에는 스토리지 객체 관리자 역할이 할당됩니다.
    • 고객 관리 암호화 키를 사용하여 Cloud Storage에서 백업을 암호화하는 경우 서비스 계정에 Cloud KMS CryptoKey 암호화/복호화 역할이 할당됩니다. 자세한 내용은 백업 암호화를 참조하세요.
  • Backint 구성 파일 PARAMETERS.json와 SAP HANA global.ini 파일에 매개변수를 올바르게 지정했는지 확인합니다.

SAP용 Google Cloud의 에이전트에 내장된 자가 진단 기능을 사용하여 Cloud Storage 버킷에 대한 액세스를 테스트할 수 있습니다. 자세한 내용은 자가 진단을 참조하세요.

디스크 스냅샷 기반 백업 또는 복구 작업 관련 문제

문제: 에이전트의 hanadiskbackup 또는 hanadiskrestore 명령어를 사용하여 SAP HANA에서 수행한 백업 또는 복구 작업이 실패했습니다.

원인: 이 문제는 다음과 같은 이유로 발생할 수 있습니다.

  • 에이전트에 오류가 발생하여 백업 또는 복구 작업이 종료됩니다.
  • 에이전트가 디스크 스냅샷을 만들거나 Cloud Storage에 이를 업로드하는 데 기본 Google Cloud 서비스의 문제로 인해 예상보다 시간이 많이 걸립니다.
  • 에이전트가 명확한 오류 또는 성공 메시지 없이 비정상 종료됩니다.
  • 운영체제 수준의 문제로 인해 백업 또는 복구 작업이 실패합니다.
  • 에이전트가 SAP HANA 데이터베이스에서 예상보다 오래 기다리는 데 이는 데이터베이스에 심각한 과부하가 발생했기 때문일 수 있습니다.

해결 방법: 이 문제를 해결하려면 다음 정보를 사용하세요.

  • 실패한 백업 작업인 경우 다음을 수행합니다.

    1. 에이전트가 실행 중인지 확인합니다. 그렇지 않으면 에이전트를 다시 시작하고 백업 작업을 다시 시도합니다.

    2. 에이전트가 예상대로 실행되면 다음과 같은 스냅샷 만들기 상태입니다.

      gcloud compute snapshots list
        --filter="sourceDisk:projects/PROJECT_ID/zones/ZONE_ID/disks/DISK_NAME"
      

      다음을 바꿉니다.

      • PROJECT_ID: 소스 디스크가 배포된 Google Cloud 프로젝트
      • ZONE_ID: 소스 디스크가 배포된 Compute Engine 영역(예: us-central1-a)
      • DISK_NAME: 소스 디스크의 이름

      출력 상태는 CREATING, UPLOADING, READY 중 하나일 수 있습니다.

    3. 스냅샷 생성 상태가 CREATING 또는 UPLOADING인 경우 특히 /hana/data 볼륨을 호스팅하는 디스크에서 생성하는 첫 번째 스냅샷인 경우 이 작업이 완료될 때까지 기다리는 것이 좋습니다.

      이 작업이 실패하면 에이전트가 자동으로 절차를 종료하고 로그를 업데이트합니다. hanadiskbackup 명령어를 실행하여 백업 만들기를 다시 시도할 수 있습니다. 에이전트는 SAP HANA 데이터베이스에서 실패한 백업 작업을 완료하고 새 스냅샷 기반 백업을 만듭니다.

    4. 스냅샷 생성 상태가 READY이지만 hanadiskbackup 명령어가 계속 실행 중인 것처럼 보이면 에이전트가 SAP HANA에서 백업 절차의 일부를 수행하기 위해 기다리고 있음을 나타냅니다.

    5. hanadiskbackup 명령어가 예상보다 오래 실행되는 것으로 보이면 다음을 수행하여 SAP HANA 데이터베이스에서 정상 작업을 재개합니다.

      1. /hana/data 볼륨이 포함된 XFS 파일 시스템 고정을 취소합니다.

        xfs_freeze -u PATH_TO_HANA_DATA_VOLUME
      2. SAP HANA 데이터베이스에서 실패한 스토리지 스냅샷의 백업 ID를 가져옵니다.

        SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot' and STATE_NAME = 'prepared'
      3. SAP HANA에서 실패한 스냅샷의 항목을 실패로 업데이트합니다.

        BACKUP DATA FOR FULL SYSTEM CLOSE SNAPSHOT BACKUP_ID UNSUCCESSFUL 'Do not use - manually terminated';
        

      BACKUP_ID를 이전 단계에서 가져온 BACKUP_ID로 바꿉니다.

    6. 백업 작업 실패 문제를 해결하려면 에이전트의 지원 번들과 함께 고객 지원에 문의하세요.

  • 복구 작업이 실패하면 다음 단계를 완료하세요.

    1. /hana/data 볼륨을 호스팅하는 원본 디스크가 호스트 VM에 연결되어 있는지 확인합니다. 그렇지 않은 경우 gcloud compute instances attach-disk 명령어를 사용하여 연결합니다.

    2. 볼륨 그룹과 논리 볼륨을 다시 스캔합니다.

      sudo /sbin/dmsetup remove_all
      sudo /sbin/vgscan -v --mknodes
      sudo /sbin/vgchange -ay
      sudo /sbin/lvscan
      sudo mount -av
      
    3. 다시 스캔에 실패하면 호스트 VM을 다시 시작합니다. 이렇게 하면 운영체제가 볼륨 그룹을 다시 스캔합니다.

    4. SAP HANA에서 /hana/data 볼륨이 활성 상태인지 확인합니다.

    5. /hana/data 볼륨이 아직 활성 상태가 아닌 경우 에이전트의 지원 번들과 함께 고객 지원에 문의하여 문제를 해결합니다.

SAP용 Google Cloud 에이전트 지원 받기

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