SAP Pacemaker 클러스터를 ENSA1에서 ENSA2로 업그레이드 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SAP Pacemaker 클러스터를 ENSA1에서 ENSA2로 업그레이드

작성자: Gergely Cserdi(AWS) 및 Balazs Sandor Skublics(AWS)

환경: 프로덕션

소스: ENSA1 기반 Pacemaker 클러스터

대상: ENSA2 기반 Pacemaker 클러스터

R 유형: 리아키텍트

워크로드: SAP

기술: 인프라, 현대화

AWS 서비스: Amazon EC2

요약

이 패턴은 독립 실행형 Enqueue Server(ENSA1)를 기반으로 하는 SAP Pacemaker 클러스터를 ENSA2로 업그레이드하기 위한 단계와 고려 사항을 설명합니다. 이 패턴의 정보는 SUSE Linux Enterprise Server(SLES) 및 Red Hat Enterprise Linux(RHEL) 운영 체제 모두에 적용됩니다.

SAP NetWeaver Word7.52 또는 S/4HANA 1709 이전 버전의 Pacemaker 클러스터는 ENSA1 아키텍처에서 실행되며 ENSA1용으로 특별히 구성됩니다. Amazon Web Services(AWS)에서 SAP 워크로드를 실행하고 ENSA2로 전환하려는 경우 SAP, SUSE 및 RHEL 설명서에서 포괄적인 정보를 제공하지 않을 수 있습니다. 이 패턴은 SAP 파라미터 및 Pacemaker 클러스터를 재구성하여 Word에서 ENSA1로 업그레이드하는 데 필요한 기술 단계를 설명합니다ENSA2. SUSE 시스템의 예를 제공하지만 개념은 RHEL 클러스터에 대해 동일합니다.

참고: ENSA1 및 ENSA2는 SAP 애플리케이션에만 관련된 개념이므로이 패턴의 정보는 HANA SAP 또는 기타 유형의 클러스터에는 적용되지 않습니다.

기술적으로 ENSA2는 Enqueue Replicator 2와 함께 또는 없이 사용할 수 있습니다. 그러나 고가용성(HA) 및 (클러스터 솔루션을 통한) 장애 조치 자동화를 위해서는 Enqueue Replicator 2가 필요합니다. 이 패턴은 ENSA2 클러스터라는 용어를 사용하여 독립 실행형 Enqueue Server 2 및 Enqueue Replicator 2가 있는 클러스터를 참조합니다.

사전 조건 및 제한 사항

사전 조건

  • ENSA1 또는 RHEL에서 Pacemaker 및 Corosync를 사용하는 작동 중인 SLES 기반 클러스터입니다.

  • (ABAP) EC2 Central Services(Word/ASCS) 및 Enqueue Replication Server(SCS) 인스턴스가 실행 중인 Amazon Elastic Compute Cloud(Amazon SAP) 인스턴스가 두 개 이상 있습니다.ERS

  • SAP 애플리케이션 및 클러스터 관리에 대한 지식.

  • 루트 사용자로 Linux 환경에 액세스할 수 있습니다.

제한 사항

  • ENSA1 기반 클러스터는 2노드 아키텍처만 지원합니다.

  • ENSA2 기반 클러스터는 7.52 이전 SAP NetWeaver Word 버전에 배포할 수 없습니다.

  • 클러스터의 EC2 인스턴스는 서로 다른 AWS 가용 영역에 있어야 합니다.

제품 버전

  • SAP NetWeaver Word 버전 7.52 이상

  • S/4HANA 2020부터 ENSA2 클러스터만 지원됩니다.

  • ENSA2 및 Enqueue Replicator 2를 지원하는 커널 7.53 이상

  • SLES for SAP 애플리케이션 버전 12 이상

  • RHEL for SAP with High Availability(HA) 버전 7.9 이상

아키텍처

소스 기술 스택

  • SAP 커널 7.53 이상이 포함된 SAP NetWeaver Word7.52

  • SLES 또는 RHEL 운영 체제

