RHEL HA 애드온을 사용하여 비용 최적화 SAP S/4HANA HA 클러스터(HANA System Replication + ENSA2) 구성
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드 및 문서에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 향후 릴리스를 통해 단계적으로 구현될 예정입니다. 언어를 더 포괄적으로 만드는 방법에 대한 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
특정 문구에 대한 의견 제출
- Multi-page HTML 형식으로 설명서를 보고 페이지가 완전히 로드된 후 오른쪽 상단 모서리에 피드백 버튼이 표시되는지 확인합니다.
- 커서를 사용하여 주석 처리할 텍스트 부분을 강조 표시합니다.
- 강조 표시된 텍스트 옆에 표시되는 피드백 추가 버튼을 클릭합니다.
- 의견을 추가하고 제출을 클릭합니다.
1장. 개요
1.1. 소개
SAP S/4HANA 시스템의 비용 최적화 배포는 S/4HANA 마이그레이션 시나리오에서 특히 추가 노드와 관련된 비용을 절감하는 데 중요한 역할을 합니다. 이러한 시스템을 고가용성으로 설정해야 하는 경우에도 중요합니다. 이 경우 제약 조건을 올바르게 구성해야 합니다.
SAP S/4HANA High-Availability에 대한 일반적인 비용 최적화 설정은 다음과 같은 두 가지 구성 요소로 구성됩니다.
- SAP S/4HANA ASCS/ERS 클러스터 리소스
데이터베이스: SAP HANA with System Replication
- 자세한 내용은 pacemaker에서 자동화된 HANA 시스템 복제 구성을 참조하십시오.
이 문서에서는 SAP HANA System Replication과 ASCS 및 ERS 인스턴스 모두 단일 클러스터에서 관리하는 SAP S/4HANA HA 환경의 설정에 중점을 둡니다. 이는 RHEL HA 애드온과 SAP 솔루션용 해당 HA 솔루션을 사용하여 수행됩니다.
참고: 아래에는 이 문서가 중점을 둔 2-노드 클러스터 설정 예제 설치의 아키텍처 다이어그램에 있으며 시스템 복제를 통한 추가 SAP HANA 인스턴스의 설계 및 구성에 대한 별도의 섹션이 있습니다. ASCS 또는 SAP HANA 기본 인스턴스는 서로 독립적으로 다른 노드로 장애 조치할 수 있습니다.
1.2. 대상
이 문서는 RHEL(Red Hat Enterprise Linux) HA 애드온 또는 기타 클러스터링 솔루션을 사용하여 고가용성 솔루션을 이미 설정한 경험이 있는 SAP 및 Red Hat 인증 또는 교육을 받은 관리자와 전문 지식 베이스를 대상으로 합니다. 소프트웨어 및 추가 문서를 다운로드하려면 SAP Service Marketplace와 Red Hat 고객 포털에 모두 액세스해야 합니다.
Red Hat Professional Services는 클러스터를 설정하고 데이터 센터 요구 사항을 충족하도록 솔루션을 사용자 정의하는 것이 좋습니다. 이 방법은 이 문서에 제시된 솔루션과 다를 수 있습니다.
1.3. 개념
이 문서에서는 SAP 및 Red Hat이 설정한 고가용성 지침을 준수하는 Cost-Optimized 2-node 클러스터 솔루션을 설정하는 방법을 설명합니다. 독립 실행형 Enqueue Server 2(ENSA2)를 기반으로 하며, 이제 RHEL 8 for SAP Solutions 이상에서 SAP S/4HANA 1809 이상의 기본 설치를 기반으로 하며 SAP HANA System Replication을 사용하여 완전히 자동화된 장애 조치를 지원하는 확장 SAP HANA 인스턴스를 강조 표시합니다. SAP에 따르면 ENSA2는 Standalone Enqueue Server 1 (ENSA1)의 후속 제품입니다. SAP 잠금 개념의 구성 요소이며 잠금 테이블을 관리합니다. 이 원칙은 ABAP 시스템에서 데이터의 일관성을 보장합니다. ENSA1을 사용하는 장애 조치 중에 ASCS 인스턴스는 Enqueue Replication Server(ERS)를 "follow"해야 합니다. 즉, HA 소프트웨어는 ERS 인스턴스가 현재 실행 중인 호스트에서 ASCS 인스턴스를 시작해야 했습니다. ENSA1과는 달리 최신 ENSA2 모델 및 Enqueue Replicator 2에는 더 이상 이러한 제한 사항이 없습니다. ENSA2에 대한 자세한 내용은 SAP OSS Note 2630416 - 독립 실행형 Enqueue Server 2 지원 에서 참조하십시오.
또한 이 문서에서는 SAP HANA Scale-Up 인스턴스를 강조 표시하고 SAP HANA System Replication을 사용한 완전 자동화된 페일오버를 통해 SAP HANA 승격 가능한 복제 리소스가 설정된 제약 조건에 따라 각 노드에서 실행됩니다. 이 문서에서는 SAP HANA 설치용 RHEL 시스템이나 SAP HANA 설치 절차를 준비하지 않습니다. SAP S/4HANA 및 SAP HANA용 시스템을 빠르고 오류 없이 준비하려면 SAP용 RHEL 시스템 역할을 사용하는 것이 좋습니다.
두 가지 구성 모두 자동화된 SAP HANA 스케일 업 시스템 복제 환경이 포함된 비용 최적화 SAP S/4HANA로 간주됩니다.
1.4. 지원 정책
자세한 내용은 RHEL 고가용성 클러스터에 대한 지원 정책 - SAP S/4HANA 관리 및 RHEL 고가용성 클러스터에 대한 지원 정책 - 클러스터에서 SAP HANA 관리에서 참조하십시오.
이 솔루션은 위의 정책에 따라 지원됩니다.
2장. 요구 사항
2.1. 서브스크립션
모든 클러스터 노드에서 서브스크립션, 커널 및 패치 수준을 동일하게 유지하는 것이 중요합니다.
이 HA 솔루션을 사용하려면 모든 클러스터 노드에 RHEL for SAP Solutions (공용 클라우드 환경에서 온프레미스 또는 BYOS 설정용) 또는 RHEL for High Availability 및 Update Services (공용 클라우드 환경에서 PAYG를 사용하는 경우) 서브스크립션이 필요합니다. SAP NetWeaver, SAP Solutions 및 High Availability repos를 각 클러스터 노드에서 활성화해야 합니다.
이 kbase 문서에 따라 이 환경에 필요한 두 노드에서 리포지토리를 활성화합니다.
2.2. Pacemaker 리소스 에이전트
Pacemaker 기반 HA 클러스터가 SAP HANA System Replication을 모두 관리하려면 다음 리소스 에이전트가 필요합니다.
2.2.1. SAPInstance
이 예제에서 ASCS 및 ERS 리소스를 관리하는 데 SAPInstance 리소스 에이전트가 사용됩니다. SAPInstance 리소스 에이전트의 모든 작업은 SAP 시작 서비스 프레임워크 sapstartsrv 를 사용하여 수행됩니다.
2.2.2. SAPHanaTopology (Ciled Resource)
이 리소스 에이전트는 각 클러스터 노드에서 SAP HANA System Replication의 상태 및 구성을 수집하고 있습니다. SAPHana 리소스 에이전트가 제대로 작동하려면 클러스터 노드 속성에 이 에이전트의 데이터가 있어야 합니다.
2.2.3. saphana(Promotable Cloned 리소스)
이 리소스는 SAP HANA 데이터베이스의 시작, 중지 및 재배치(failover)를 담당합니다. 이 리소스 에이전트는 SAPHanaTopology에서 수집한 정보를 가져와 작업을 수행하기 위해 SAP HANA 데이터베이스와 상호 작용하고 있음을 기반으로 합니다. 또한 클러스터 노드의 SAP HANA 상태에 대한 클러스터 노드 속성에 추가 정보를 추가합니다.
2.2.4. 파일 시스템
Filesystem용 Pacemaker 클러스터 resource-agent. NFS 또는 iSCSI 등에 의해 내보낸 공유 스토리지 매체에서 파일 시스템을 관리합니다.
2.2.5. IPaddr2 (또는 CCSP에서 VIP를 관리하기 위한 다른 RAs)
가상 IPv4 및 IPv6 주소 및 별칭을 관리합니다.
2.3. 노드 클러스터 환경 2개
이는 비용 최적화 시나리오이므로 2 노드 클러스터 환경에만 중점을 둘 것입니다. ENSA1은 ASCS가 ERS가 실행중인 다른 노드로 장애 조치할 수 있는 2-노드 클러스터에서만 구성할 수 있습니다. 반면 ENSA2에서는 클러스터에서 2개 이상의 노드 실행을 지원하지만 SAP HANA 스케일 업 인스턴스는 2개의 노드 클러스터로만 제한되므로, 이 비용 Optimized 문서는 클러스터에서 2개의 노드만 사용하여 모든 항목을 간단하게 유지합니다.
2.4. 스토리지 요구사항
S/4HANA 설치를 위해 생성된 디렉터리는 아래 규칙에 따라 공유 스토리지에 배치해야 합니다.
2.4.1. 인스턴스별 디렉터리
각 노드의 클러스터에서 마운트할 수 있는 ASCS 및 ERS 인스턴스에 대해 별도의 SAN LUN 또는 NFS 내보내기가 있어야 합니다.
예를 들어 아래와 같이 'ASCS' 및 'ERS' 인스턴스가 각각 해당 노드에 인스턴스별 디렉터리가 있어야 합니다.
-
ASCS 노드:
/usr/sap/SID/ASCS<Ins#> -
ERS 노드:
/usr/sap/SID/ERS<Ins#> 두 노드 모두:
/hana/- 참고: 시스템 복제가 수행되므로 /hana/ 디렉터리는 각 노드에서 공유되지 않는 로컬입니다.
참고: 애플리케이션 서버의 경우 Application Server 인스턴스가 실행되는 노드에서 다음 디렉토리를 사용할 수 있어야 합니다.
-
앱 서버 노드 (D<Ins#>):
/usr/sap/SID/D<Ins#>
인스턴스 디렉터리에 SAN LUN을 사용하는 경우 고객은 HA-LVM 을 사용하여 인스턴스 디렉토리를 한 번에 하나의 노드에만 마운트할 수 있어야 합니다.
NFS 내보내기를 사용하는 경우 디렉터리가 Azure NetApp Files 또는 Amazon EFS와 같은 NFS 파일 서버의 동일한 디렉터리 트리에 생성되는 경우 Filesystem 리소스를 구성할 때 force_unmount=safe 옵션을 사용해야 합니다. 이 옵션을 사용하면 내보내기가 생성되는 디렉터리 트리에서 실행 중인 모든 프로세스를 중지하지 않고 클러스터가 특정 NFS 내보내기에서 실행되는 프로세스만 중지하도록 합니다.
2.4.2. 공유 디렉터리
다음 마운트 지점은 ASCS, ERS, HANA 및 Application Servers 노드에서 사용할 수 있어야 합니다.
/sapmnt/usr/sap/trans/usr/sap/SID/SYS
공유 스토리지는 다음을 통해 수행할 수 있습니다.
- 외부 NFS 서버(NFS 서버는 공유를 마운트하는 클러스터 내부의 노드에서 실행할 수 없습니다. 이 제한에 대한 자세한 내용은 Red Hat Enterprise Linux 시스템이 동일한 마운트에 대해 NFS 서버와 NFS 클라이언트로 사용되는 경우 gogs에서 발생하는문서에서 확인할 수 있습니다.
-
ScanSetting2 파일 시스템 사용(모든 노드에
복구 스토리지 애드온이 있어야 함) - glusterfs 파일 시스템 사용 ( Can glusterfs be used for the SAP NetWeaver shared filesystems?)
이러한 마운트 지점은 클러스터를 시작하기 전에 클러스터에서 관리하거나 마운트해야 합니다.
3장. SAP S/4HANA 설치
3.1. 이 문서에서 사용되는 구성 옵션
다음은 이 문서의 인스턴스에 사용할 구성 옵션입니다.
두 노드 모두 클러스터에서 자동 시스템 복제를 사용하여 ASCS/ERS 및HDB 인스턴스를 실행합니다.
1st node hostname: s4node1 2nd node hostname: s4node2 SID: S4H ASCS Instance number: 20 ASCS virtual hostname: s4ascs ERS Instance number: 29 ERS virtual hostname: s4ers
HANA 데이터베이스:
SID: S4D HANA Instance number: 00 HANA virtual hostname: s4db
3.2. 호스트 준비
설치를 시작하기 전에 다음을 수행해야 합니다.
- RHEL 8 for SAP Solutions 설치 ( SAP HANA의 최신 인증 버전이 권장됨)
- 시스템을 Red Hat 고객 포털 또는 Satellite에 등록합니다.
- RHEL for SAP Applications 및 RHEL for SAP Solutions 리포지터리 활성화
- 고가용성 애드온 채널 활성화
- 올바른 마운트 지점에 공유 스토리지와 파일 시스템 배치
- 인스턴스에서 사용하고 있고 연결할 수 있는 가상 IP 주소 만들기
- 인스턴스에서 사용할 호스트 이름 확인 IP 주소 및 뒤로
- 설치 미디어를 사용할 수 있도록 설정
SAP S/4HANA 실행 권장 사항에 따라 시스템 구성
- 자세한 내용은 Red Hat Enterprise Linux 8.x: 설치 및 구성 - SAP OSS Note 2772999를 참조하십시오.
3.3. S/4HANA 설치
SAP의 Software Provisioning Manager (SWPM)를 사용하여 다음 순서로 인스턴스를 설치합니다.
- ASCS 인스턴스
- ERS 인스턴스
- 시스템 복제를 사용하는 두 노드의 SAP HANA DB 인스턴스
3.3.1. s4node1에 S/4 설치
다음 파일 시스템은 s4node1에 마운트되어야 합니다. 여기서 ASCS가 설치됩니다.
/usr/sap/S4H/ASCS20 /usr/sap/S4H/SYS /usr/sap/trans /sapmnt
s4ascs 의 가상 IP는 s4node1에서 활성화되어야 합니다.
설치 프로그램을 실행합니다.
[root@s4node1]# ./sapinst SAPINST_USE_HOSTNAME=s4ascs
High-Availability System 을 선택합니다.
3.3.2. s4node2에 ERS 설치
다음 파일 시스템을 s4node2에 마운트해야 합니다. 여기서 ERS가 설치됩니다.
/usr/sap/S4H/ERS29 /usr/sap/S4H/SYS /usr/sap/trans /sapmnt
s4node2에서 s4ers 의 가상 IP를 활성화해야 합니다.
설치 프로그램을 실행합니다.
[root@s4node2]# ./sapinst SAPINST_USE_HOSTNAME=s4ers
High-Availability System 을 선택합니다.
3.3.3. SAP HANA
이 예제에서는 다음 구성에 SAP HANA를 사용할 것입니다. 지원 정책에 따라 다른 지원되는 데이터베이스를 사용할 수도 있습니다.
SAP HANA SID: S4D SAP HANA Instance number: 00
이 예에서 SAP HANA Database 서버는 hdblcm 명령줄 도구를 사용하여 두 노드에 설치할 수 있으며 Automated HANA System Replication은 Pacemaker 클러스터의 SAP HANA 시스템 복제 문서에 언급된 것과 동일한 방식으로 설정됩니다.
이 설정에서 ASCS 및 HANA 기본 인스턴스는 서로 독립적으로 장애 조치할 수 있으므로 ASCS와 기본 SAP HANA 인스턴스가 동일한 노드에서 실행되기 시작하는 상황이 발생합니다. 따라서 다른 노드의 오류가 발생할 경우 노드 모두에 ASCS/ERS 및 기본 SAP HANA 인스턴스에 사용할 수 있는 충분한 리소스 및 여유 메모리가 있는지 확인하는 것도 중요합니다.
이를 위해 SAP HANA 인스턴스는 특정 메모리 제한/제한으로 설정할 수 있으며 SAP HANA 환경에 따라 사용 가능한 옵션을 탐색하기 위해 SAP에 도달하는 것이 좋습니다. 일부 관련 링크는 다음과 같습니다.
3.4. 설치 후
3.4.1. ASCS 프로파일 수정
ASCS 인스턴스에서는 클러스터에서 관리되므로 서버 인스턴스를 자동으로 재시작하지 못하도록 해당 프로필을 다음과 같이 수정해야 합니다. 변경 사항을 적용하려면 ASCS 프로필 /sapmnt/S4H/profile/S4H_ASCS20_s4ascs 에서 다음 명령을 실행합니다.
[root]# sed -i -e 's/Restart_Program_01/Start_Program_01/' /sapmnt/S4H/profile/S4H_ASCS20_s4ascs+
3.4.2. ERS 프로파일 수정
ERS 인스턴스에서는 클러스터에서 관리되므로 enqueue 서버를 자동으로 재시작하지 못하도록 해당 프로필을 다음과 같이 수정해야 합니다. 변경 사항을 적용하려면 ERS 프로필 /sapmnt/S4H/profile/S4H_ERS29_s4ers 에서 다음 명령을 실행합니다.
[root]# sed -i -e 's/Restart_Program_00/Start_Program_00/' /sapmnt/S4H/profile/S4H_ERS29_s4ers+
3.4.3. /usr/sap/sapservices 파일 업데이트
s4node1 및 s4node2 모두에서 /usr/sap/sapservices 파일에 다음 두 행이 주석 처리되었는지 확인합니다.
#LD_LIBRARY_PATH=/usr/sap/S4H/ERS29/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/S4H/ERS29/exe/sapstartsrv pf=/usr/sap/S4H/SYS/profile/S4H_ERS29_s4ers -D -u s4hadm #LD_LIBRARY_PATH=/usr/sap/S4H/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/S4H/ASCS20/exe/sapstartsrv pf=/usr/sap/S4H/SYS/profile/S4H_ASCS20_s4ascs -D -u s4hadm
3.4.4. 장애 조치 노드에서 ASCS 및 ERS에 대한 마운트 지점 생성
[root@s4node1 ~]# mkdir /usr/sap/S4H/ERS29/ [root@s4node1 ~]# chown s4hadm:sapsys /usr/sap/S4H/ERS29/ [root@s4node2 ~]# mkdir /usr/sap/S4H/ASCS20 [root@s4node2 ~]# chown s4hadm:sapsys /usr/sap/S4H/ASCS20
3.4.5. 다른 노드에서 인스턴스 수동 테스트
ASCS 및 ERS 인스턴스를 중지합니다. 인스턴스별 디렉터리를 다른 노드로 이동합니다.
[root@s4node1 ~]# umount /usr/sap/S4H/ASCS20 [root@s4node2 ~]# mount /usr/sap/S4H/ASCS20 [root@s4node2 ~]# umount /usr/sap/S4H/ERS29/ [root@s4node1 ~]# mount /usr/sap/S4H/ERS29/
다른 클러스터 노드에서 ASCS 및 ERS 인스턴스를 수동으로 시작한 다음 각각 수동으로 중지합니다.
3.4.6. 모든 노드에서 SAP HostAgent 확인
모든 노드에서 SAP HostAgent가 동일한 버전이 있고 최소 버전 요구 사항을 충족하는지 확인합니다.
[root]# /usr/sap/hostctrl/exe/saphostexec -version
SAP HostAgent를 업그레이드/설치하려면 다음을 수행합니다. SAP OSS Note 1031096 을 따르십시오.
3.4.7. 영구 SAP 라이센스 키 설치
고가용성 시나리오에서 SAP 하드웨어의 주요 결정이 향상되었습니다. 각 클러스터 노드의 하드웨어 키를 기반으로 여러 SAP 라이센스 키를 설치해야 할 수 있습니다. 자세한 내용은 SAP OSS Note 11786 - Linux: 대체 방법에서 SAP 하드웨어 키를 생성합니다.
4장. Pacemaker 설치
pacemaker 클러스터를 먼저 설정하려면 다음 설명서를 참조하십시오.
RHEL 고가용성 클러스터에 대한 지원 정책 - 펜싱/STONITH 설정에 대한 펜싱/STONITH 설정에 대한 일반 요구 사항 의 지침을 따르십시오. 다른 플랫폼에서 지원되는 펜싱/STONITH 에이전트에 대한 정보는 클러스터 플랫폼 및 아키텍처에서 확인할 수 있습니다.
이 가이드에서는 다음과 같은 사항이 제대로 작동하는 것으로 가정합니다.
- Pacemaker 클러스터는 문서에 따라 구성되며 적절한 펜싱이 있습니다.
- (A)SCS 및 ERS 인스턴스 간 인 큐 복제는 Enqueue Replication Server 장애 설정에설명된 대로 수동으로 테스트되었습니다.
- RHEL for SAP Repositories 및 How to Enable Them에 설명된 대로 노드가 필수 채널에 서브스크립션됩니다.
4.1. 일반 클러스터 속성 구성
초기 테스트 및 프로덕션 후 프로덕션 중에 리소스의 불필요한 페일오버를 방지하려면 resource-stickiness 및 migration-threshold 매개변수에 다음과 같은 기본값을 설정합니다. 기본값은 자체 정의된 값으로 재정의하는 리소스에는 적용되지 않습니다.
[root]# pcs resource defaults resource-stickiness=1 [root]# pcs resource defaults migration-threshold=3
경고: RHEL 8.4(pcs-0.10.8-1.el8)부터 위의 명령은 더 이상 사용되지 않습니다. 아래의 명령 사용: +[source,text]
[root]# pcs resource defaults update resource-stickiness=1 [root]# pcs resource defaults update migration-threshold=3
참고:
1. 클러스터의 한 노드에서 위의 명령을 실행하는 것으로 충분합니다.
2. resource-stickiness=1 명령은 리소스가 있는 위치에서 계속 실행되도록 권장하지만 migration-threshold=3 명령을 사용하면 3개의 실패 후 리소스가 새 노드로 이동합니다. 일반적으로 3은 리소스가 조기에 다른 노드로 장애 조치되지 않도록 충분히 충분합니다. 또한 리소스 페일오버 시간이 제어할 수 있는 제한 내에서 유지됩니다.
4.2. 모든 클러스터 노드에 resource-agents-sap 설치
[root]# yum install resource-agents-sap
4.3. 공유 파일 시스템의 클러스터 리소스 구성
모든 클러스터 노드에 다음 마운트 지점을 제공하도록 공유 파일 시스템을 구성합니다.
/sapmnt/usr/sap/trans/usr/sap/S4H/SYS
4.3.1. 클러스터에서 관리하는 공유 파일 시스템 구성
복제된 Filesystem 클러스터 리소스는 다음과 같이 모든 클러스터 노드의 외부 NFS 서버의 공유를 마운트하는 데 사용할 수 있습니다.
[root]# pcs resource create s4h_fs_sapmnt Filesystem \ device='<NFS_Server>:<sapmnt_nfs_share>' directory='/sapmnt' \ fstype='nfs' --clone interleave=true [root]# pcs resource create s4h_fs_sap_trans Filesystem \ device='<NFS_Server>:<sap_trans_nfs_share>' directory='/usr/sap/trans' \ fstype='nfs' --clone interleave=true [root]# pcs resource create s4h_fs_sap_sys Filesystem \ device='<NFS_Server>:<s4h_sys_nfs_share>' directory='/usr/sap/S4H/SYS' \ fstype='nfs' --clone interleave=true
Filesystem 리소스를 생성한 후 모든 노드에서 올바르게 시작되었는지 확인합니다.
[root]# pcs status ... Clone Set: s4h_fs_sapmnt-clone [s4h_fs_sapmnt] Started: [ s4node1 s4node2 ] Clone Set: s4h_fs_sap_trans-clone [s4h_fs_sap_trans] Started: [ s4node1 s4node2 ] Clone Set: s4h_fs_sys-clone [s4h_fs_sys] Started: [ s4node1 s4node2 ] ...
4.3.2. 클러스터 외부에서 관리되는 공유 파일 시스템 구성
공유 파일 시스템을 클러스터에서 관리하지 않는 경우 pacemaker 서비스를 시작하기 전에 사용 가능한지 확인해야 합니다.
RHEL 7의 병렬화로 인해 공유 파일 시스템이 resource-agents-deps 대상에서 시작되었는지 확인해야 합니다. 이에 대한 자세한 내용은 문서 섹션 9.6에서 참조하십시오. Pacemaker에서 관리되지 않는 리소스 종속 항목 구성(Red Hat Enterprise Linux 7.4 이상).
4.4. ASCS 리소스 그룹 구성
4.4.1. 가상 IP 주소용 리소스 생성
[root]# pcs resource create s4h_vip_ascs20 IPaddr2 ip=192.168.200.201 \ --group s4h_ASCS20_group
4.4.2. ASCS 파일 시스템용 리소스를 생성합니다.
다음은 NFS 파일 시스템용 리소스를 생성하는 예입니다.
[root]# pcs resource create s4h_fs_ascs20 Filesystem \ device='<NFS_Server>:<s4h_ascs20_nfs_share>' \ directory=/usr/sap/S4H/ASCS20 fstype=nfs force_unmount=safe \ --group s4h_ASCS20_group op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40
다음은 HA-LVM 파일 시스템에 대한 리소스를 생성하는 예입니다.
[root]# pcs resource create s4h_fs_ascs20_lvm LVM \ volgrpname='<ascs_volume_group>' exclusive=true \ --group s4h_ASCS20_group [root]# pcs resource create s4h_fs_ascs20 Filesystem \ device='/dev/mapper/<ascs_logical_volume>' \ directory=/usr/sap/S4H/ASCS20 fstype=ext4 \ --group s4h_ASCS20_group
4.4.3. ASCS 인스턴스용 리소스 생성
[root]# pcs resource create s4h_ascs20 SAPInstance \ InstanceName="S4H_ASCS20_s4ascs" \ START_PROFILE=/sapmnt/S4H/profile/S4H_ASCS20_s4ascs \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 \ --group s4h_ASCS20_group \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
참고:meta resource-stickiness=5000 은 ERS와 장애 조치(failover) 제약 조건의 균형을 조정하기 위해 여기에 있으므로 리소스가 시작된 노드에 남아 있고 클러스터 전체의 제어되지 않습니다.
가능한 경우 ASCS가 노드에 남아 있도록 그룹에 리소스 고정을 추가합니다.
[root]# pcs resource meta s4h_ASCS20_group resource-stickiness=3000
4.5. ERS 리소스 그룹 구성
4.5.1. 가상 IP 주소용 리소스 생성
[root]# pcs resource create s4h_vip_ers29 IPaddr2 ip=192.168.200.202 \ --group s4h_ERS29_group
4.5.2. ERS 파일 시스템용 리소스 생성
다음은 NFS 파일 시스템용 리소스를 생성하는 예입니다.
[root]# pcs resource create s4h_fs_ers29 Filesystem \ device='<NFS_Server>:<s4h_ers29_nfs_share>' \ directory=/usr/sap/S4H/ERS29 fstype=nfs force_unmount=safe \ --group s4h_ERS29_group op start interval=0 timeout=60 \ op stop interval=0 timeout=120 op monitor interval=200 timeout=40
다음은 HA-LVM 파일 시스템에 대한 리소스를 생성하는 예입니다.
[root]# pcs resource create s4h_fs_ers29_lvm LVM \ volgrpname='<ers_volume_group>' exclusive=true --group s4h_ERS29_group [root]# pcs resource create s4h_fs_ers29 Filesystem \ device='/dev/mapper/<ers_logical_volume>' directory=/usr/sap/S4H/ERS29 \ fstype=ext4 --group s4h_ERS29_group
4.5.3. ERS 인스턴스용 리소스 생성
ERS 인스턴스 클러스터 리소스를 생성합니다.
참고: ENSA2 배포에서는 IS_ERS 속성이 선택 사항입니다. IS_ERS 에 대한 자세한 내용은 How does the IS_ERS attribute work on a SAP NetWeaver cluster with Standalone Enqueue Server (ENSA1 및 ENSA2) 에서 확인할 수 있습니다.
[root]# pcs resource create s4h_ers29 SAPInstance \ InstanceName="S4H_ERS29_s4ers" \ START_PROFILE=/sapmnt/S4H/profile/S4H_ERS29_s4ers \ AUTOMATIC_RECOVER=false \ --group s4h_ERS29_group \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
4.6. 제약 조건 생성
4.6.1. ASCS 및 ERS 리소스 그룹에 대한 공동 배치 제약 조건 생성
리소스 그룹 s4h_ASCS20_group 및 s4h_ERS29_group 은 동일한 노드에서 실행되지 않도록 해야 합니다. 그룹 순서가 중요합니다.
[root]# pcs constraint colocation add s4h_ERS29_group with s4h_ASCS20_group \ -5000
4.6.2. ASCS 리소스에 대한 위치 제한 조건 생성
ASCS20 인스턴스 rh2_ascs20 은 장애 조치 전에 ERS가 실행되고 있는 노드에서 실행을 선호합니다.
# pcs constraint location rh2_ascs20 rule score=2000 runs_ers_RH2 eq 1
4.6.3. ASCS 및 ERS 리소스 그룹에 대한 순서 제약 조건 생성
s4h_ERS29_group전에 s4h_ASCS20_group 을 시작하는 것이 좋습니다.
[root]# pcs constraint order start s4h_ASCS20_group then start \ s4h_ERS29_group symmetrical=false kind=Optional [root]# pcs constraint order start s4h_ASCS20_group then stop \ s4h_ERS29_group symmetrical=false kind=Optional
4.6.4. 클러스터에서 관리하는 /sapmnt 리소스의 순서 제한 조건 생성
공유 파일 시스템 /sapmnt 가 클러스터에서 관리하는 경우 다음 제약 조건에서는 파일 시스템을 사용할 수 있는 후에만 ASCS 및 ERS SAPInstance 리소스가 있는 리소스 그룹을 시작합니다.
[root]# pcs constraint order s4h_fs_sapmnt-clone then s4h_ASCS20_group [root]# pcs constraint order s4h_fs_sapmnt-clone then s4h_ERS29_group
5장. 클러스터 구성 테스트
5.1. 제약 조건 확인
[root]# pcs constraint Location Constraints: Ordering Constraints: start s4h_ASCS20_group then start s4h_ERS29_group (kind:Optional) (non-symmetrical) start s4h_ASCS20_group then stop s4h_ERS29_group (kind:Optional) (non-symmetrical) Colocation Constraints: s4h_ERS29_group with s4h_ASCS20_group (score:-5000) Ticket Constraints:
5.2. 노드 충돌로 인한 장애 조치 ASCS
충돌하기 전에 ERS가 s4node2에서 실행되는 동안 ASCS는 s4node1에서 실행됩니다.
[root@s4node1]# pcs status ... Resource Group: s4h_ASCS20_group s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node1 s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node1 s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node1 Resource Group: s4h_ERS29_group s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node2 s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2 s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2 ...
s4node2에서 다음 명령을 실행하여 클러스터의 상태 변경 사항을 모니터링합니다.
[root@s4node2 ~]# crm_mon -Arf
다음 명령을 실행하여 s4node1을 충돌합니다. 명령 후 s4node1에 대한 연결이 끊어집니다.
[root@s4node1 ~]# echo c > /proc/sysrq-trigger
s4node2에서 장애 조치 프로세스를 모니터링합니다. 장애 조치 후 s4node2에서 ASCS 및 ERS를 사용하여 클러스터가 해당 상태에 있어야 합니다.
[root@s4node2 ~]# pcs status ... Resource Group: s4h_ASCS20_group s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node2 s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node2 s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node2 Resource Group: s4h_ERS29_group s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node2 s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2 s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2 ...
5.3. ERS가 이전에 실패한 노드로 이동
s4node1을 다시 온라인 상태로 설정하고 클러스터를 시작합니다.
[root@s4node1 ~]# pcs cluster start
ERS는 s4node1로 이동해야 하며, ASCS는 s4node2에 남아 있습니다. ERS가 마이그레이션을 완료할 때까지 기다린 후 클러스터가 해당 상태가 되어야 합니다.
[root@node1 ~]# pcs status ... Resource Group: s4h_ASCS20_group s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node2 s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node2 s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node2 Resource Group: s4h_ERS29_group s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node1 s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node1 s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node1 ...
6장. 재부팅 후 자동으로 시작되도록 클러스터 활성화
재부팅 후 클러스터가 자동 시작되도록 아직 활성화되지 않았습니다. 노드를 펜싱하고 재부팅한 후 시스템 관리자가 클러스터를 수동으로 시작해야 합니다.
이전 섹션을 테스트한 후 모든 항목이 제대로 작동하면 재부팅 후 클러스터가 자동으로 시작되도록 합니다.
[root@s4node1]# pcs cluster enable --all
참고: 경우에 따라 노드가 재부팅된 후 클러스터를 자동으로 시작하지 않는 것이 좋습니다. 예를 들어 클러스터 리소스에 필요한 파일 시스템에 문제가 있고 파일 시스템을 다시 사용하기 전에 파일 시스템을 먼저 복구해야 하는 경우 파일 시스템이 작동하지 않기 때문에 클러스터 자동 시작이 실패할 수 있습니다. 이것은 더 많은 문제를 일으킬 수 있습니다.
이제 이전 섹션에서 테스트를 다시 실행하여 클러스터가 제대로 작동하는지 확인하십시오. 5.3 절에서는 노드를 재부팅한 후 command pcs cluster를 시작할 필요가 없습니다. 재부팅 후 클러스터가 자동으로 시작되어야 합니다.
이 시점에서 ENSA2용 2-노드 클러스터를 성공적으로 구성했습니다. 집중 테스트를 계속하여 프로덕션 준비를 하거나 선택적으로 클러스터에 노드를 추가할 수 있습니다.
7장. 테스트 페일오버
7.1. 노드 충돌로 인한 장애 조치 ASCS
충돌 이전에는 ERS가 s4node2에서 실행되는 동안 ASCS가 s4node1에서 실행되고 있었습니다.
s4node2에서 다음 명령을 실행하여 클러스터의 상태 변경 사항을 모니터링합니다.
[root@s4node2 ~]# crm_mon -Arf
다음 명령을 실행하여 s4node1을 충돌합니다. 명령 후 s4node1에 대한 연결이 끊어집니다.
[root@s4node1 ~]# echo c > /proc/sysrq-trigger
s4node2에서 장애 조치 프로세스를 모니터링합니다. 장애 조치 후 s4node3에서 ASCS를 실행하고 s4node2에 ERS가 남아 있는 경우 클러스터가 해당 상태에 있어야 합니다.
[root@s4node2 ~]# pcs status
...
Resource Group: s4h_ASCS20_group
s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node1
s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node1
s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node1
Resource Group: s4h_ERS29_group
s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node2
s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2
s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2
...7.2. ERS가 현재 노드에 남아 있음
s4node1을 다시 온라인 상태로 전환합니다. ERS는 s4node1로 다시 이동하는 대신 현재 노드에 남아 있어야 합니다.
7.3. ERS 충돌 테스트
마찬가지로 ERS가 실행 중인 노드가 충돌합니다. ASCS는 현재 노드에서 그대로 유지되는 동안 ERS 그룹은 예비 노드로 장애 조치를 취해야 합니다. 충돌이 발생한 후 ERS 그룹이 다시 이동해서는 안 됩니다.
7.4. 비용 최적화 SAP S/4HANA 클러스터 환경은 다음과 같습니다.
[root@s4node1 ~]# pcs status
Cluster name: SAP-S4-HANA
….
Node List:
* Online: [ s4node1 s4node2 ]
….
Full List of Resources:
* s4-fence (stonith:fence_rhevm): Started s4node1
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ s4node1 s4node2 ]
* Clone Set: fs_sap_trans-clone [fs_sap_trans]:
* Started: [ s4node1 s4node2 ]
* Clone Set: fs_sap_SYS-clone [fs_sap_SYS]:
* Started: [ s4node1 s4node2 ]
* Resource Group: s4h_ASCS20_group:
* s4h_lvm_ascs20 (ocf::heartbeat:LVM-activate): Started s4node1
* s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node1
* s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node1
* s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node1
* Resource Group: s4h_ERS29_group:
* s4h_lvm_ers29 (ocf::heartbeat:LVM-activate): Started s4node2
* s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node2
* s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2
* s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2
* Clone Set: SAPHanaTopology_S4D_00-clone [SAPHanaTopology_S4D_00]:
* Started: [ s4node1 s4node2 ]
* Clone Set: SAPHana_S4D_00-clone [SAPHana_S4D_00] (promotable):
* Masters: [ s4node2 ]
* Slaves: [ s4node1 ]
* vip_S4D_00 (ocf::heartbeat:IPaddr2): Started s4node28장. 선택 사항 - SAP 관리 도구를 사용하여 클러스터 제어 ASCS/ERS 인스턴스의 관리를 위해 SAP HA 인터페이스 활성화
시스템 관리자가 Pacemaker 클러스터 내에서 실행 중인 SAP 인스턴스를 수동으로 또는 SAP 관리 콘솔(MC/MMC)과 같은 툴을 사용하는 경우 HA 클러스터 소프트웨어에서 제공하는 HA 인터페이스를 통해 변경해야 합니다. SAP Start Service sapstartsrv 는 SAP 인스턴스를 제어하고 HA 인터페이스를 통해 pacemaker 클러스터 소프트웨어와 통신하도록 구성해야 합니다.
kbase 문서에 따라 HAlib 를 구성하십시오.RHEL HA 애드온에서 관리하는 SAP ABAP 애플리케이션 서버 인스턴스용 SAP HA Interface를 활성화하는 방법은 무엇입니까?