이 가이드에서는 Linux 운영체제에서 SAP용 IBM Db2(IBM Db2) 고가용성(HA) 클러스터에 Google Cloud 리소스를 설정하는 방법을 보여줍니다.
이러한 지침은 SAP 및 IBM이 IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms에서 제공하는 지침을 보완합니다. Google Cloud에 IBM Db2 HA 클러스터를 설치 및 구성할 때는 항상 SAP와 IBM이 제공하는 최신 문서를 참조하세요.
이는 IBM Tivoli System Automation for Multiplatforms(TSAMP)를 사용하여 시스템을 모니터링하고 시스템이 응답하지 않을 경우 적절한 조치를 시작하는 IBM Db2 HA 클러스터에 대한 지침입니다. 클러스터는 IBM Db2 고가용성 재해 복구(HADR) 기능을 사용하여 로깅된 데이터 변경사항을 대기 데이터베이스에 복제합니다.
클러스터는 Google Cloud가 구현한 유동 IP 주소를 Google Cloud 고정 경로 또는 별칭 IP 주소와 함께 사용합니다. 이 문맥에서 '유동 IP 주소'라는 용어는 SAP 문서에서 사용되는 '가상 IP 주소'라는 용어와 동의어입니다.
이 지침은 기본 IBM Db2 서버와 보조 IBM 또는 대기 IBM Db2 서버로 구성된 IBM Db2 HA 클러스터를 설정하는 방법을 보여줍니다. 각 클러스터는 별도의 Compute Engine 가상 머신(VM)에 배포됩니다.
이 가이드는 고가용성 클러스터에 익숙한, 숙련된 SAP 및 IBM Db2 사용자를 대상으로 합니다.
Db2 HA 클러스터를 계획하는 방법에 대한 자세한 내용은 SAP용 IBM Db2 계획 가이드의 고가용성 IBM Db2 클러스터를 참조하세요.
필요한 SAP 문서
SAP 및 IBM 구성요소를 설치하고 구성하는 방법에 대한 지침은 IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms에 나와 있습니다.
이 지침의 절차를 시작하기 전에 SAP 및 Google Cloud 문서를 모두 읽으세요. 배포의 여러 단계에서 SAP 및 Google Cloud 문서를 참조해야 할 수 있습니다.
기본 요건
IBM Db2 고가용성 클러스터를 만들기 전에 다음 기본 요건이 충족되었는지 확인하세요.
- 귀하 또는 귀하의 조직에 Google Cloud 계정이 있어야 하고 IBM Db2 HA 클러스터 배포를 위한 프로젝트를 만들어야 합니다. Google Cloud 프로젝트를 만드는 방법에 대한 자세한 내용은 SAP용 IBM Db2 배포 가이드의 기본 요건을 참조하세요.
- 데이터 상주, 액세스 제어, 지원 담당자 또는 규제 요건에 따라 SAP 워크로드를 실행해야 하는 경우 필요한 Assured Workloads 폴더를 만들어야 합니다. 자세한 내용은 Google Cloud 기반 SAP의 규정 준수 및 주권 제어를 참조하세요.
Google Cloud에 Virtual Private Cloud 네트워크가 있어야 합니다. VPC 네트워크 및 방화벽 규칙을 구성하는 방법에 대한 지침과 SAP용 IBM Db2의 NAT 게이트웨이 또는 배스천 호스트를 설정하는 방법에 대한 지침은 SAP용 IBM Db2 배포 가이드를 참조하세요.
프로젝트 메타데이터에 OS 로그인이 사용 설정되면 배포가 완료될 때까지 OS 로그인을 일시적으로 중지해야 합니다. 이 절차는 배포 목적으로 인스턴스 메타데이터에 SSH 키를 구성합니다. OS 로그인이 사용 설정되면 메타데이터 기반 SSH 키 구성은 중지됩니다. 배포가 완료되면 OS 로그인을 다시 사용 설정할 수 있습니다.
자세한 내용은 다음을 참고하세요.
Google Cloud에 IBM Db2 고가용성 클러스터 배포
이 지침은 VM 2개를 배포하고, 유동 IP 주소를 정의하고, 유동 IP 주소를 지원하는 별칭 IP 주소 또는 Google Cloud 경로를 구성하는 방법을 보여줍니다. IBM 구성요소를 설치해야 하는 경우 SAP 문서를 참조하세요.
IBM Db2 고가용성 클러스터를 위해 설정해야 하는 주요 Google Cloud 서비스는 다음과 같습니다.
- VPC 네트워크 및 서브네트워크
- 방화벽 규칙(다른 형태의 네트워크 액세스 제어를 사용하지 않는 경우)
- Compute Engine VM 및 영구 디스크 스토리지
또한 TSAMP가 호스트 간 유동 IP 주소 전환을 관리하는 데 사용하는 커스텀 리소스를 정의할 때 Google Cloud 도우미 스크립트를 다운로드하여 사용합니다. 이 스크립트는 TSAMP가 Google Cloud API와 상호작용할 수 있게 해줍니다.
Deployment Manager 정보
이 안내에서는 Deployment Manager 구성 파일 템플릿에서 설치에 필요한 리소스 옵션을 정의합니다.
Deployment Manager는 SAP 시스템용으로 생성된 모든 리소스를 배포라는 단일 항목으로 취급합니다. Google Cloud 콘솔의 배포 페이지에서 프로젝트의 모든 배포를 보고 작업할 수 있습니다.
Deployment Manager를 사용할 때는 다음 동작에 유의해야 합니다.
- 배포를 삭제하면 VM, 영구 디스크, VM에 설치된 모든 SAP 시스템을 비롯하여 배포와 연결된 모든 리소스가 삭제됩니다.
기본적으로 Deployment Manager는
ACQUIRE
리소스 만들기 정책을 사용합니다. 프로젝트의 다른 VM에서 이미 사용 중인 VM 이름을 지정하면 Deployment Manager는 새 VM을 만드는 대신 기존 VM을 새 배포에 추가합니다. 원래 VM이 이전에 Deployment Manager를 실행하여 생성된 경우 해당 VM은 두 배포에 연결됩니다.그런 다음 새 배포를 삭제하면 획득된 VM은 자신이 처음에 생성된 배포에서 삭제됩니다. 이러한 시나리오를 피하려면 Deployment Manager 리소스 정책을
CREATE
로 설정하거나 새 배포에서 고유한 리소스 이름을 사용해야 합니다.Deployment Manager를 사용하여 리소스를 만들 때 사용할 수 있는 정책에 대한 자세한 내용과 정책을 지정하는 방법은 Deployment Manager 문서를 참조하세요.
Deployment Manager를 사용하여 IBM Db2 HA 클러스터용 VM 배포
Cloud Shell에서
template_ha.yaml
구성 파일 템플릿을 작업 디렉터리에 다운로드합니다.wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/template_ha.yaml
Cloud Shell 코드 편집기를 열려면 Cloud Shell 터미널 창 오른쪽 상단의 연필(edit) 아이콘을 클릭합니다.
필요한 경우
template_ha.yaml
파일의 이름을 변경하여 정의하는 구성을 식별합니다. 예를 들면db2_ha_s123_dh1.yaml
입니다.코드 편집기에서
template_ha.yaml
을 열려면 더블클릭합니다.template_ha.yaml
파일에 VM 및 영구 디스크를 정의합니다.template_ha.yaml
파일에는sap_db2_primary
및sap_db2_secondary
라는 2개의 섹션이 있습니다. 각 섹션에는 속성-값 쌍의 집합이 나오고, 자주 사용되지 않는 속성을 포함하는 주석이 이어집니다.각 섹션을 작성할 때는
instanceName
,zone
,otherHost
속성을 제외한 각 VM의 정의가 동일해야 합니다.다음 표에는 각 섹션에 포함된 속성이 설명되어 있습니다. 속성을 사용하려면 자리표시자 텍스트 및 괄호를 설치 값으로 바꿉니다.
속성 데이터 유형 설명 유형 문자열 배포 중에 사용할 Deployment Manager 템플릿의 위치, 유형, 버전을 지정합니다.
YAML 파일에는 두 가지의
type
사양이 포함되어 있으며 그 중 하나는 주석 처리되어 있습니다. 기본적으로 활성화되는type
사양은 템플릿 버전을latest
으로 지정합니다. 주석 처리된type
사양은 타임스탬프가 있는 특정 템플릿 버전을 지정합니다.모든 배포에서 동일한 템플릿 버전을 사용하려면 타임스탬프가 포함된
type
사양을 사용하세요.instanceName
문자열 IBM Db2를 설치하는 VM 인스턴스의 이름입니다. 이름은 13자(영문 기준) 이하여야 하고 소문자, 숫자 또는 하이픈으로 지정해야 합니다. instanceType
문자열 IBM Db2를 설치할 Compute Engine 가상 머신의 유형입니다. vCPU가 2개 이상인 머신 유형을 지정하세요. 예를 들면 n1-standard-4
입니다.zone
문자열 IBM Db2 인스턴스를 배포할 영역입니다. 서브네트워크에 선택한 리전과 동일한 리전에 있어야 합니다. subnetwork
문자열 이전 단계에서 만든 서브네트워크 이름입니다. 공유 VPC에 배포하는 경우 이 값을 shared-vpc-project/SUBNETWORK
로 지정합니다. 예를 들면myproject/network1
입니다.linuxImage
문자열 IBM Db2와 함께 사용할 Linux 운영체제 이미지 또는 이미지 계열의 이름입니다. 이미지 계열을 지정하려면 계열 이름에 프리픽스 family/
를 추가합니다. 예를 들면family/rhel-7-sap-apps
또는family/sles-12-sp3-sap
입니다. 이미지를 지정하려면 이미지 이름만 입력합니다. 사용 가능한 이미지 계열의 목록은 Google Cloud 콘솔에서 이미지 페이지를 참조하세요.linuxImageProject
문자열 사용하려는 이미지가 포함된 Google Cloud 프로젝트입니다. 이 프로젝트는 자체 프로젝트일 수도 있고 rhel-sap-cloud
또는suse-sap-cloud
등의 Google Cloud 이미지 프로젝트일 수도 있습니다. Google Cloud 이미지 프로젝트 목록은 Compute Engine 문서의 이미지 페이지를 참조하세요.db2SID
문자열 데이터베이스 인스턴스 ID입니다. db2sidSize
정수 데이터베이스 인스턴스의 루트 디렉터리인 /db2/DBSID의 크기(GB 단위)입니다. db2sidSize
의 최솟값 및 기본값은 모두 8GB입니다.db2homeSize
정수 데이터베이스 인스턴스의 홈 디렉터리인 /db2/db2 db2sid의 크기(GB 단위)입니다. db2homeSize
의 최솟값 및 기본값은 모두 8GB입니다.db2dumpSize
정수 문제 진단에 사용되는 DB2의 덤프 파일이 저장되는 /db2/DBSID/db2dump의 크기(GB 단위)입니다. db2dumpSize
의 최솟값 및 기본값은 모두 8GB입니다.db2saptmpSize
정수 데이터베이스 임시 테이블 스페이스가 저장되는 /db2/DBSID/saptmp의 크기(GB 단위)입니다. db2saptmpSize
의 최솟값 및 기본값은 모두 8GB입니다.db2sapdataSize
정수 데이터베이스 데이터 파일을 저장하는 /sapdb/DBSID/sapdata 크기입니다. db2sapdataSize
의 최솟값 및 기본값은 모두 30GB입니다.db2logSize
정수 데이터베이스 트랜잭션 로그가 저장되는 /db2/DBSID/logdir의 크기입니다. db2logSize
의 최솟값 및 기본값은 모두 8GB입니다.db2backupSize
정수 /db2backup 볼륨의 크기입니다. 이 속성은 선택사항입니다. 0
을 설정하거나 생략하면 디스크가 생성되지 않습니다.db2sapdataSSD
부울 데이터 드라이브에 SSD 영구 디스크( Yes
)를 사용할지 아니면 HDD 영구 디스크(No
)를 사용할지 지정합니다.Yes
가 기본값입니다.db2logSSD
부울 로그 드라이브에 SSD 영구 디스크( Yes
)를 사용할지 아니면 HDD 영구 디스크(No
)를 사용할지 지정합니다.Yes
가 기본값입니다. 로그 드라이브에는 SSD가 권장됩니다.usrsapSize
정수 SAP NetWeaver와 함께 실행되도록 동일한 VM 인스턴스에 IBM Db2를 설치하는 경우에만 필수 항목입니다. sapmntSize
정수 SAP NetWeaver와 함께 실행되도록 동일한 VM 인스턴스에 IBM Db2를 설치하는 경우에만 필수 항목입니다. swapSize
정수 SAP NetWeaver와 함께 실행되도록 동일한 VM 인스턴스에 IBM Db2를 설치하는 경우에만 필수 항목입니다. otherHost
문자열 IBM Db2 HA 클러스터에 있는 다른 VM 인스턴스의 이름입니다. VM 인스턴스는 동일한 template_ha.yaml
파일의 다른 속성 집합에 정의되어야 합니다.networkTag
문자열 선택사항. 방화벽 또는 라우팅 용도로 VM 인스턴스를 나타내는 네트워크 태그입니다. publicIP: No
를 지정하고 네트워크 태그를 사용하지 않는 경우에는 인터넷에 액세스할 수 있는 다른 방법을 제공해야 합니다.publicIP
부울 선택사항. 공개 IP 주소를 VM 인스턴스에 추가할지 여부를 결정합니다. 기본값은 Yes
입니다.serviceAccount
문자열 선택사항. 잠긴 권한으로 자체 서비스 계정을 만드는 경우 여기에 계정 이름을 입력하세요. 기본적으로 VM은 기본 프로젝트 서비스 계정을 사용하여 배포됩니다. 서비스 계정이 잘못 정의된 경우에는 배포가 제대로 수행되지 않습니다. 다음은 커스텀 서비스 계정의 예시입니다. myserviceuser@myproject.iam.gserviceaccount.com
sap_deployment_debug
부울 선택사항. 이 값이 Yes
로 설정된 경우 배포 시 상세 배포 로그가 생성됩니다. Google 지원 엔지니어가 디버깅을 사용 설정하도록 요청하지 않는 한 이 설정을 사용하지 마세요.post_deployment_script
문자열 선택사항. 배포가 완료된 후 실행할 스크립트의 위치를 지정합니다. 스크립트는 웹 서버 또는 Cloud Storage 버킷에서 호스팅되어야 합니다. URL은 http://
,https://
또는gs://
로 시작되어야 합니다. 이 스크립트는 템플릿이 만드는 모든 VM에서 실행됩니다. 기본 인스턴스에서만 실행하려면 스크립트 상단에 검사를 추가해야 합니다.template_ha.yaml
구성 파일의 다음 VM 정의 예시는 IBM Db2 HA 클러스터용 VM을 2개 만듭니다. 구성 파일은 Deployment Manager가 SLES 12 SP3 이미지 계열의 운영체제를 실행하는n1-standard-4
VM을 각각 배포하도록 지시합니다. VM에는 IBM Db2 HA 클러스터를 실행하는 데 필요한 모든 디렉터리가 포함됩니다. 디렉터리 크기가0
으로 설정되어 있으므로 Deployment Manager는 SAP NetWeaver 디렉터리를 만들지 않습니다.resources: - name: sap_db2_primary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py # properties: instanceName: db2-ha-s1 instanceType: n1-standard-4 zone: us-central1-c subnetwork: example-sap-subnetwork linuxImage: family/sles-12-sp3-sap linuxImageProject: suse-sap-cloud db2SID: DH1 db2sidSize: 16 db2dumpSize: 16 db2saptmpSize: 16 db2sapdataSize: 50 db2logSize: 16 db2backupSize: 50 db2sapdataSSD: Yes db2logSSD: Yes usrsapSize: 0 sapmntSize: 0 swapSize: 0 otherHost: db2-ha-s2 # # (Comment section omitted from example) # - name: sap_db2_secondary type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py # properties: instanceName: db2-ha-s2 instanceType: n1-standard-4 zone: us-central1-f subnetwork: example-sap-subnetwork linuxImage: family/sles-12-sp3-sap linuxImageProject: suse-sap-cloud db2SID: DH1 db2sidSize: 16 db2dumpSize: 16 db2saptmpSize: 16 db2sapdataSize: 50 db2logSize: 16 db2backupSize: 50 db2sapdataSSD: Yes db2logSSD: Yes usrsapSize: 0 sapmntSize: 0 swapSize: 0 otherHost: db2-ha-s1
Deployment Manager를 사용하여 VM 인스턴스를 배포합니다.
gcloud deployment-manager deployments create DEPLOYMENT-NAME --config TEMPLATE-NAME.yaml
각 항목의 의미는 다음과 같습니다.
DEPLOYMENT-NAME
은 현재 배포에 선택한 이름을 나타냅니다. 이 이름은 Google Cloud 콘솔의 배포 페이지에서 이 배포를 식별하는 데 사용됩니다.TEMPLATE-NAME
은 구성 파일에 지정한 이름을 나타냅니다. 기본 파일의 이름을 변경하지 않았다면template_ha.yaml
입니다.
Deployment Manager는
template_ha.yaml
파일의 사양을 읽고 VM 및 영구 디스크를 적절히 구성합니다. 이 작업에 몇 분 정도 걸릴 수 있습니다. 배포 진행 상황을 확인하려면 다음 섹션의 단계를 따르세요.
배포 확인
배포를 확인하려면 Cloud Logging에서 배포 로그를 확인하고 VM 구성을 확인합니다.
로그 확인
Google Cloud 콘솔에서 Cloud Logging을 열어 설치 진행 상황을 모니터링하고 오류를 확인합니다.
로그를 필터링합니다.
로그 탐색기
로그 탐색기 페이지에서 쿼리 창으로 이동합니다.
리소스 드롭다운 메뉴에서 전역을 선택한 후 추가를 클릭합니다.
전역 옵션이 표시되지 않으면 쿼리 편집기에 다음 쿼리를 입력합니다.
resource.type="global" "Deployment"
쿼리 실행을 클릭합니다.
기존 로그 뷰어
- 기존 로그 뷰어 페이지의 기본 선택기 메뉴에서 전역을 로깅 리소스로 선택합니다.
필터링된 로그를 분석합니다.
"--- Finished"
가 표시되면 배포 처리가 완료된 것이므로 다음 단계를 진행할 수 있습니다.할당량 오류가 표시되면 다음을 수행합니다.
IAM 및 관리자 할당량 페이지에서 SAP용 IBM DB2 계획 가이드에 나와 있는 IBM DB2 요구사항을 충족하지 않는 할당량을 늘립니다.
배포 관리자 배포 페이지에서 배포를 삭제하여 설치를 실패한 VM과 영구 디스크를 삭제합니다.
배포를 다시 실행합니다.
VM 구성 확인
VM 배포가 완료되면
ssh
를 사용하여 각 VM에 연결합니다. Compute Engine VM 인스턴스 페이지에서 각 VM 인스턴스의 SSH 버튼을 클릭하거나 선호하는 SSH 방법을 사용하면 됩니다.루트 사용자로 변경합니다.
sudo su -
명령 프롬프트에서
df -h
를 입력합니다. 다음과 유사한 출력이 표시되는지 확인합니다.db2-ha-s1:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.4G 0 7.4G 0% /dev tmpfs 12G 0 12G 0% /dev/shm tmpfs 7.4G 18M 7.4G 1% /run tmpfs 7.4G 0 7.4G 0% /sys/fs/cgroup /dev/sda1 30G 2.2G 26G 8% / /dev/mapper/vg_db2sid-vol 16G 33M 16G 1% /db2/DH1 /dev/mapper/vg_db2dump-vol 16G 33M 16G 1% /db2/DH1/db2dump /dev/mapper/vg_db2sapdata-vol 50G 33M 50G 1% /db2/DH1/sapdata /dev/mapper/vg_db2saptmp-vol 16G 33M 16G 1% /db2/DH1/saptmp /dev/mapper/vg_db2log-vol 16G 33M 16G 1% /db2/DH1/log_dir /dev/mapper/vg_db2home-vol 16G 33M 16G 1% /db2/db2dh1 /dev/mapper/vg_db2backup-vol 50G 33M 50G 1% /db2backup tmpfs 1.5G 0 1.5G 0% /run/user/1001
검증 단계에서 설치에 실패한 단계를 하나라도 발견한 경우 다음을 수행합니다.
- 오류를 수정합니다.
- 배포 페이지에서 배포를 삭제하여 설치에 실패한 VM과 영구 디스크를 삭제합니다.
- 배포를 다시 실행합니다.
유동 IP 주소 예약
유동 IP 주소로 사용할 IP 주소를 선택해야 합니다. 나중에 호스트 VM 인스턴스 메타데이터를 설정할 때, IBM db2 및 HA 클러스터를 설치하고 구성할 때 이 IP 주소가 필요합니다.
유동 IP 주소의 경로 또는 별칭 IP 구현 유형 선택 여부에 따라 유동 IP 주소의 요구사항이 다릅니다.
유동 IP 주소에 정적 경로 구현을 사용하는 경우 IP 주소는 서브네트워크 IP 주소 범위를 벗어나야 하며 조직의 확장 네트워크에 있는 다른 모든 항목은 이 주소를 사용할 수 없습니다. 네트워크 관리자에게 문의하여 사용하기에 적절한 IP 주소를 확인하세요.
유동 IP 주소에 별칭 IP 주소 구현을 사용하는 경우, 호스트가 사용 중인 서브네트워크의 IP 주소 범위에서 IP 주소를 예약해야 합니다.
별칭 IP 주소 구현의 경우에만 별칭 IP 주소를 예약합니다.
호스트 VM에서 터미널을 열거나 Cloud Shell을 엽니다.
IP 주소를 예약합니다.
gcloud compute addresses create vip-name --region region --subnet subnet-name \ --addresses ip-addr-optional
주소 속성을 지정하는 것은 선택사항입니다. IP 주소를 입력하지 않으면 Compute Engine에서 서브네트워크의 IP 주소를 선택합니다.
데이터베이스 서버를 설치하고 HA 클러스터를 구성할 때 사용할 예약된 IP 주소를 표시하고 기록합니다.
gcloud compute addresses describe vip-name --region=region
예를 들면 다음과 같습니다.
db2-ha-s1:~ # gcloud compute addresses describe db2-ha-vip-dh1 --region=us-central1 address: 10.1.0.30 addressType: INTERNAL creationTimestamp: '2018-11-28T11:34:14.478-08:00' description: '' id: '6558342813288977241' kind: compute#address name: db2-ha-vip-dh1 region: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/addresses/db2-ha-vip-dh1 status: RESERVED subnetwork: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/subnetworks/example-sap- subnetwork
각 호스트 VM 인스턴스의 메타데이터에 유동 IP 주소 추가
선택한 경로 또는 별칭 IP 구현 유형을 포함한 유동 IP 주소에 대한 정보를 클러스터의 각 VM 인스턴스에 대한 커스텀 메타데이터로 지정합니다. 유동 IP 주소의 구현 유형을 선택하는 방법에 대한 자세한 내용은 Google Cloud의 IBM Db2 HA 클러스터에 대한 유동 IP 주소를 참조하세요.
구현 유형에 따라 설정하는 메타데이터 매개변수가 다릅니다. 다음 두 섹션에서 유동 IP 주소 구현에 적용되는 섹션의 지침을 따르세요.
유동 IP 주소의 경로 구현을 위한 메타데이터 설정
유동 IP 주소에 경로 구현을 사용하는 경우 다음 표의 매개변수를 사용하고 표 다음에 나오는 절차를 따라 인스턴스 메타데이터를 설정합니다.
매개변수 | 값 | 목적 |
---|---|---|
sap_ibm_vip_solution |
route |
Google Cloud 정적 경로를 사용하여 호스트 간에 유동 IP 주소 전환을 지원하는 멀티 영역 배포임을 나타냅니다. |
sap_ibm_db2_vip |
ip-address | 이전 단계에서 예약한 유동 IP 주소를 지정합니다. |
sap_ibm_db2_routename |
route-name | 정적 경로의 임의 이름을 지정합니다. 예를 들어 db2-dh1-vip-route 를 사용할 수 있습니다. |
sap_ibm_db2_routenet |
vpc-network-name | IBM Db2 HA 클러스터가 포함된 VPC 네트워크를 지정합니다. |
유동 IP 주소의 정적 경로 구현에 대한 인스턴스 메타데이터를 설정하려면 다음 안내를 따르세요.
호스트 VM에서 터미널을 열거나 Cloud Shell을 엽니다.
클러스터의 각 호스트 VM 인스턴스에서 유동 IP 주소의 경로 구현에 동일한 메타데이터를 지정합니다.
gcloud compute instances add-metadata instance-name \ --metadata sap_ibm_vip_solution=route,sap_ibm_db2_vip=ip-address,\ sap_ibm_db2_routename=route-name,sap_ibm_db2_routenet=vpc-network-name \ --zone instance-zone
유동 IP 주소의 별칭 IP 주소 구현에 대한 메타데이터 설정
유동 IP 주소에 별칭 IP 주소 구현을 사용하는 경우 다음 표의 매개변수를 사용하고 표 다음에 나오는 절차를 따라 인스턴스 메타데이터를 설정합니다.
매개변수 | 값 | 목적 |
---|---|---|
sap_ibm_vip_solution |
alias |
Google Cloud 별칭 IP 주소를 사용하여 호스트 간에 유동 IP 주소 전환을 지원하는 단일 영역 배포임을 나타냅니다. |
sap_ibm_db2_vip |
ip-address | 이전 단계에서 예약한 유동 IP 주소를 지정합니다. |
sap_ibm_db2_vip_range |
alias-ip-range-name | 필요한 경우 별칭 IP 범위의 임의 이름을 지정합니다. 예를 들어 db2-dh1-vip-alias 를 사용할 수 있습니다. 기본값은 서브네트워크 이름입니다. |
유동 IP 주소의 별칭 IP 구현에 대한 인스턴스 메타데이터를 설정하려면 다음 안내를 따르세요.
호스트 VM에서 터미널을 열거나 Cloud Shell을 엽니다.
클러스터의 각 호스트 VM 인스턴스에서 유동 IP 주소의 별칭 IP 주소 구현에 동일한 메타데이터를 지정합니다.
gcloud compute instances add-metadata instance-name \ --metadata sap_ibm_vip_solution=alias,sap_ibm_db2_vip=ip-address,\ sap_ibm_db2_vip_range=alias-ip-range-name --zone instance-zone
인스턴스 메타데이터 검토 또는 변경
설정한 인스턴스 메타데이터를 검토하려면 다음을 사용하세요.
gcloud compute instances describe instance-name --zone instance-zone
커스텀 메타데이터를 변경해야 하는 경우에는 다음을 사용하세요.
gcloud compute instances add-metadata instance-name --metadata parm-name=parm-value
/etc/hosts
에 호스트 이름 및 IP 주소 추가
클러스터 설정 중에 SAP 클러스터 설정 도구가 각 호스트 VM 및 유동 IP 주소의 호스트 이름과 내부 IP 주소의 유효성을 검사합니다. 유효성 검사에 성공하려면 원하는 편집기를 사용하여 각 호스트 VM의 /etc/hosts
파일에 각 호스트 VM 및 유동 IP 주소의 IP 주소, 호스트 이름 및 VPC 내부 DNS 이름을 추가합니다.
예를 들어 다음 예시에서는 루트 권한으로 /etc/hosts
를 업데이트합니다.
echo "#Db2 HA floating IP additions" >> /etc/hosts echo 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal >> /etc/hosts echo 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal >> /etc/hosts echo 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal >> /etc/hosts
이전 예시에서는 각 줄에서 호스트 이름과 >>
사이의 문자열이 VPC 내부 DNS 서비스에서 사용하는 VPC 내부 DNS 이름입니다.
호스트 VM은 영역 필드를 포함하는 영역별 내부 DNS 이름을 사용합니다. 유동 IP 주소는 영역 필드를 포함하지 않는 전역 내부 DNS 이름을 사용합니다.
VM 호스트의 경우 호스트 VM의 터미널에서 다음 명령어를 입력하여 내부 DNS 이름을 검색할 수 있습니다.
curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \ -H "Metadata-Flavor: Google"
유동 IP 주소의 경우 다음 형식을 사용하여 직접 입력할 수 있습니다.
vip-host-name.c.project-name.internal
/etc/hosts
파일을 업데이트하면 /etc/hosts
파일의 관련 정보가 다음 예시와 유사해야 합니다.
#Db2 HA floating IP additions 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal
운영체제 준비
VM을 만들었으면 IBM Db2 HA 클러스터용으로 운영체제를 준비합니다.
요구사항은 SAP와 IBM에서 정의합니다. SAP 문서에서는 Compute Engine 호스트 VM에 사전 설치되지 않은 Perl 및 Korn Shell과 같은 소프트웨어 설치를 요구합니다.
최신 요구사항은 다음 문서에서 확인하세요.
IBM Db2 high availability solution: IBM Tivoli System Automation for Multiplatforms
1984787 - SUSE LINUX Enterprise Server 12: Installation notes
2002167 - Red Hat Enterprise Linux 7.x: Installation and Upgrade(설치 및 업그레이드)
데이터베이스 서버 설치 및 IBM Db2 HA 클러스터 생성
IBM Db2 고가용성 솔루션: IBM Tivoli System Automation for Multiplatforms의 지침을 따라 IBM Db2 및 HA 클러스터를 설치하고 구성하기 전에 참고 내용에 특히 주의하며 다음 절차 개요를 살펴보세요.
SAP NetWeaver 및 기본 애플리케이션 서버를 설치하려면 Google Cloud SAP NetWeaver 문서 및 SAP Help Portal에 제공되는 관련 SAP 설치 가이드를 참조하세요.
다음 단계는 설치 절차의 개요입니다. 자세한 내용은 SAP 문서를 참조하세요.
SAP 문서에 설명된 대로 기본 인스턴스와 보조 인스턴스, 각 인스턴스와 해당 인스턴스 사이에 키 기반 SSH 연결을 설정합니다. SSH는 SAP 클러스터 설정 도구에서 사용합니다. 각 호스트의 모든 연결을 테스트합니다. 예를 들어
db2-ha-s1
에서 다음 2가지를 테스트합니다.ssh db2-ha-s1
ssh db2-ha-s2
SAP 지원 포털에서 Db2의 전체 SAP 미디어 세트를 VM에 다운로드하거나 복사합니다.
기본 호스트 VM에서 SAP Software Provisioning Manager(SWPM)를 사용하여 IBM Db2 데이터베이스 서버를 설치합니다.
보조 호스트 VM에서 SAP 동종 시스템 복사와 같은 방법을 사용하여 대기 데이터베이스를 설정합니다.
두 호스트 VM에 IBM Db2 및 IBM TSAMP의 라이선스 파일을 설치합니다. SAP에서 획득한 IBM 라이선스를 설치하는 방법에 대한 자세한 내용은 SAP Note 816773 - DB6: Installing an SAP OEM license를 참조하세요.
두 호스트 VM에서 데이터베이스 버전 및 운영체제 버전이 지원하는 최신 버전의 TSAMP를 설치합니다.
기본 호스트 VM에서 최신 버전의 SAP 클러스터 설정 도구인
sapdb2cluster.sh
를 사용하여 IBM Db2 HA 클러스터를 구성하고 생성합니다.클러스터가 생성되었으면 기본 호스트에서 DB2 고가용성 인스턴스 구성 유틸리티(db2haicu)를 사용하여 클러스터가 장애 조치할 수 있는지 테스트합니다.
SAP 클러스터 설정 도구와 Korn 셸을 종료합니다.
기본 인스턴스에서 기본 데이터베이스 서버가 온라인 상태인지 확인합니다.
lssam
lssam
출력에서 발췌한 다음 예시에서는 기본 데이터베이스 인스턴스가 온라인 상태입니다.Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
데이터베이스 인스턴스 사용자로 전환합니다.
sudo su - db2sid
db2haicu 유틸리티를 시작합니다.
db2haicusid
db2haicu 인터페이스에서 옵션 5를 선택하고 프롬프트를 따릅니다.
db2haicu 유틸리티를 종료합니다.
기본 호스트에서 보조 호스트가 현재 온라인 상태인지 확인합니다.
lssam
lssam 출력에서 발췌한 다음 예시에서는 보조 데이터베이스 인스턴스가 온라인 상태입니다.
Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
클러스터 구성을 완료하려면 다음 섹션의 지침에 따라 유동 IP 주소용 커스텀 TSAMP 리소스를 만들고 TSAMP에서 이를 IBM Db2 인스턴스 리소스와 연결합니다.
유동 IP 주소용 TSAMP 커스텀 리소스 만들기
TSAMP가 유동 IP 주소를 관리할 수 있게 하려면 유동 IP 주소용 TSAMP 커스텀 리소스를 만들어야 합니다. TSAMP가 유동 IP 주소 리소스를 관리하면서 Google Cloud와 상호작용할 수 있게 하려면 Google Cloud에서 도우미 스크립트를 다운로드하고 구성해야 합니다.
Google Cloud 도우미 스크립트 다운로드
클러스터의 각 호스트에서 Google Cloud 도우미 스크립트를 다운로드하고 권한을 설정합니다.
기본 및 대기 호스트 모두에서 기본 VM의
/root
디렉터리에 있는 루트 사용자 권한으로 스크립트를 다운로드합니다.공유 VPC 구성을 사용하지 않는 인스턴스:
공유 VPC 구성을 사용하는 인스턴스:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip.sh -O gcp_floating_ip.sh
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip_svpc.sh -O gcp_floating_ip.sh
두 호스트에서 스크립트에 대한 권한을 설정합니다.
chmod 744 gcp_floating_ip.sh
유동 IP 주소용 TSAMP 커스텀 리소스 생성 및 구성
클러스터의 모든 호스트에서 유동 IP 주소용 TSAMP 커스텀 리소스를 만들고 구성하세요.
어느 호스트에서든 선호하는 방법을 사용하여
cluster_res.conf
라는 구성 파일을 만들고 NodeNameList 매개변수를 호스트 이름으로 업데이트한 후 다음 텍스트를 붙여넣습니다.PersistentResourceAttributes:: Name="gcp_floating_ip-rs" ResourceType=1 StartCommand="/root/gcp_floating_ip.sh start" StopCommand="/root/gcp_floating_ip.sh stop" MonitorCommand="/root/gcp_floating_ip.sh status" MonitorCommandPeriod=30 MonitorCommandTimeout=30 StartCommandTimeout=600 StopCommandTimeout=600 UserName="root" RunCommandsSync=1 ProtectionMode=0 NodeNameList={"host-1","host-2"}
기본 호스트에서 루트 사용자 권한으로 다음 명령어를 사용하여 TSAMP 커스텀 리소스를 만듭니다.
export CT_MANAGEMENT_SCOPE=2 mkrsrc -f cluster_res.conf IBM.Application mkrg -l None gcp_floating_ip-rg chrg -o Online gcp_floating_ip-rg addrgmbr -g gcp_floating_ip-rg -m F IBM.Application:gcp_floating_ip-rs rgreq -o start gcp_floating_ip-rg
기본 호스트에서 루트 사용자 권한으로 온라인 상태인 Db2 인스턴스 리소스가 온라인 유동 IP 리소스와 동일한 호스트에 있는지 확인합니다.
lssam
출력에서 온라인 리소스는 모두 동일한 호스트 VM에 있어야 합니다.
Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1 '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2 Online IBM.ResourceGroup:gcp_floating_ip.sh_rg Nominal=Online '- Online IBM.Application:gcp_floating_ip.sh_rs |- Online IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s1 '- Offline IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s2
유동 IP 주소 리소스가 데이터베이스 인스턴스가 있는 호스트와 동일한 호스트에서 온라인 상태가 아니면 유동 IP 주소 리소스를 이동하세요.
rgreq -o move -n host-to-move-from gcp_floating_ip-rg
기본 호스트에서 루트 사용자 권한으로 데이터베이스 인스턴스 리소스와 유동 IP 주소 리소스 간의 TSAMP 내 관계를 설정합니다.
rgreq -o lock gcp_floating_ip-rg rgreq -o lock db2_db2sid_db2sid_SID-rg mkrel -o NoCondition -p Collocated \ -S IBM.Application:gcp_floating_ip-rs -G IBM.Application:db2_db2sid_db2sid_SID-rs \ db2hadr_colo_gcp_floating_ip rgreq -o unlock db2_db2sid_db2sid_SID-rg rgreq -o unlock gcp_floating_ip-rg
데이터베이스 인스턴스 리소스와 유동 IP 주소 리소스 간의 관계를 설정한 후에는 다음 섹션에 설명된 대로 장애 조치를 다시 테스트할 수 있습니다.
Google Cloud 기반 SAP용 Db2 HA 클러스터 배포 확인
IBM Db2 HA 클러스터가 올바르게 구성되었는지 확인하려면 장애 조치를 트리거하고 모든 온라인 리소스가 한 호스트 VM에서 다른 호스트 VM으로 이동하는지 확인합니다.
장애 조치 테스트를 수행하려면 다음 안내를 따르세요.
기본 호스트에서 루트 사용자 권한으로 온라인 리소스가 현재 어느 호스트 VM에 있는지 확인합니다.
lssam
기본 호스트에서 db2 인스턴스 사용자로 변경합니다.
sudo su - db2sid
db2haicu 유틸리티를 시작합니다.
db2haicu
db2haicu 유틸리티 인터페이스에서 옵션 5를 선택하고 프롬프트를 따라 장애 조치를 트리거합니다.
db2haicu 유틸리티가 처리를 완료하면 유틸리티를 종료합니다.
루트 사용자로 전환합니다.
sudo su -
온라인 리소스가 다른 호스트 VM으로 이동했는지 확인합니다.
SAP용 Google Cloud 에이전트 설치 검증
VM을 배포하고 SAP 시스템을 설치했으면 SAP용 Google Cloud 에이전트가 올바르게 작동하는지 확인합니다.
SAP용 Google Cloud 에이전트가 실행 중인지 확인
에이전트가 실행 중인지 확인하려면 다음 단계를 따릅니다.
호스트 VM 인스턴스에서 SSH 연결을 설정합니다.
다음 명령어를 실행합니다.
systemctl status google-cloud-sap-agent
에이전트가 올바르게 작동하는 경우 출력에
active (running)
이 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
에이전트가 실행되고 있지 않으면 에이전트를 다시 시작합니다.
SAP 호스트 에이전트가 측정항목을 수신하는지 확인
SAP용 Google Cloud 에이전트가 인프라 측정항목을 수집하고 SAP 호스트 에이전트로 올바르게 전송하는지 확인하려면 다음 단계를 수행하세요.
- SAP 시스템에서
ST06
트랜잭션을 입력합니다. 개요 창에서 다음 필드의 가용성과 콘텐츠를 확인하여 SAP 및 Google 모니터링 인프라의 엔드 투 엔드 설정이 올바른지 확인합니다.
- 클라우드 제공업체:
Google Cloud Platform
- 향상된 모니터링 액세스:
TRUE
- 향상된 모니터링 세부정보:
ACTIVE
- 클라우드 제공업체:
배포 후 작업 수행
Google Cloud에서 IBM Db2 고가용성 시스템을 사용하기 전에 IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms에 설명된 다음을 포함한 모든 설치 후 작업을 완료하는 것이 좋습니다.
데이터베이스 클러스터 유효성 검사
TSAMP 핵심 정책 백업
데이터베이스 수정 팩 업데이트
유동 IP 주소의 호스트 이름과 IP 주소를 사용하도록 Db2 클라이언트 연결 업데이트. 예를 들어 SAP ABAP 애플리케이션 서버의
db2cli.ini
파일을 업데이트합니다.
DB2 HA 클러스터에서 NAT 게이트웨이를 사용하는 경우 SAP용 IBM Db2 배포 가이드의 NAT 게이트웨이 설치 완료에 설명된 대로 NAT 게이트웨이 설정을 완료합니다.