대상 기술 스택

  • SAP Kernel 7.53 이상이 포함된 SAP NetWeaver Word7.52, ABAP 플랫폼이 포함된 S/4HANA 2020 포함

  • SLES 또는 RHEL 운영 체제

대상 아키텍처·

다음 다이어그램은 ASCS 클러스터를 기반으로 한 ERS/SCS 및 ENSA2 인스턴스의 HA 구성을 보여줍니다.

ASCS 클러스터의 Word/SCS 및 ENSA2 ERS 인스턴스용 HA 아키텍처

ENSA1 클러스터와 ENSA2 클러스터 비교

SAP는 ENSA2를 ENSA1의 후속 모델로 도입했습니다. ENSA1 기반 클러스터는 클러스터에 장애 조치할 다른 노드가 없기 때문에 ASCS/SCS instance fails over to ERS when an error occurs. This limitation stems from how the ASCS/SCS instance regains the lock table information from the shared memory of the ERS node after failover. ENSA2-based clusters with Enqueue Replicator 2 eliminate this limitation, because the ASCS/SCS instance can collect the lock information from the ERS instance over the network. ENSA2-based clusters can have more than two nodes, because the ASCS/SCS instance is no longer required to fail over to the ERS node. (However, in a two-node ENSA2 cluster environment, the ASCS/SCS 인스턴스가 여전히 ERS 노드로 장애 조치되는 2노드 아키텍처를 지원합니다.) ENSA2는 SAP Kernel 7.50부터 지원되며 몇 가지 제한이 있습니다. Enqueue Replicator 2를 지원하는 HA 설정의 경우 최소 요구 사항은 NetWeaver 7.52입니다(SAP OSS 노트 2630416 참조). S/4HANA 1809에는 기본적으로 ENSA2 아키텍처가 권장되지만 S/4HANA는 버전 2020부터 ENSA2만 지원합니다.

자동화 및 규모 조정

대상 아키텍처의 HA 클러스터는 ASCS를 다른 노드로 자동으로 장애 조치합니다.

ENSA2 기반 클러스터로 이동하는 시나리오

ENSA2 기반 클러스터로 업그레이드하는 데는 두 가지 주요 시나리오가 있습니다. 

  • 시나리오 1: SAP 릴리스 및 커널 버전이 ENSA2를 지원한다고 가정하여 ENSA2 업그레이드 또는 S/4HANA 변환을 함께 사용하지 않고 SAP로 업그레이드하도록 선택합니다.

  • 시나리오 2: ENSA2를 사용하여 업그레이드 또는 변환의 일부로 SUM로 이동합니다(예: S/4HANA 1809 이상으로).

에픽 섹션에서는 이 두 시나리오의 단계를 다룹니다. 첫 번째 시나리오에서는 SAP에 대한 클러스터 구성을 변경하기 전에 ENSA2 관련 파라미터를 수동으로 설정해야 합니다. 두 번째 시나리오에서는 바이너리 및 SAP 관련 파라미터가 SUM에 의해 배포되며, 나머지 태스크는 HA에 대한 클러스터 구성을 업데이트하는 것입니다. SAP를 사용한 후에도 SUM 파라미터를 검증하는 것이 좋습니다. 대부분의 경우 S/4HANA 변환이 클러스터 업그레이드의 주요 이유입니다.

도구

  • OS 패키지 관리자의 경우 Zypper(SLES용) 또는 YUM(RHEL용) 도구를 사용하는 것이 좋습니다.

  • 클러스터 관리의 경우 crm(SLES용) 또는 pcs(RHEL용) 쉘을 사용하는 것이 좋습니다.

  • SAP와 같은 SAPControl 인스턴스 관리 도구.

  • (선택 사항) S/4HANA 변환 업그레이드를 위한 SUM 도구입니다.

모범 사례

  • AWS에서 SAP 워크로드를 사용하는 모범 사례는 SAP Well-Architected Framework용 Word 렌즈를 참조하세요. AWS

  • ENSA2 다중 노드 아키텍처의 클러스터 노드 수(홀수 또는 짝수)를 고려합니다.

  • ENSA2 S/4-HA-CLU 1.0 인증 표준에 따라 SLES 15용 SAP 클러스터를 설정합니다.

  • ENSA2로 업그레이드하기 전에 항상 기존 클러스터 및 애플리케이션 상태를 저장하거나 백업합니다.

에픽

작업설명필요한 기술

기본 프로파일에서 파라미터를 구성합니다.

동일한 ENSA2 릴리스를 유지하는 동안 SAP로 업그레이드하거나 대상 릴리스가 기본적으로 ENSA1인 경우 기본 프로파일(DEFAULT.PFL 파일)의 파라미터를 다음 값으로 설정합니다.

enq/enable=TRUE enq/serverhost=sapascsvirt enq/serverinst=10 (instance number of ASCS/SCS instance) enque/process_location=REMOTESA enq/replicatorhost=sapersvirt enq/replicatorinst=11 (instance number of ERS instance)

여기서 sapascsvirt는 ASCS 인스턴스의 가상 호스트 이름이고 sapersvirt는 ERS 인스턴스의 가상 호스트 이름입니다. 이를 대상 환경에 맞게 변경할 수 있습니다.

참고: 이 업그레이드 옵션을 사용하려면 SAP 릴리스 및 커널 버전이 ENSA2 및 Enqueue Replicator 2를 지원해야 합니다.

SAP

ASCS/SCS 인스턴스 프로파일을 구성합니다.

동일한 ENSA2 릴리스를 유지하는 동안 SAP로 업그레이드하거나 대상 릴리스가 기본적으로 ENSA1인 경우 ASCS/SCS 인스턴스 프로파일에서 다음 파라미터를 설정합니다. 

ENSA1가 정의된 프로필의 섹션은 다음과 같습니다.

#-------------------------------------------------------------- Start SAP enqueue server #-------------------------------------------------------------- _EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) Execute_04 = local rm -f $(_EN) Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN) Start_Program_01 = local $(_EN) pf=$(_PF)

ENSA2에 대해이 섹션을 재구성하려면:

  1. SAP(OSS Note 2501860, SAP ONE Support Launchpad 사용자 계정 필요)의 최신 정보를 _ENQ 기반으로 _EN 프로그램 접두사를 로 변경합니다.

  2. 인큐 서버의 바이너리를 enserver에서 enq_server로 변경합니다.

  3. 새로운 enq/server/replication/enable 파라미터를 TRUE로 설정합니다.

  4. Autostart = 0이 확실한지 확인합니다.

변경 후 이 프로파일 섹션은 다음과 같아야 합니다.

#-------------------------------------------------------------- Start SAP enqueue server #-------------------------------------------------------------- _ENQ = enq.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) Execute_04 = local rm -f $(_ENQ) Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ) Start_Program_01 = local $(_ENQ) pf=$(_PF) ... enq/server/replication/enable = TRUE Autostart = 0

중요: _ENQ의 경우 재시작 옵션이 활성화되어 있지 않아야 합니다. RestartProgram_01로 설정된 _ENQ의 경우 StartProgram_01로 변경하십시오. 이렇게 하면 SAP가 서비스를 다시 시작하거나 클러스터 관리형 리소스를 방해하지 않습니다.

SAP

ERS 프로필을 구성합니다.

동일한 ENSA2 릴리스를 유지하는 동안 SAP로 업그레이드하거나 대상 릴리스가 기본적으로 ENSA1인 경우 ERS 인스턴스 프로파일에서 다음 파라미터를 설정합니다.

인큐 복제기가 정의된 섹션을 찾으십시오. 출력은 다음과 비슷합니다.

#------------------------------------------------------ Start enqueue replication server #------------------------------------------------------ _ER = er.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) Execute_03 = local rm -f $(_ER) Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_ER) Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)

Enqueue Replicator 2에 맞게 이 섹션 재구성:

  1. SAP(OSS Note 2501860, SAP ONE Support Launchpad 사용자 계정 필요)의 최신 메모를 _ENQR 기반으로 _ER 프로그램 접두사를 로 변경합니다.

  2. 인큐 복제기의 바이너리를 enq_replicator 대신 enrepserver로 변경하십시오.

  3. Autostart = 0이 확실한지 확인합니다.

변경 후 이 프로파일 섹션은 다음과 같아야 합니다.

#------------------------------------------------------ Start enqueue replication server #------------------------------------------------------ _ENQR = enqr.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) Execute_01 = local rm -f $(_ENQR) Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR) Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID) … Autostart = 0

중요: _ENQR의 경우 재시작 옵션이 활성화되어 있지 않아야 합니다. RestartProgram_01로 설정된 _ENQR의 경우 StartProgram_01로 변경하십시오. 이렇게 하면 SAP가 서비스를 다시 시작하거나 클러스터 관리형 서비스를 방해하지 않습니다.

SAP

SAP Start Services를 다시 시작합니다.

이 에픽에서 앞서 설명한 프로필을 변경한 후 SAP/SCS 및 ERS 모두에 대해 ASCS Start Services를 다시 시작합니다.

sapcontrol -nr 10 -function RestartService SCT

sapcontrol -nr 11 -function RestartService SCT

여기서 SCT는 SAP 시스템 ID를 나타내며 10과 11이 각각 ASCS/SCS 및 ERS 인스턴스의 인스턴스 번호라고 가정합니다.

SAP
작업설명필요한 기술

SAP 리소스 에이전트에서 버전 번호를 확인합니다.

SUM를 사용하여 SAP를 S/4HANA 1809 이상으로 업그레이드하는 경우 SUM는 SAP 프로필의 파라미터 변경 사항을 처리합니다. 클러스터만 수동 조정이 필요합니다. 하지만 클러스터를 변경하기 전에 파라미터 설정을 확인하는 것이 좋습니다.

참고:이 에픽의 예제에서는 SUSE 운영 체제를 사용하고 있다고 가정합니다. RHEL를 사용하는 경우 Zypper 및 crm 대신 YUM 및 pcs 쉘과 같은 도구를 사용해야 합니다.

아키텍처의 두 노드를 모두 확인하여 resource-agents 패키지가 SAP에서 권장하는 최소 버전과 일치하는지 확인합니다. SLES의 경우 SAP OSS Note 2641019을 선택합니다. RHEL의 경우 SAP OSS Note 2641322을 선택합니다. (SAP Notes에는 SAP ONE Support Launchpad 사용자 계정이 필요합니다.)

sapers:sctadm 23> zypper search -s -i resource-agents Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+-----------------+---------+------------------------------------+--------+----------------------------- i | resource-agents | package | 4.8.0+git30.d0077df0-150300.8.28.1 | x86_64 | SLE-Product-HA15-SP3-Updates

필요한 경우 resource-agents 버전을 업데이트하십시오.

AWS 시스템 관리자

클러스터 구성을 백업합니다.

다음과 같이 CRM 클러스터 구성을 백업합니다.

crm configure show > /tmp/cluster_config_backup.txt

AWS 시스템 관리자

유지 관리 모드를 설정합니다.

클러스터를 유지 관리 모드로 설정합니다.

crm configure property maintenance-mode="true"

AWS 시스템 관리자

클러스터 구성을 확인합니다.

현재 클러스터 구성을 확인합니다.

crm configure show

다음은 전체 출력에서 발췌한 내용입니다.

node 1: sapascs node 2: sapers ... primitive rsc_sap_SCT_ASCS10 SAPInstance \ operations $id=rsc_sap_SCT_ASCS10-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 primitive rsc_sap_SCT_ERS11 SAPInstance \ operations $id=rsc_sap_SCT_ERS11-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \ AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 ... colocation col_sap_SCT_no_both -5000: grp_SCT_ERS11 grp_SCT_ASCS10 location loc_sap_SCT_failover_to_ers rsc_sap_SCT_ASCS10 \ rule 2000: runs_ers_SCT eq 1 order ord_sap_SCT_first_start_ascs Optional: rsc_sap_SCT_ASCS10:start rsc_sap_SCT_ERS11:stop symmetrical=false ...

여기서 sapascsvirt는 ASCS 인스턴스의 가상 호스트 이름을, sapersvirt는 ERS 인스턴스의 가상 호스트 이름을, SCT는 SAP 시스템 ID를 나타냅니다.

AWS 시스템 관리자

장애 조치 콜로케이션 제약을 제거합니다.

이전 예제에서 위치 제약은 ASCS의 ENSA1 기능이 장애 조치 시 항상 ERS 인스턴스를 따르도록 loc_sap_SCT_failover_to_ers 지정합니다. ENSA2를 사용하면 ASCS가 참여 노드로 자유롭게 장애 조치할 수 있으므로이 제약 조건을 제거할 수 있습니다.

crm configure delete loc_sap_SCT_failover_to_ers

AWS 시스템 관리자

프리미티브를 조정합니다.

또한 ASCS 및 SAPInstance ERS 프리미티브를 약간 변경해야 합니다.

다음은 SAPInstance ASCS에 대해 구성된 ENSA1 프리미티브의 예입니다.

primitive rsc_sap_SCT_ASCS10 SAPInstance \ operations $id=rsc_sap_SCT_ASCS10-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10

ENSA2로 업그레이드하려면이 구성을 다음으로 변경합니다.

primitive rsc_sap_SCT_ASCS10 SAPInstance \ operations $id=rsc_sap_SCT_ASCS10-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=3000

다음은 SAPInstance ERS에 대해 구성된 ENSA1 기본 단어의 예입니다.

primitive rsc_sap_SCT_ERS11 SAPInstance \ operations $id=rsc_sap_SCT_ERS11-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \ AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000

ENSA2로 업그레이드하려면이 구성을 다음으로 변경합니다.

primitive rsc_sap_SCT_ERS11 SAPInstance \ operations $id=rsc_sap_SCT_ERS11-operations \ op monitor interval=120 timeout=60 on-fail=restart \ params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \ AUTOMATIC_RECOVER=false IS_ERS=true

다양한 방법으로 프리미티브를 변경할 수 있습니다. 예를 들어 다음 예제와 같이 vi와 같은 편집기에서 수정할 수 있습니다.

crm configure edit rsc_sap_SCT_ERS11

AWS 시스템 관리자

유지 관리 모드를 비활성화합니다.

클러스터에서 유지 관리 모드를 비활성화합니다.

crm configure property maintenance-mode="false"

클러스터가 유지 관리 모드를 벗어나면는 새 ASCS 설정으로 ERS 및 ENSA2 인스턴스를 온라인 상태로 전환하려고 시도합니다.

AWS 시스템 관리자
작업설명필요한 기술

모범 사례를 검토합니다.

노드를 더 추가하기 전에 홀수 또는 짝수 노드 사용 여부와 같은 모범 사례를 이해해야 합니다.

AWS 시스템 관리자

노드를 추가합니다.

노드를 더 추가하려면 운영 체제를 업데이트하고, 기존 노드에 맞는 소프트웨어 패키지를 설치하며, 마운트를 사용할 수 있게 하는 등의 일련의 작업이 필요합니다. SAP Software Provisioning Manager(SWPM)의 추가 호스트 준비 옵션을 사용하여 호스트의 SAP별 기준을 생성할 수 있습니다. 자세한 내용은 다음 섹션에 나열된 SAP 가이드를 참조하세요.

AWS 시스템 관리자

관련 리소스

SAP 및 SUSE 참조

SAP Notes에 액세스하려면 SAP ONE Support Launchpad 사용자 계정이 있어야 합니다. 자세한 내용은 SAP Support 웹 사이트를 참조하세요.

AWS 참조