SAP HANA scale-Up System Replication High Availability 배포
"Advanced Next Generation Interface" SAP HANA 리소스 에이전트 ("angi")를 사용하여 스케일 업 HANA 시스템 복제 자동화를 위한 HA 클러스터 생성
초록
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (계정 필요)
1장. SAP HANA 확장 시스템 복제 소개 링크 복사링크가 클립보드에 복사되었습니다!
두 개의 동일한 HANA 인스턴스 간 SAP HANA 시스템 복제를 구성하면 데이터베이스의 기본 복원력이 가능합니다. 기본 인스턴스의 오류가 발생하는 경우 서비스 복구를 자동으로 처리하는 고급 고가용성을 위해 Pacemaker 클러스터에서 이러한 두 인스턴스를 구성할 수 있습니다.
1.1. 용어 링크 복사링크가 클립보드에 복사되었습니다!
노드
HA 클러스터 설정의 호스트 또는 시스템(클러스터 멤버라고도 함)
cluster
클러스터는 RHEL HA 애드온에서 Pacemaker 클러스터 관리자를 사용하는 고가용성 설정입니다. 두 개 이상의 멤버 또는 노드로 구성됩니다.
인스턴스
하나의 HANA 사이트에 속한 SAP HANA 시스템 세트 단일 호스트(스케일 업) HANA 환경에서는 하나의 HANA site가 하나의 HANA 인스턴스로 구성됩니다. 다중 호스트(scale-out) HANA 구성에서 각 HANA 사이트는 두 개 이상의 HANA 인스턴스로 구성됩니다.
기본 설정
기본 HANA 인스턴스 또는 기본 사이트는 활성 HANA 인스턴스 또는 사이트인 인스턴스를 나타냅니다. 단일 호스트 설정(scale-up)에서 이는 하나의 시스템입니다. 다중 호스트(scale-out) 설정에서 기본 인스턴스가 하나의 HANA 사이트의 여러 시스템에서 확장되고 시스템은 부하를 분산하는 HANA 환경에서 서로 다른 역할을 갖습니다.
Secondary
보조 HANA 인스턴스 또는 보조 사이트는 SAP HANA 시스템 복제 메커니즘을 통해 기본 HANA 인스턴스와 동기화되도록 구성된 SAP HANA 인스턴스 또는 사이트를 나타냅니다. 이 인스턴스는 기본 인스턴스의 메모리 내 데이터를 미리 로드하고 기본 인스턴스가 실패하는 경우 이를 처리할 준비가 되어 있습니다.
1.2. 성능에 최적화된 SAP HANA 확장 HA 링크 복사링크가 클립보드에 복사되었습니다!
성능에 최적화된 것은 각 노드에서 CPU 및 RAM과 같은 대부분의 리소스를 제어할 수 있는 단일 SAP HANA 인스턴스만 실행 중임을 의미합니다. 즉, SAP HANA 인스턴스는 가능한 한 많은 성능으로 실행할 수 있습니다.
SAP HANA 2.0 SPS1 이상의 성능 최적화 SAP HANA 시스템 복제 설정을 사용하면 보조 시스템에 대한 읽기 액세스를 구성하여 기본 인스턴스의 부하를 줄일 수도 있습니다. 자세한 내용은 Active/Active(Read Enabled) 구성에 대한 SAP 문서를 참조하십시오.
1.3. SAP HANA HA용 클러스터 리소스 에이전트 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA HA 설정에 대한 HA(고가용성) 클러스터 구성은 예상되는 동작을 위해 기능을 결합하는 여러 리소스 에이전트에서 작동합니다. Advanced Next Generation Interface 리소스 에이전트는 스케일업 및 스케일 아웃 환경에서 동일합니다. 업스트림에서는 SAPHanaSR-angi 라고도 합니다.
RHEL에서 이 생성의 결합 리소스 에이전트는 sap-hana-ha 패키지로 제공됩니다.
SAPHanaTopology
SAPHanaTopology리소스 에이전트는 SAP HANA 환경에서 상태 정보를 가져와서 클러스터 속성에 저장합니다. 또한 에이전트는 HANA 인스턴스를 시작, 중지 및 모니터링하는 데 필요한 로컬SAP HostAgent를 시작하고 모니터링합니다. SAP HANA의 구성 프로세스는 시스템 복제 후크라는 구성 프로세스에서 저장된 속성에 복제 상태 정보를 추가합니다. 수집된 환경 데이터를 기반으로 리소스 에이전트는 클러스터 노드의 전용 상태 점수를 정의합니다. 이 점수는 클러스터에서 다른 사이트로 시스템 복제 전환을 시작해야 하는지를 결정하는 데 사용됩니다.SAPHanaController
SAPHanaController리소스 에이전트는 SAP HANA 환경을 모니터링하고 관리합니다. HANA 인스턴스가 실패하는 경우 리소스는 자동 스위치에 대한 명령을 가져와 실행하는 복구 작업을 결정하거나 시스템 복제의 활성 사이트를 변경합니다.SAPHanaFilesystem
SAPHanaFilesystem리소스 에이전트는 SAP HANA 파일 시스템에서 경로에 대한 읽기 및 쓰기 액세스를 확인하고 파일 시스템 액세스와 관련된 문제를 찾을 때 기본 HANA 인스턴스에서 작업을 수행합니다. 이로 인해 장애 조치 및 서비스 복구 속도가 크게 빨라질 수 있습니다.이 리소스 에이전트를 사용하는 것은 선택 사항이지만 기본 노드를 펜싱하여 기본 SAP HANA 스토리지 오류 발생 시 더 빠른 페일오버를 트리거하는 것이 좋습니다. 이는 기본 노드에서만 작업을 수행하고 HANA 시스템 복제가 동기화된 경우에만 수행됩니다. 이 리소스는 파일 시스템의 경로만 모니터링하므로 파일 시스템을 마운트하거나 마운트 해제하지 않습니다. 파일 시스템 자체를 관리하려면 다른 메커니즘을 사용해야 합니다. 자세한 내용은 /etc/fstab 파일을 참조하십시오.
참고RHEL 버전에 새로운 리소스 에이전트를 사용할 수 있는지 확인합니다. SAP HANA scale-Up 및 scale-Out System Replication HA 솔루션에 대해 지원되는 최소 패키지 버전을 확인합니다.
1.4. SAP HANA HA/DR 공급자 후크 링크 복사링크가 클립보드에 복사되었습니다!
현재 버전의 SAP HANA는 HANA 인스턴스가 시스템 복제 손실 또는 설정 등 특정 이벤트에 대한 알림을 보낼 수 있는 후크 형태로 API를 제공합니다. 각 이벤트마다 HANA 인스턴스는 HA/DR 공급자라고도 하는 구성된 후크를 호출합니다. 후크는 HANA가 보내는 이벤트를 처리하는 사용자 지정 Python 스크립트이며 스크립트는 이벤트 정보를 기반으로 다양한 작업을 트리거할 수 있습니다.
특정 이벤트에 대한 추가 작업을 트리거하는 데 필요한 기능을 활성화하려면 HA/DR 공급자 정의를 HANA 글로벌 구성에 추가해야 합니다.
srConnectionChanged() 후크 메서드의 HanaSR
srConnectionChanged() 후크를 처리하려면 HanaSR 후크가 필요합니다. 이 방법은 HANA 시스템 복제 상태의 변경 사항을 알리는 데 기본 HANA 인스턴스에서 사용됩니다. 기본 HANA 인스턴스는 HANA 시스템 복제 관련 이벤트가 발생할 때 HanaSR HA/DR 공급자를 호출합니다. 그런 다음 후크 스크립트 HanaSR.py 에서 시스템 복제 상태 세부 정보에 대한 srConnectionChanged() 이벤트를 구문 분석하고 결과적으로 srHook 클러스터 속성을 업데이트합니다. 이 속성은 리소스 에이전트가 가로 상태를 평가하고 결정을 내리는 데 사용됩니다. 시스템 복제 또는 동기화 상태의 값은 클러스터가 동일한 노드에서 실패한 기본 인스턴스를 복구하는지 또는 보조 노드에 대한 인수를 트리거하는지 여부를 정의합니다. 이 작업은 시스템 복제가 완전히 동기화될 때만 트리거됩니다. 즉, HANA 사이트 간에 HANA 데이터가 일관되게 유지됩니다.
적절한 기능을 위해 srConnectionChanged() 후크 메서드를 활성화하고 HA 클러스터 설정을 완전히 지원하도록 HanaSR 후크를 구성해야 합니다.
srServiceStateChanged() 후크 메서드의 ChkSrv
HANA 인스턴스가 HANA 인덱스 서버 프로세스 문제를 감지하면 내부 메커니즘을 통해 hdbindexserver 서비스를 중지하고 다시 시작하여 문제에서 복구됩니다.
그러나 특히 매우 큰 HANA 인스턴스의 경우 hdbindexserver 서비스는 이 복구 프로세스의 중지 단계에 시간이 오래 걸릴 수 있습니다. HANA는 이 서비스 성능 저하를 HANA 환경에서 오류로 보고하지만 해당 시간 동안 인스턴스에서 다른 것이 실패하는 경우 데이터 일관성에 위험이 있습니다. 예측할 수 없는 서비스 복구 시간을 개선하기 위해 대신 영향을 받는 전체 HANA 인스턴스를 중지하거나 종료하도록 ChkSrv 후크를 구성할 수 있습니다.
자동 장애 조치가 활성화된 설정(PREFER_SITE_TAKEOVER=true)에서 보조 노드가 정상 상태인 경우 인스턴스 중지가 발생합니다. 그렇지 않으면 인스턴스 복구가 로컬로 수행되지만 강제 로컬 인스턴스 재시작은 프로세스를 가속화합니다.
HANA 인스턴스는 이벤트가 발생할 때 ChkSrv 후크를 호출합니다. 후크 스크립트 ChkSrv.py 는 srServiceStateChanged() 후크 메서드를 처리하고 이벤트 세부 정보에 적용되는 필터 결과에 따라 작업을 실행합니다. 이렇게 하면 ChkSrv.py 후크 스크립트는 HANA hdbindexserver 프로세스를 식별하고 HANA에 의해 실패한 후 원하는 인스턴스 종료의 일부로 중지되고 재시작할 수 있습니다. 후크 스크립트가 실패로 인해 이벤트가 발생했는지 확인할 때 구성된 작업이 트리거됩니다.
ChkSrv.py 후크 스크립트에는 인덱스 서버 실패 이벤트가 감지될 때 발생하는 작업을 정의하는 여러 옵션이 있습니다.
무시
이 작업은 구문 분석된 이벤트 및 의사 결정 정보를 전용 로그 파일에 쓰기만 하면 됩니다. 이 기능은
중지 또는작업을 활성화할 때 후크 스크립트가 수행할 작업을 테스트하고 확인하는 데 유용합니다.종료중지
이 작업은
sapcontrol명령을 통해 인스턴스에 대해 정상StopSystem을 실행합니다.kill
이 작업은 구성할 수
있는 기본 신호 9를 사용하여HDB kill-<signal> 명령을 실행합니다. 결과는stop을 사용할 때와 동일하지만 더 빨라질 수 있습니다.
모든 인덱스 서버 오류는 HANA에 의해 개별적으로 처리됩니다. 모든 단일 indexserver 문제에 대해 동일한 프로세스가 항상 트리거됩니다.
srServiceStateChanged() 후크를 활성화하는 것은 선택 사항입니다.
1.5. SAP HANA 고가용성에 대한 지원 정책 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 솔루션의 다음 구성 요소를 지원합니다.
- SAP 지침에 따라 RHEL에서 SAP HANA를 실행하기 위한 기본 OS 구성
- RHEL HA 애드온
- SAP HANA 시스템 복제를 위한 Red Hat HA 솔루션
2장. HA 클러스터 설정 계획 링크 복사링크가 클립보드에 복사되었습니다!
HANA 환경의 HANA 시스템 복제 자동화를 위한 HA 클러스터 구성에 대한 모든 요구 사항이 충족되도록 설정을 신중하게 계획합니다.
2.1. SAP HANA HA용 서브스크립션 및 리포지토리 링크 복사링크가 클립보드에 복사되었습니다!
HA(고가용성) 클러스터의 SAP HANA 솔루션은 전용 리포지토리에서 제공됩니다. 모든 관련 콘텐츠에 액세스하려면 RHEL for SAP Solutions 서브스크립션이 필요합니다. 이 서브스크립션에는 RHEL HighAvailability 리포지토리가 포함됩니다.
고가용성
RHEL HA 애드온의 콘텐츠는 High Availability라는 리포지토리에 저장됩니다. 리포지토리 ID는
rhel-9-for-<arch>-highavailability-e4s-rpms로 표시됩니다.SAP 솔루션
SAP HANA 특정 콘텐츠가 포함된 리포지토리의 이름입니다. 리포지토리 ID는
rhel-9-for-<arch>-sap-solutions-e4s-rpms로 표시됩니다.
& lt;arch& gt;는 특정 하드웨어 아키텍처를 나타냅니다.
-
x86_64 -
ppc64le
RHEL for SAP Solutions 서브스크립션의 일부로 활성화된 리포지토리 목록의 예:
2.2. OS 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
OS 수준의 최소 Linux 커널 버전 및 기타 SAP HANA 요구 사항에 대한 정보는 SAP Note 3108302 - SAP HANA DB: Recommended OS Settings for RHEL 9 를 참조하십시오.
RHEL 9 for SAP Solutions 설치에 설명된 대로 호스트 OS를 배포합니다.
루트 권한
HANA 설치 및 클러스터 HA 설정을 위해 root 사용자 또는 모든 sudo 명령을 실행할 수 있는 권한이 있는 사용자가 필요합니다.
2.3. 스토리지 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 마스터 가이드 에서 SAP HANA 데이터베이스의 크기 조정에 대한 정보를 찾을 수 있습니다.
두 노드 간에 HANA 시스템 복제를 사용하여 SAP HANA 환경을 확장하려면 두 시스템에 HANA 데이터베이스에 대해 동일한 파일 시스템 공간이 있는지 확인해야 합니다. 특정 HANA 구성에 따라 로컬 데이터베이스 백업 파일 및 로그 세그먼트에 필요한 공간을 계획합니다.
2.4. 네트워크 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 관리 가이드에서 SAP HANA 네트워크 아키텍처 고려 사항에 대한 정보를 찾을 수 있습니다.
HA 클러스터에서 SAP HANA 시스템 복제 설정의 경우 HANA 네트워크 트래픽과 별도의 클러스터 통신 트래픽에 대한 전용 네트워크 및 연결을 구성하는 것이 좋습니다.
2.5. HA 클러스터 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
fencing
RHEL HA 애드온을 사용하여 지원되는 HA 클러스터 설정의 경우 각 클러스터 노드에서 펜싱 또는 STONITH 장치를 구성해야 합니다. 사용할 수 있는 펜싱 또는 STONITH 장치는 클러스터가 실행 중인 플랫폼에 따라 다릅니다. 펜싱 에이전트에 대한 권장 사항은 RHEL High Availability Clusters - Fencing/STONITH에 대한 지원 정책을 확인하거나 하드웨어 또는 클라우드 공급자를 참조하여 해당 플랫폼에서 지원되는 차단 장치를 확인합니다.
fence_scsi 또는 fence_mpath 를 펜싱/STONITH 메커니즘으로 사용하려면 HA 클러스터에서 완전히 관리하는 클러스터 노드 간에 공유 스토리지가 필요합니다. SAP 환경에 이러한 공유 디스크 설정이 포함되지 않은 경우 이러한 펜싱 옵션을 사용하는 것은 지원되지 않습니다.
쿼럼
일반적으로 쿼럼 장치는 짝수의 노드가 있는 클러스터에 권장됩니다. 2-노드 클러스터에는 특히 자체적으로 분할 상황을 처리하는 내부 메커니즘이 있습니다. 이 경우 쿼럼 장치는 선택 사항입니다. 쿼럼 장치를 사용하면 클러스터에서 분할 위치에서 유지되는 노드를 보다 효과적으로 확인할 수 있습니다.
쿼럼 장치를 설정하는 옵션은 플랫폼, 인프라 및 구성에 따라 다릅니다.
2.6. SAP HANA 계획 링크 복사링크가 클립보드에 복사되었습니다!
sap-hana-ha 패키지는 SAP HANA 2.0 SPS05 rev 59.04 이상의 설정을 지원하는 결합된 리소스 에이전트를 제공합니다.
HANA 설정을 준비하려면 계획된 환경의 설치 및 구성에 필요한 매개변수 목록을 정의할 수 있습니다.
| 매개변수 | 예시 값 |
| cluster node1 FQDN |
|
| 클러스터 노드2 FQDN |
|
| SID |
|
| SAP 인스턴스 번호 |
|
| 기본 HANA 사이트 이름 |
|
| 보조 HANA 사이트 이름 |
|
|
HANA |
|
| HANA 관리 사용자 |
|
3장. 2-노드 HA 클러스터 설정을 위한 SAP HANA 설치 링크 복사링크가 클립보드에 복사되었습니다!
3.1. 스케일 업 SAP HANA 인스턴스 설치 링크 복사링크가 클립보드에 복사되었습니다!
모든 노드에 동일한 SID 및 인스턴스 번호를 사용하여 HANA 인스턴스를 설치합니다. 인스턴스 설정은 동일해야 합니다.
사전 요구 사항
- OS 요구 사항에 따라 동일한 시스템이 설치되어 있습니다.
- HANA 인스턴스에 대한 세부 정보를 준비했습니다. SAP HANA 계획을 참조하십시오.
- SAP 소프트웨어 다운로드에서 SAP HANA 설치 미디어를 다운로드 했으며 각 노드에서 미디어를 사용할 수 있습니다.
프로세스
설치 미디어가 포함된 디렉터리로 이동합니다. 예를 들면
/sapmedia/hana:cd /sapmedia/hana
[root]# cd /sapmedia/hanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 설치 미디어의 압축을 풉니다.
unzip IMDB_SERVER20_*.ZIP
[root]# unzip IMDB_SERVER20_*.ZIPCopy to Clipboard Copied! Toggle word wrap Toggle overflow 압축 해제된 설치 미디어의 경로로 이동합니다.
cd /sapmedia/hana/DATA_UNITS/HDB_LCM_LINUX_<arch>
[root]# cd /sapmedia/hana/DATA_UNITS/HDB_LCM_LINUX_<arch>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대화형 설치를 위해 SAP HANA Lifecycle Management 툴(HDBLCM)을 실행합니다.
./hdblcm
[root]# ./hdblcmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 대화형 모드에서 설치 프로그램에서 시스템 ID(SID), 설치 번호(인스턴스), 데이터 및 로그 볼륨의 파일 시스템 위치 등을 비롯한 모든 필수 정보를 요청합니다.
- 모든 노드에서 1-4단계를 반복합니다.
검증
<
sid>adm사용자로 전환합니다.su - rh1adm
[root]# su - rh1admCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 <
sid>adm:으로 HANA 인스턴스 런타임 정보를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또한 상태 ok에 대한
landscapeHostConfiguration.py출력을 확인할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
모든 노드에서 단계를 반복합니다. HANA 프로필에는 <
SID>_HDB<instance>_<node> 형식의 개별 노드 이름이 포함되어 있습니다.
3.2. SAP HANA 인스턴스 자동 시작 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
클러스터는 HA 클러스터 설정에서 HANA 인스턴스의 시작 및 종료를 제어합니다. 인스턴스 자체를 자동으로 시작하지 않도록 HANA 인스턴스 프로필을 구성해야 합니다.
프로세스
HANA 인스턴스 프로필 디렉터리로 이동합니다.
cd /usr/sap/<SID>/SYS/profile
[root]# cd /usr/sap/<SID>/SYS/profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스 프로필을 편집합니다.
vi <SID>_HDB<instance>_<hostname>
[root]# vi <SID>_HDB<instance>_<hostname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Autostart가0으로 설정되어 있는지 확인합니다.- HA 클러스터의 일부로 관리할 각 HANA 인스턴스에 대해 1-2단계를 반복합니다.
검증
HA 클러스터에서 관리할 모든 HANA 인스턴스의 인스턴스 프로필에
Autostart = 0이 설정되어 있는지 확인합니다.grep Autostart /usr/sap/RH1/SYS/profile/* /usr/sap/RH1/SYS/profile/RH1_HDB02_node1:Autostart = 0
[root]# grep Autostart /usr/sap/RH1/SYS/profile/* /usr/sap/RH1/SYS/profile/RH1_HDB02_node1:Autostart = 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4장. SAP HANA 시스템 복제 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에서 HANA 인스턴스를 구성하려면 먼저 SAP HANA 시스템 복제를 구성하고 테스트해야 합니다. HANA 시스템 복제 설정에 대한 SAP 지침에 따라 SAP HANA 시스템 복제: 구성 을 따르십시오.
4.1. SAP HANA 시스템 복제 설정의 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 구성
SAP HANA는 두 노드에 모두 동일하게 설치 및 구성되어야 합니다.
호스트 이름 확인
두 시스템 모두 두 시스템의 FQDN을 확인할 수 있어야 합니다. DNS 없이 FQDN을 확인할 수 있도록 하려면 /etc/hosts 에 배치할 수 있습니다.
SAP HANA 확장 시스템에 대한 /etc/hosts 항목의 예:
[root]# cat /etc/hosts ... 192.168.0.11 node1.example.com node1 192.168.0.12 node2.example.com node2
[root]# cat /etc/hosts
...
192.168.0.11 node1.example.com node1
192.168.0.12 node2.example.com node2
호스트 이름 | SAP 도움말 포털 에서는 SAP HANA는 소문자가 있는 호스트 이름만 지원합니다.
SAP HANA log_mode
시스템 복제가 작동하려면 SAP HANA log_mode 변수를 기본값인 normal 으로 설정해야 합니다.
두 노드에서 HANA 관리자 < sid>adm 로 현재 log_mode 를 확인합니다.
rh1adm $ hdbsql -u system -p '<HANA_SYSTEM_PASSWORD>' -i ${TINSTANCE} \
"select value from "SYS"."M_INIFILE_CONTENTS" where key='log_mode'"
VALUE "normal"
1 row selected
rh1adm $ hdbsql -u system -p '<HANA_SYSTEM_PASSWORD>' -i ${TINSTANCE} \
"select value from "SYS"."M_INIFILE_CONTENTS" where key='log_mode'"
VALUE "normal"
1 row selected
4.2. 초기 HANA 인스턴스 백업 수행 링크 복사링크가 클립보드에 복사되었습니다!
계획된 SAP HANA 시스템 복제 설정에 대한 기본 인스턴스에 SAP HANA 인스턴스의 초기 백업이 있는 경우에만 HANA 시스템 복제를 활성화할 수 있습니다.
SAP HANA 도구를 사용하여 백업을 만들고 수동 절차를 건너뛸 수 있습니다. 자세한 내용은 SAP HANA 관리 가이드 - SAP HANA 데이터베이스 백업 및 복구를 참조하십시오.
사전 요구 사항
-
SAP HANA 관리 사용자 <
sid>adm 용으로 백업 파일이 저장되는 쓰기 가능한 디렉터리가있습니다. - 백업 파일이 저장되는 파일 시스템에 사용 가능한 충분한 여유 공간이 있습니다.
프로세스
선택 사항: 적절한 경로에 백업 전용 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.
mkdir <path>/<SID>-backup
[root]# mkdir <path>/<SID>-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;path>를 초기 백업 파일에 충분한 여유 공간이 있는 시스템의 경로로 바꿉니다.예를 들어 대상 디렉터리가 HANA 사용자가 소유하거나 쓸 수 없는 경우 사용자 <
sid>adm으로 백업 경로의 소유자를 변경합니다.chown <sid>adm:sapsys <path>/<SID>-backup
[root]# chown <sid>adm:sapsys <path>/<SID>-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 나머지 단계에서는
<sid>adm사용자로 변경합니다.su - <sid>adm
[root]# su - <sid>admCopy to Clipboard Copied! Toggle word wrap Toggle overflow SYSTEMDB의 백업을 <sid>adm사용자로 생성합니다. 백업이 저장될 파일의 경로를 지정합니다. 대상 파일 시스템에 사용 가능한 공간이 충분한지 확인한 다음 백업을 생성합니다.rh1adm $ hdbsql -i ${TINSTANCE} -u system -p '<HANA_SYSTEM_PASSWORD>' -d SYSTEMDB \ "BACKUP DATA USING FILE ('<path>/${SAPSYSTEMNAME}-backup/bkp-SYS')" 0 rows affected (overall time xx.xxx sec; server time xx.xxx sec)rh1adm $ hdbsql -i ${TINSTANCE} -u system -p '<HANA_SYSTEM_PASSWORD>' -d SYSTEMDB \ "BACKUP DATA USING FILE ('<path>/${SAPSYSTEMNAME}-backup/bkp-SYS')" 0 rows affected (overall time xx.xxx sec; server time xx.xxx sec)Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
TINSTANCE및SAPSYSTEMNAME은 <sid>adm사용자 쉘 환경의 일부인 환경 변수입니다.TINSTANCE는 인스턴스 번호이고SAPSYSTEMNAME은. 둘 다 <sid>adm 사용자와 관련된인스턴스 값으로 자동으로 설정됩니다. -
&
lt;path>를 <sid>adm사용자에게 쓰기 액세스 권한이 있고 여유 공간이 충분한 경로로 바꿉니다.
-
모든 테넌트 데이터베이스의 백업을 <
sid>adm사용자로 생성합니다. 백업이 저장될 파일의 경로를 지정합니다. 대상 파일 시스템에 사용 가능한 공간이 충분한지 확인합니다. 테넌트 DB 백업을 생성합니다.rh1adm $ hdbsql -i ${TINSTANCE} -u system -p '<HANA_SYSTEM_PASSWORD>' -d SYSTEMDB \ "BACKUP DATA FOR ${SAPSYSTEMNAME} USING FILE ('<path>/${SAPSYSTEMNAME}-backup/bkp-${SAPSYSTEMNAME}')" 0 rows affected (overall time xx.xxx sec; server time xx.xxx sec)rh1adm $ hdbsql -i ${TINSTANCE} -u system -p '<HANA_SYSTEM_PASSWORD>' -d SYSTEMDB \ "BACKUP DATA FOR ${SAPSYSTEMNAME} USING FILE ('<path>/${SAPSYSTEMNAME}-backup/bkp-${SAPSYSTEMNAME}')" 0 rows affected (overall time xx.xxx sec; server time xx.xxx sec)Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;path>를 <sid>adm사용자에게 쓰기 액세스 권한이 있고 여유 공간이 충분한 경로로 바꿉니다.
검증
생성된 백업 파일을 나열합니다. 초기 백업을 저장하기 위해
/hana/log/RH1-backup을 디렉터리로 사용하는 경우를 예로 들 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow HANA 명령
hdbbackupcheck를 사용하여 생성한 각 인스턴스 백업 파일의 심각도를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
문제 해결
<
sid>adm사용자가 대상 디렉터리에 쓸 수 없기 때문에 백업이 실패합니다.* 447: backup could not be completed: [2001003] createDirectory(path= '/tmp/RH1-backup/', access= rwxrwxr--, recursive= true): Permission denied (rc= 13, 'Permission denied') SQLSTATE: HY000
* 447: backup could not be completed: [2001003] createDirectory(path= '/tmp/RH1-backup/', access= rwxrwxr--, recursive= true): Permission denied (rc= 13, 'Permission denied') SQLSTATE: HY000Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
sid>adm사용자가 backup 명령에 정의한 대상 디렉터리 내에 파일을 생성할 수 있는지 확인합니다. 예를 들어 절차의 2단계를 사용하여 권한을 수정합니다.대상 파일 시스템이 공간이 부족하기 때문에 백업이 실패합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대상 디렉터리가 있는 파일 시스템의 사용 가능한 공간을 확인합니다. 파일 시스템 크기를 늘리거나 백업 파일에 사용 가능한 공간이 충분한 다른 경로를 선택합니다.
4.3. 기본 HANA 복제 인스턴스 구성 링크 복사링크가 클립보드에 복사되었습니다!
계획된 시스템 복제 설정의 초기 기본 인스턴스가 될 시스템에서 HANA 시스템 복제를 활성화합니다.
사전 요구 사항
- 초기 HANA 인스턴스 백업 수행에 설명된 단계를 기반으로 기본 노드에서 HANA 인스턴스에 대한 초기 백업을 생성했습니다.
프로세스
초기 기본 인스턴스가 되는 HANA 인스턴스에서 시스템 복제를 활성화합니다. 첫 번째 또는 기본 노드에서 &
lt;sid>adm로 명령을 실행합니다.rh1adm $ hdbnsutil -sr_enable --name=<DC1> nameserver is active, proceeding ... successfully enabled system as system replication source site done.
rh1adm $ hdbnsutil -sr_enable --name=<DC1> nameserver is active, proceeding ... successfully enabled system as system replication source site done.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;dc1>을 기본 HANA 사이트 이름으로 바꿉니다.
-
&
검증
시스템 복제 상태를 <
sid>adm으로 확인하고 현재 노드가mode로 표시되는지 확인합니다. primary,site id및site name이 기본 인스턴스 사이트 정보로 채워집니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. 보조 HANA 복제 인스턴스 구성 링크 복사링크가 클립보드에 복사되었습니다!
HANA 시스템 복제 설정을 완료하려면 보조 HANA 인스턴스를 기본 인스턴스에 등록해야 합니다.
사전 요구 사항
-
기본 인스턴스와 동일한
SID및 인스턴스 번호를 사용하여 보조 노드에 SAP HANA를 설치했습니다. -
클러스터 노드 간에
root ssh 키를구성했습니다. -
보조 노드에서 2개의 터미널을 열었습니다. 하나는
root사용자용이고 하나는 <sid>adm 사용자용입니다.
프로세스
보조 HANA 인스턴스를 중지하고
node2에서 <sid>adm사용자로 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow HANA가 시스템 복제 암호화의 키를 저장하는 디렉터리로 변경합니다.
cd /usr/sap/<SID>/SYS/global/security/rsecssfs
[root]# cd /usr/sap/<SID>/SYS/global/security/rsecssfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow HANA 시스템 PKI 파일
SSFS_<SID>.KEY를 기본 HANA 인스턴스에서 보조 인스턴스로 복사합니다.rsync -av node1:$PWD/key/SSFS_<SID>.KEY key/
[root]# rsync -av node1:$PWD/key/SSFS_<SID>.KEY key/Copy to Clipboard Copied! Toggle word wrap Toggle overflow PKI 파일
SSFS_<SID>.DAT를 기본 HANA 인스턴스에서 보조 인스턴스로 복사합니다.rsync -av node1:$PWD/data/SSFS_<SID>.DAT data/
[root]# rsync -av node1:$PWD/data/SSFS_<SID>.DAT data/Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
sid>adm사용자 터미널에서 보조 HANA 인스턴스를 기본 인스턴스에 등록합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;dc2>를 보조 HANA 사이트 이름으로 바꿉니다. -
시스템 복제의 요구 사항에 따라
replicationMode및operationMode의 값을 선택합니다. -
TINSTANCE는 HANA 인스턴스 프로필을 읽고 사용자 <sid>adm에 대해 자동으로 설정된 환경 변수입니다. 변수 값은 HANA 인스턴스 번호입니다.
-
&
보조 HANA 인스턴스를 시작합니다.
node2에서<sid>adm으로 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
시스템 복제가 보조 인스턴스에서 실행 중이고
모드가5단계에서hdbnsutil -sr_register명령에서replicationMode매개변수에 사용한 값과 일치하는지 확인합니다. node2에서 <sid>adm으로 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 인스턴스에서 사용자 <
sid>adm으로 HANA 인스턴스의 Python 스크립트 디렉터리로 변경합니다. 이 작업을 수행하는 가장 쉬운 방법은 인스턴스 설치 중에 SAP HANA가 채우는 <sid>adm사용자 쉘에 내장된 별칭인cdpy를 사용하는 것입니다.rh1adm $ cdpy
rh1adm $ cdpyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 현재 디렉터리를
/usr/sap/RH1/HDB02/exe/python_support/로 변경합니다.두 인스턴스에서 설정된 HANA 시스템 복제의 현재 상태를 표시합니다.
기본 인스턴스에서 시스템 복제 상태는 항상 모든 세부 정보와 함께 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ACTIVE는 HANA 시스템 복제가 정상 상태이고 완전히 동기화됨을 의미합니다. -
시스템 복제가 보조 사이트에서 업데이트되는 동안
SYNCING이 표시됩니다(예: 보조 인스턴스가 새 기본 인스턴스가 되는 경우). -
INITIALIZING은 시스템 복제를 처음 활성화하거나 전체 동기화가 트리거된 후 표시됩니다.
-
보조 인스턴스에서
systemReplicationStatus.py의 출력이 덜 상세합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5. HANA 시스템 복제 테스트 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 설정을 진행하기 전에 HANA 시스템 복제를 철저히 테스트하는 것이 좋습니다. 올바른 시스템 복제 동작을 확인하면 HA 클러스터가 나중에 시스템 복제를 관리할 때 예기치 않은 결과를 방지할 수 있습니다.
다른 테스트의 측정된 시간을 포함하는 클러스터 리소스 구성에서 시간 초과 값을 사용하여 클러스터 리소스 작업에 미리 시간 초과되지 않도록 합니다.
또한 HANA 구성에서 다양한 매개변수 값을 테스트하여 특정 활동이 클러스터 컨트롤 외부에서 수동으로 수행할 때 걸리는 시간을 측정하여 성능을 최적화할 수도 있습니다.
비현실적인 데이터 로드 및 크기로 테스트를 수행합니다.
전체 복제
- 기본 키와 동기화가 동기화될 때까지 새로 등록된 보조 서비스가 시작된 후 동기화가 얼마나 오래 걸릴 수 있습니까?
- 동기화 시간을 개선할 수 있는 매개 변수가 있습니까?
연결 손실
- 다시 동기화될 때까지 기본 인스턴스와 보조 인스턴스 간에 연결이 손실된 후 얼마나 오래 걸릴 수 있습니까?
- 재연결 및 동기화 시간을 개선할 수 있는 매개 변수가 있습니까?
takeover
- 주에서 가져온 후 보조 인스턴스를 완전히 사용할 수 있는 기간은 얼마나 됩니까?
- 일반적인 테이크와 " 핸드셰이크를 사용한 이해"의 시간은 어떻게 됩니까?
- 사용 시간을 개선할 수 있는 매개 변수가 있습니까?
데이터 일관성
- 이 작업을 수행한 후 사용자가 만든 데이터가 사용 가능하고 정확합니까?
클라이언트 다시 연결
- takeover 후 클라이언트가 새 기본 인스턴스에 다시 연결할 수 있습니까?
- 클라이언트가 인수 후 새 기본에 액세스하는 데 시간이 얼마나 걸리습니까?
1차는 보조가 됨
- 새 보조 서버로 등록된 후 새 primary와 다시 동기화될 때까지 얼마나 오래 걸리나요?
- 구성된 경우 클라이언트가 읽기 작업을 위해 새로 등록된 보조 데이터베이스에 액세스할 때까지 시간이 얼마나 걸리나요?
5장. Pacemaker 클러스터 구성 링크 복사링크가 클립보드에 복사되었습니다!
5.1. 기본 클러스터 구성 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 기본 클러스터 설정은 SAP HANA 시스템 복제를 관리하기 위한 Pacemaker 클러스터 설정을 시작하기 위한 최소 단계를 설명합니다.
복잡한 구성의 설정 및 옵션에 대한 자세한 내용은 RHEL HA 애드온 설명서를 참조하십시오(예: 여러 링크가 있는 고가용성 클러스터 만들기 ).
사전 요구 사항
- HANA 시스템 복제 환경을 설정하고 제대로 작동하는지 확인했습니다.
- 이 클러스터의 노드가 될 모든 시스템에 RHEL High Availability 리포지토리를 구성했습니다.
- 계획된 환경에 따라 펜싱 및 쿼럼 요구 사항을 확인했습니다. 자세한 내용은 HA 클러스터 요구 사항을 참조하십시오.
프로세스
고가용성 리포지토리에서 Red Hat High Availability Add-On 소프트웨어 패키지를 설치합니다. 모든 클러스터 노드에서 설치를 설치하고 실행할 차단 에이전트를 선택합니다.
클러스터 패키지 및 모든 차단 에이전트를 설치합니다.
dnf install pcs pacemaker fence-agents-all
[root]# dnf install pcs pacemaker fence-agents-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 환경에 따라 클러스터 패키지와 특정 차단 에이전트만 설치합니다.
dnf install pcs pacemaker fence-agents-<model>
[root]# dnf install pcs pacemaker fence-agents-<model>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
모든 클러스터 노드에서
pcsd서비스를 시작하고 활성화합니다.systemctl enable --now pcsd.service
[root]# systemctl enable --now pcsd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
firewalld서비스를 실행하는 경우 Red Hat High Availability Add-On에 필요한 포트를 활성화합니다. 모든 클러스터 노드에서 이 작업을 실행합니다.firewall-cmd --add-service=high-availability firewall-cmd --runtime-to-permanent
[root]# firewall-cmd --add-service=high-availability [root]# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow hacluster사용자의 암호를 설정합니다. 동일한 암호를 사용하여 각 노드에서 명령을 반복합니다.passwd hacluster
[root]# passwd haclusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 각 노드에 대해 사용자
hacluster를 인증합니다. 첫 번째 노드에서 이 작업을 실행합니다.pcs host auth <node1> <node2> Username: hacluster Password: <node1>: Authorized <node2>: Authorized
[root]# pcs host auth <node1> <node2> Username: hacluster Password: <node1>: Authorized <node2>: AuthorizedCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/hosts파일에 정의된 대로 FQDN이 있거나 없는 노드 이름을 입력합니다. -
프롬프트에
hacluster사용자 암호를 입력합니다.
-
이름으로 클러스터를 생성하고 클러스터 구성원의 이름(예:
node1및node2)에 정규화된 호스트 이름을 제공합니다. 이렇게 하면 노드 모두에서 클러스터 구성이 전파되고 클러스터가 시작됩니다. 첫 번째 노드에서 이 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템 시작 시 클러스터를 자동으로 시작하여
corosync및pacemaker서비스를 활성화합니다. 노드를 재시작한 후 클러스터 시작을 수동으로 제어하려면 이 단계를 건너뜁니다. 하나의 노드에서 실행합니다.pcs cluster enable --all node1: Cluster Enabled node2: Cluster Enabled
[root]# pcs cluster enable --all node1: Cluster Enabled node2: Cluster EnabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클러스터 상태를 확인합니다. 클러스터 데몬 서비스가 원하는 상태인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
- STONITH 메커니즘을 활성화하도록 펜싱 방법을 구성합니다. Red Hat High Availability 클러스터에서 펜싱 구성을 참조하십시오.
- 클러스터의 추가 구성을 진행하기 전에 펜싱 설정을 테스트합니다. 자세한 내용은 Red Hat High Availability 클러스터에서 차단 장치 및 펜싱 구성을 테스트하는 방법을참조하십시오.
5.2. 일반 클러스터 속성 구성 링크 복사링크가 클립보드에 복사되었습니다!
리소스의 불필요한 페일오버를 방지하려면 클러스터 리소스 기본값을 조정해야 합니다.
프로세스
클러스터 리소스 기본값을 업데이트하여 리소스의 불필요한 페일오버를 방지합니다. 한 클러스터 노드에서 명령을 실행하여 클러스터 구성에 변경 사항을 적용합니다.
pcs resource defaults update \ resource-stickiness=1000 \ migration-threshold=5000
[root]# pcs resource defaults update \ resource-stickiness=1000 \ migration-threshold=5000Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
resource-stickiness=1000은 리소스가 실행되는 위치에서 계속 실행되도록 권장합니다. 이렇게 하면 클러스터가 간단한 내부 상태 표시기를 기반으로 리소스를 이동하지 못합니다. -
migration-threshold=5000을 사용하면 5000 오류가 발생한 후 노드에서 리소스를 다시 시작할 수 있습니다. 이 제한을 초과하면 오류가 지워질 때까지 노드에서 리소스가 차단됩니다. 이렇게 하면 관리자가 반복된 오류의 원인을 조사하고 카운터를 재설정할 때까지 몇 가지 실패 후 리소스 복구를 수행할 수 있습니다.
-
검증
리소스 기본값이 설정되어 있는지 확인합니다.
pcs resource defaults Meta Attrs: build-resource-defaults migration-threshold=5000 resource-stickiness=1000
[root]# pcs resource defaults Meta Attrs: build-resource-defaults migration-threshold=5000 resource-stickiness=1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. systemd 기반 SAP 시작 프레임워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
systemd 통합은 SAP HANA 2.0 SPS07 버전 70 이상에 대해 RHEL 9에 SAP HANA 설치의 기본 동작입니다. HA 환경에서는 클러스터 설정에 관련된 다양한 systemd 서비스를 통합하기 위해 추가 수정을 적용해야 합니다.
HANA 인스턴스 systemd 서비스를 올바른 순서로 관리하도록 pacemaker systemd 서비스를 구성합니다.
사전 요구 사항
systemd 통합을 사용하여 HANA 인스턴스를 설치하고 모든 노드에서 확인합니다. 예를 들면 다음과 같습니다.
systemctl list-units --all SAP* UNIT LOAD ACTIVE SUB DESCRIPTION SAPRH1_02.service loaded active running SAP Instance SAPRH1_02 SAP.slice loaded active active SAP Slice ...
[root]# systemctl list-units --all SAP* UNIT LOAD ACTIVE SUB DESCRIPTION SAPRH1_02.service loaded active running SAP Instance SAPRH1_02 SAP.slice loaded active active SAP Slice ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
프로세스
pacemaker 서비스 드롭인 파일의
/etc/systemd/system/pacemaker.service.d/디렉터리를 생성합니다.mkdir /etc/systemd/system/pacemaker.service.d/
[root]# mkdir /etc/systemd/system/pacemaker.service.d/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여 pacemaker 서비스의
systemd드롭인 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;SID>를 HANA SID로 바꿉니다. -
<
;instance>를 HANA 인스턴스 번호로 바꿉니다.
-
<
systemctl데몬을 다시 로드하여 드롭인 파일을 활성화합니다.systemctl daemon-reload
[root]# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 다른 클러스터 노드에서 1~3단계를 반복합니다.
검증
HANA 인스턴스의 systemd 서비스를 확인하고
로드되었는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow SAP HANA 인스턴스 서비스가 이제 pacemaker 서비스에 알려져 있는지 확인합니다.
systemctl show pacemaker.service | grep SAP Wants=SAPRH1_02.service resource-agents-deps.target dbus-broker.service After=... SAPRH1_02.service rsyslog.service
[root]# systemctl show pacemaker.service | grep SAP Wants=SAPRH1_02.service resource-agents-deps.target dbus-broker.service After=... SAPRH1_02.service rsyslog.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow SAP<SID>_<instance>.service가After=및Wants=목록에 나열되어 있는지 확인합니다.
5.4. SAP HANA HA 구성 요소 설치 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 9의 <arch> - SAP Solutions(RPM) 리포지토리의 HA 클러스터를 설정하기 위한 리소스 에이전트 및 기타 SAP HANA 특정 구성 요소를 제공합니다.
sap-hana-ha RPM 패키지는 HANA 시스템 복제 설정을 관리하기 위한
sap-hana-ha 패키지는 RHEL 9.4 이후만 사용할 수 있습니다. 이전 RHEL 9 릴리스에서 HANA HA에 대한 클러스터를 구성하는 경우 대신 RHEL HA 애드온을 사용하여 SAP HANA scale-Up System Replication 자동화의 지침을 따르십시오.
프로세스
모든 클러스터 노드에
sap-hana-ha패키지를 설치합니다.dnf install sap-hana-ha
[root]# dnf install sap-hana-haCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
패키지가 설치되었는지 모든 노드에서 확인합니다.
rpm -q sap-hana-ha sap-hana-ha-<version>.<release>.noarch
[root]# rpm -q sap-hana-ha sap-hana-ha-<version>.<release>.noarchCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5. srConnectionChanged() 후크 메서드의 HanaSR HA/DR 공급자 구성 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 2.0 SPS0 이상을 사용하여 HA 클러스터 설정에서 HANA 인스턴스를 구성하는 경우 클러스터 설정을 진행하기 전에 SAP HANA srConnectionChanged() 후크 메서드를 활성화하고 테스트해야 합니다.
사전 요구 사항
-
sap-hana-ha패키지가 설치되어 있습니다. - 아직 클러스터에서 HANA 인스턴스를 관리하지 않습니다. 그렇지 않으면 유지 관리 절차를 사용하여 SAP HANA 인스턴스 업데이트 프로세스를 사용하여 후크 스크립트 구성 중에 클러스터가 중단되지 않도록 합니다.
프로세스
<
sid>adm사용자로 모든 노드에서 HANA 인스턴스를 중지합니다.rh1adm $ HDB stop
rh1adm $ HDB stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow HANA 인스턴스가 완전히 중지되었는지 모든 노드에서 <
sid>adm로 확인합니다.rh1adm $ sapcontrol -nr ${TINSTANCE} -function GetProcessList | column -s ',' -t ... name description dispstatus textstatus starttime elapsedtime pid hdbdaemon HDB Daemon GRAY Stopped 5381rh1adm $ sapcontrol -nr ${TINSTANCE} -function GetProcessList | column -s ',' -t ... name description dispstatus textstatus starttime elapsedtime pid hdbdaemon HDB Daemon GRAY Stopped 5381Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;instance>를 HANA 인스턴스 번호로 바꿉니다.
-
<
<
sid>adm사용자 쉘에 내장된 명령 aliascdcoc를 사용하여 <sid>adm사용자로 HANA 구성 디렉토리로 변경합니다. 이렇게 하면/hana/shared/<SID>/global/hdb/custom/config/경로로 자동 변경됩니다.rh1adm $ cdcoc
rh1adm $ cdcocCopy to Clipboard Copied! Toggle word wrap Toggle overflow SAP HANA 인스턴스의
global.ini파일을 업데이트하여HanaSR후크를 구성합니다. 모든 HANA 인스턴스 노드에서 구성 파일을 편집하고 다음 구성을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow execution_order를1로 설정하여HanaSR후크가 항상 가장 높은 우선 순위로 실행되도록 합니다.선택 사항:
hdbindexserver실패에 대한 작업을 수행하기 위해 선택적ChkSrv후크를 구성하려면 동시에global.ini에 변경 사항을 추가할 수 있습니다. srServiceStateChanged() 후크 메서드의 ChkSrv HA/DR 공급자 구성 의 1 단계를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow root사용자로 다음 콘텐츠를 사용하여 각 클러스터 노드에/etc/sudoers.d/20-saphana파일을 만듭니다. 이러한 명령 권한을 사용하면 <sid>adm사용자가 HanaSR 후크 실행의 일부로 특정 클러스터 노드 속성을 업데이트할 수 있습니다.visudo -f /etc/sudoers.d/20-saphana <sid>adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_* Defaults:<sid>adm !requiretty
[root]# visudo -f /etc/sudoers.d/20-saphana <sid>adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_* Defaults:<sid>adm !requirettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Defaults설정이 필요한 이유에 대한 자세한 내용은 복제가 정상 상태인 경우에도 SAP HANA 시스템 복제를 관리하는 Pacemaker 클러스터에서 The srHook 특성을 SFAIL로 설정합니다.
-
HA 클러스터를 시작하지 않고 두 클러스터 노드에서 수동으로 HANA 인스턴스를 시작합니다. <
sid>adm:로 실행rh1adm $ HDB start
rh1adm $ HDB startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
<
sid>adm사용자로 SAP HANA 디렉토리로 변경합니다. 여기서 추적 로그 파일이 저장됩니다. <sid>adm사용자 쉘에 내장된 aliascdtrace명령을 사용합니다.rh1adm $ cdtrace
rh1adm $ cdtraceCopy to Clipboard Copied! Toggle word wrap Toggle overflow HA/DR 공급자 로드 메시지에서 HANA 이름 서버 서비스 로그를 확인합니다.
HanaSR공급자만 구성된 경우 다음을 수행합니다.rh1adm $ grep -he "loading HA/DR Provider.*" nameserver_* loading HA/DR Provider 'HanaSR' from /usr/share/sap-hana-ha/
rh1adm $ grep -he "loading HA/DR Provider.*" nameserver_* loading HA/DR Provider 'HanaSR' from /usr/share/sap-hana-ha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택적
ChkSrv공급자도 구현되는 경우:rh1adm $ grep -he "loading HA/DR Provider.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/ loading HA/DR Provider 'HanaSR' from /usr/share/sap-hana-ha/
rh1adm $ grep -he "loading HA/DR Provider.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/ loading HA/DR Provider 'HanaSR' from /usr/share/sap-hana-ha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
시스템 보안 로그에서 사용자
root로sudo명령이 성공적으로 실행되었는지 확인합니다. sudoers 파일이 올바르지 않으면sudo명령을 실행하면 오류가 기록됩니다.grep -e 'sudo.*crm_attribute.*' /var/log/secure sudo[4267]: rh1adm : PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSR sudo[4319]: rh1adm : PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SOK -t crm_config -s SAPHanaSR
[root]# grep -e 'sudo.*crm_attribute.*' /var/log/secure sudo[4267]: rh1adm : PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSR sudo[4319]: rh1adm : PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SOK -t crm_config -s SAPHanaSRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 두 노드에서 HANA 인스턴스가 시작된 후 일반적으로 몇 가지
srHook특성 업데이트가 표시됩니다. 처음에는 기본이 시작된 직후SFAIL을 설정하는 것입니다. 현재 여전히 동기화되는 보조 항목과 아직 동기화되지 않기 때문입니다.SOK에 대한 마지막 업데이트는 시스템 복제 상태가 마지막으로 완전히 동기화되도록 변경된 후 HANA 이벤트에 의해 트리거됩니다.-
동시에 완료되지 않은 경우 두 번째 인스턴스에서 1-2 단계를 반복합니다. 3단계의
sudo로그 메시지는 시스템 복제 이벤트가 전송되는 기본 인스턴스 노드에만 표시됩니다. 모든 노드에서 클러스터 속성을 확인하고
hana_<sid>_site_srHook_<DC2> 속성 값이 예상대로 업데이트되었는지 확인합니다.cibadmin --query | grep -e 'SAPHanaSR.*srHook' <nvpair id="SAPHanaSR-hana_rh1_site_srHook_DC2" name="hana_rh1_site_srHook_DC2" value="SOK"/>[root]# cibadmin --query | grep -e 'SAPHanaSR.*srHook' <nvpair id="SAPHanaSR-hana_rh1_site_srHook_DC2" name="hana_rh1_site_srHook_DC2" value="SOK"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
SOK는 HANA 시스템 복제가ACTIVE상태일 때 설정되며, 이는 설정되고 완전히 동기화됨을 의미합니다. -
SFAIL은 시스템 복제가 다른 상태에 있을 때 설정됩니다.
-
문제 해결
5.6. srServiceStateChanged() 후크 메서드의 ChkSrv HA/DR 공급자 구성 링크 복사링크가 클립보드에 복사되었습니다!
인덱스 서버 프로세스가 실패한 후 HANA 인스턴스를 중지하거나 종료하려면 더 빠른 복구를 위해 후크 ChkSrv 를 구성할 수 있습니다. 이 구성은 선택 사항입니다.
사전 요구 사항
-
sap-hana-ha패키지가 설치되어 있습니다. -
HanaSRHA/DR 공급자를 구성했습니다. 자세한 내용은 srConnectionChanged() 후크 메서드의 HanaSR HA/DR 공급자 구성을 참조하십시오.
프로세스
HANA 구성 디렉토리로 <
sid>adm사용자로 변경합니다. <sid>adm사용자 쉘에 내장된 명령 aliascdcoc. 이렇게 하면/hana/shared/<SID>/global/hdb/custom/config/경로로 자동 변경됩니다.rh1adm $ cdcoc
rh1adm $ cdcocCopy to Clipboard Copied! Toggle word wrap Toggle overflow 후크 스크립트를 구성하려면 HANA 인스턴스의
global.ini파일을 업데이트합니다. 모든 HANA 인스턴스 시스템에서 구성 파일을 편집하고HanaSR공급자 정의 외에 다음 콘텐츠를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: HA/DR 공급자를 다시 로드하여 HANA가 실행되는 동안
ChkSrv공급자를 활성화합니다. 인스턴스가 다운된 동안 후크 스크립트를 구성할 때 HA/DR 공급자가 다음 인스턴스를 시작할 때 자동으로 로드됩니다.rh1adm $ hdbnsutil -reloadHADRProviders
rh1adm $ hdbnsutil -reloadHADRProvidersCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
<
sid>adm사용자로 SAP HANA 디렉토리로 변경합니다. 여기서 추적 로그 파일이 저장됩니다. <sid>adm사용자 쉘에 내장된 aliascdtrace명령을 사용합니다.rh1adm $ cdtrace
rh1adm $ cdtraceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항이 로드되었는지 확인합니다.
rh1adm $ grep -e "loading HA/DR Provider.*ChkSrv.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/
rh1adm $ grep -e "loading HA/DR Provider.*ChkSrv.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 전용 추적 로그 파일이 생성되고 공급자가 올바른 구성 매개변수를 사용하여 로드되었는지 확인합니다.
rh1adm $ cat nameserver_chksrv.trc init called ChkSrv.init() version 1.001.1, parameter info: action_on_lost=stop stop_timeout=20 kill_signal=9
rh1adm $ cat nameserver_chksrv.trc init called ChkSrv.init() version 1.001.1, parameter info: action_on_lost=stop stop_timeout=20 kill_signal=9Copy to Clipboard Copied! Toggle word wrap Toggle overflow
문제 해결
5.7. HANA 클러스터 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터가 HANA 환경의 상태를 수집하고, 인스턴스 상태를 모니터링하고, 필요한 경우 인스턴스를 관리하기 위해 작업을 수행할 수 있도록 SAPHanaTopology 및 SAPHanaController 리소스를 모두 구성해야 합니다.
SAPHanaFilesystem 리소스는 선택 사항이므로 기본 인스턴스의 파일 시스템을 사용할 수 없게 되는 경우 작업 시간을 개선하기 위해 추가할 수 있습니다.
프로세스
SAPHanaTopology리소스를 복제 리소스로 생성합니다. 즉, 모든 클러스터 노드에서 동시에 실행됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;SID>를 HANA SID로 바꿉니다. <
;instance>를 HANA 인스턴스 번호로 바꿉니다.참고RHEL 9.3 이후 clone 명령에서
meta키워드를 사용하지 않고 속성이 기본 리소스에 자동으로 할당되면 사용 중단 경고가 표시됩니다.나중에 복제 속성에 대한
meta키워드가 복제 리소스에 특성을 할당하는 데 필요합니다. 그 때까지--future매개변수를 추가하여 이미 이 동작을 적용합니다.
-
<
SAPHanaController리소스를 승격 가능한 복제 리소스로 생성합니다. 즉, 모든 클러스터 노드에서 동시에 실행되지만 하나의 노드에서는 활성 또는 기본 인스턴스로 작동합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow AUTOMATED_REGISTER=false로 리소스를 생성한 다음 테스트를 통해 올바른 동작 및 데이터 일관성을 확인하여 설정을 완료하는 것이 좋습니다. 자세한 내용은 설정 테스트를 참조하십시오. 매개변수를 true로 설정하여 생성 시 이미 이를 활성화할 수 있습니다.자세한 내용은 SAPHanaController 리소스 매개변수를 참조하십시오.
SAPHanaTopology는리소스가 올바르게 시작하는 데 필요한 HANA 환경 정보를 수집하기 때문에 SAPHanaTopology를 시작해야 합니다. 두 리소스의 올바른 시작 순서를 적용하는 클러스터 제약 조건을 생성합니다.SAPHanaControllerpcs constraint order cln_SAPHanaTop_<SID>_HDB<instance> \ then cln_SAPHanaCon_<SID>_HDB<instance> symmetrical=false
[root]# pcs constraint order cln_SAPHanaTop_<SID>_HDB<instance> \ then cln_SAPHanaCon_<SID>_HDB<instance> symmetrical=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow symmetrical=false설정은 제약 조건이 리소스의 시작 순서에만 영향을 미치지만 중지 순서에는 적용되지 않음을 나타냅니다.선택 사항:
SAPHanaFilesystem리소스를 복제 리소스로 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ON_FAIL_ACTION=fence를 설정하는 대신무시하도록 설정할 수 있습니다. 이는 먼저 기능을 테스트하는 데 유용할 수 있습니다. 리소스는 시스템 로그에 정보를 쓰며,fence작업을 사용하기 위해 리소스를 활성화할 때 리소스가 원하는 작업을 수행하는지 여부를 조사할 수 있습니다.
검증
SAPHanaTopology리소스 복제를 검토합니다. 리소스 구성의 예:Copy to Clipboard Copied! Toggle word wrap Toggle overflow SAPHanaController리소스 복제를 검토합니다. 리소스 구성의 예:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시작 순서 제약 조건이 있는지 확인합니다.
pcs constraint order Order Constraints: start resource 'cln_SAPHanaTop_RH1_HDB02' then start resource 'cln_SAPHanaCon_RH1_HDB02' symmetrical=0[root]# pcs constraint order Order Constraints: start resource 'cln_SAPHanaTop_RH1_HDB02' then start resource 'cln_SAPHanaCon_RH1_HDB02' symmetrical=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
SAPHanaFilesystem리소스 복제를 생성한 경우 검토합니다. 리소스 구성의 예:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 확인합니다.
--full을 사용하여 HANA 리소스에서 업데이트하는 노드 속성을 포함합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
리소스 작업에 표시된 시간 초과는 기본값만 권장하며 SAP HANA 환경에 따라 조정할 수 있습니다. 예를 들어 대규모 SAP HANA 데이터베이스는 시작하는 데 시간이 오래 걸릴 수 있으므로 시작 시간 초과를 늘려야 할 수 있습니다.
AUTOMATED_REGISTER 를 true 로 설정하면 데이터 손실 또는 손상 위험이 증가할 수 있습니다. 보조 HANA 인스턴스의 데이터가 완전히 동기화되지 않을 때 HA 클러스터에서 가져오기를 트리거하면 새 보조 HANA 인스턴스가 자동으로 등록되면 이 인스턴스에서 데이터가 손실되고 수집이 발생하기 전에 동기화되지 않은 모든 데이터가 손실됩니다.
자세한 내용은 멤버용 SAP 기술 블로그의 문서를 참조하십시오. SAP HANA용 Pacemaker 클러스터 사용 준비 - 2부 - 두 노드의 실패에서 참조하십시오.
5.8. 가상 IP 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
현재 실행 중인 클러스터 노드와 독립적으로 기본 HANA 인스턴스에 액세스하도록 SAP 클라이언트에 대한 가상 IP(VIP) 리소스를 구성해야 합니다. 기본 인스턴스가 실행 중인 노드로 자동으로 이동하도록 VIP 리소스를 구성합니다.
VIP 리소스에 필요한 리소스 에이전트는 사용된 플랫폼에 따라 다릅니다. IPaddr2 리소스 에이전트를 사용하여 설정을 시연합니다.
사전 요구 사항
- 서비스의 가상 IP를 예약했습니다.
프로세스
HA 클러스터가 실행 중인 플랫폼에 따라 가상 IP 주소를 관리하기 위해 적절한 리소스 에이전트를 사용합니다. 사용 중인 리소스 에이전트에 따라 매개변수를 조정합니다. 예를 들어
IPaddr2에이전트를 사용하여 기본 가상 IP의 클러스터 리소스를 생성합니다.pcs resource create rsc_vip_<SID>_HDB<instance>_primary \ ocf:heartbeat:IPaddr2 ip=<address> cidr_netmask=<netmask> nic=<device>
[root]# pcs resource create rsc_vip_<SID>_HDB<instance>_primary \ ocf:heartbeat:IPaddr2 ip=<address> cidr_netmask=<netmask> nic=<device>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;SID>를 HANA SID로 바꿉니다. -
<
;instance>를 HANA 인스턴스 번호로 바꿉니다. -
<
address> , <netmask> 및 <device>를 기본 가상 IP 주소의 세부 정보로 바꿉니다.
-
<
HANA 기본 노드에
SAPHanaController리소스에 VIP 리소스를 배치하는 클러스터 제약 조건을 생성합니다.pcs constraint colocation add rsc_vip_<SID>_HDB<instance>_primary \ with promoted cln_SAPHanaCon_<SID>_HDB<instance> 2000
[root]# pcs constraint colocation add rsc_vip_<SID>_HDB<instance>_primary \ with promoted cln_SAPHanaCon_<SID>_HDB<instance> 2000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 제약 조건은 기본
INFINITY대신2000점수를 적용합니다. 이렇게 하면 리소스 종속성이 완화되고 승격된SAPHanaController리소스가 없는 경우 가상 IP 리소스가 활성 상태를 유지할 수 있습니다. 이렇게 하면 이 IP 주소에 도달하여 HANA 인스턴스의 상태 정보를 쿼리할 수 있는 SAP Management Console(MMC) 또는 SAP Cryostatscape Management(LaMa)와 같은 도구를 계속 사용할 수 있습니다.
검증
가상 IP 리소스의 리소스 구성을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 제약 조건이 올바르게 정의되었는지 확인합니다.
pcs constraint colocation Colocation Constraints: Started resource 'rsc_vip_RH1_HDB02_primary' with Promoted resource 'cln_SAPHanaCon_RH1_HDB02' score=2000[root]# pcs constraint colocation Colocation Constraints: Started resource 'rsc_vip_RH1_HDB02_primary' with Promoted resource 'cln_SAPHanaCon_RH1_HDB02' score=2000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.9. 보조 (읽기 사용) 가상 IP 주소 추가 링크 복사링크가 클립보드에 복사되었습니다!
Active/Active(읽기 가능) 보조 설정을 지원하려면 보조 SAP HANA 인스턴스에 대한 클라이언트 액세스를 제공하기 위해 두 번째 가상 IP를 추가해야 합니다.
두 번째 가상 IP가 항상 정상 SAP HANA 인스턴스와 연결되도록 추가 규칙을 구성하여 클라이언트 액세스 및 가용성을 극대화합니다.
정상적인 작업
기본 및 보조 SAP HANA 인스턴스가 모두 활성 상태이고 복제가 동기화되면 두 번째 가상 IP가 보조 노드에 할당됩니다.
보조를 사용할 수 없거나 동기화되지 않음
보조 인스턴스가 다운되거나 복제가 동기화되지 않으면 가상 IP가 기본 노드로 이동합니다. 시스템 복제가 동기화되는 즉시 보조 노드로 자동 반환됩니다.
장애 조치 시나리오
클러스터가 인수를 트리거하는 경우 가상 IP는 동일한 노드에 유지됩니다. 이전 기본 노드가 보조 역할을 인수하고 복제가 다시 동기화되면 이 VIP는 그에 따라 이동합니다.
사전 요구 사항
-
시스템 복제를 위해 보조 SAP HANA 인스턴스를 기본 에 등록할 때
operationMode=logreplay_readaccess를 설정합니다.
프로세스
HA 클러스터가 실행 중인 플랫폼에 따라 가상 IP 주소를 관리하기 위해 적절한 리소스 에이전트를 사용합니다. 사용 중인 리소스 에이전트에 따라 매개변수를 조정합니다. 보조 가상 IP의 클러스터 리소스(예:
IPaddr2에이전트 사용)를 생성합니다.pcs resource create rsc_vip_<SID>_HDB<instance>_readonly \ ocf:heartbeat:IPaddr2 ip=<address> cidr_netmask=<netmask> nic=<device>
[root]# pcs resource create rsc_vip_<SID>_HDB<instance>_readonly \ ocf:heartbeat:IPaddr2 ip=<address> cidr_netmask=<netmask> nic=<device>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;SID>를 HANA SID로 바꿉니다. -
<
;instance>를 HANA 인스턴스 번호로 바꿉니다. -
<
address> , <netmask> 및 <device>를 읽기 전용 보조 가상 IP 주소의 세부 정보로 바꿉니다.
-
<
위치 제약 조건 규칙을 생성하여 일반 작업 중에 보조 가상 IP가 보조 인스턴스에 할당되도록 합니다.
pcs constraint location rsc_vip_<SID>_HDB<instance>_readonly \ rule score=INFINITY master-rsc_SAPHanaCon_<SID>_HDB<instance> eq 100 \ and hana_<sid>_clone_state eq DEMOTED
[root]# pcs constraint location rsc_vip_<SID>_HDB<instance>_readonly \ rule score=INFINITY master-rsc_SAPHanaCon_<SID>_HDB<instance> eq 100 \ and hana_<sid>_clone_state eq DEMOTEDCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;SID>를 HANA SID로 바꿉니다. -
&
lt;sid>를 소문자 HANA SID로 바꿉니다. -
<
;instance>를 HANA 인스턴스 번호로 바꿉니다.
-
<
위치 제약 조건 규칙을 생성하여 필요한 경우 보조 가상 IP가 기본 인스턴스에서 대안으로 실행되는지 확인합니다.
pcs constraint location rsc_vip_<SID>_HDB<instance>_readonly \ rule score=2000 master-rsc_SAPHanaCon_<SID>_HDB<instance> eq 150 \ and hana_<sid>_clone_state eq PROMOTED
[root]# pcs constraint location rsc_vip_<SID>_HDB<instance>_readonly \ rule score=2000 master-rsc_SAPHanaCon_<SID>_HDB<instance> eq 150 \ and hana_<sid>_clone_state eq PROMOTEDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
제약 조건이 클러스터 구성의 일부인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6장. 설정 테스트 링크 복사링크가 클립보드에 복사되었습니다!
프로덕션 워크로드에 대해 활성화하기 전에 새 HANA HA 클러스터를 철저히 테스트합니다.
특정 요구 사항을 사용하여 기본 예제 테스트 사례를 개선합니다.
6.1. 시스템 복제 상태 변경 감지 링크 복사링크가 클립보드에 복사되었습니다!
HanaSR HA/DR 공급자의 올바른 기능을 테스트하려면 시스템 복제를 중단할 때 로그 및 클러스터 속성의 동기화 상태 정보를 모니터링해야 합니다.
이 테스트에서는 시스템 복제 상태를 모니터링하고 로그 메시지를 확인하는 데 기본 인스턴스가 사용됩니다. 보조 인스턴스는 보조 인스턴스 indexserver 프로세스를 중지하여 복제 문제를 시뮬레이션하는 반면 기본 인스턴스는 완전히 그대로 유지됩니다.
사전 요구 사항
-
필수
HanaSRHA/DR 공급자를 구성했습니다. - HANA 인스턴스는 모든 클러스터 노드에서 정상 상태가 되고 시스템 복제가 동기화되어 있습니다.
프로세스
사용자 &
lt;sid>adm이 기본 인스턴스의 HANA Python 디렉터리로 이동하여 현재 시스템 복제 상태를 확인합니다. 이 값이ACTIVE이고 완전히 동기화되었는지 확인합니다.rh1adm $ cdpy; python systemReplicationStatus.py
rh1adm $ cdpy; python systemReplicationStatus.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 노드의 특성 요약에서
srHook및srPoll클러스터 속성이 모두SOK인지 확인합니다. 별도의 터미널의 모든 노드에서root사용자로 이 명령을 실행하여 속성 변경 사항을 추적합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch명령을 사용하여 기본 간격인 2초에 루프에서 다음 명령을 실행합니다.보조 인스턴스에서
hdbindexserver프로세스의 프로세스 ID(PID)를 가져옵니다(예: 사용자 <sid>adm:)로HDB 정보 출력의PID열에서 가져옵니다.rh1adm $ HDB info
rh1adm $ HDB infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 인스턴스에서
STOP신호를 프로세스로 전송하여 중단hdbindexserver프로세스를 시뮬레이션합니다. 이렇게 하면 프로세스가 중지되고 노드 간에 인스턴스가 통신 및 동기화되지 않습니다. 주에서 완료되면 결과가 동일하지 않으므로 보조 인스턴스에서 이 작업을 실행해야 합니다.rh1adm $ kill -STOP <PID>
rh1adm $ kill -STOP <PID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
기본 인스턴스에서 변경 사항에 대한 시스템 복제 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제 상태는 약간 후에 indexserver 서비스에 대해
ERROR로 변경됩니다. 유휴 인스턴스에 응답하는 데 시간이 걸릴 수 있습니다. 1분 이상 기다립니다.기본 인스턴스에서 <
sid>adm사용자로 관련 메시지에 대한 HANA 네임서버 로그를 확인합니다.rh1adm $ cdtrace; grep -he 'HanaSR.srConnectionChanged.*' nameserver_* ha_dr_provider PythonProxyImpl.cpp(01113) : calling HA/DR provider HanaSR.hookDRConnectionChanged(hostname=node1, port=34203, volume=3, service_name=indexserver, database=RH1, status=11, database_status=11, system_status=11, timestamp=*****, is_in_sync=0, system_is_in_sync=0, reason=, siteName=DC2) ha_dr_HanaSR HanaSR.py(00056) : HanaSR 1.001.1 HanaSR.srConnectionChanged method called with Dict={'hostname': 'node1', 'port': '34203', 'volume': 3, 'service_name': 'indexserver', 'database': 'RH1', 'status': 11, 'database_status': 11, 'system_status': 11, 'timestamp': '*****', 'is_in_sync': False, 'system_is_in_sync': False, 'reason': '', 'siteName': 'DC2'} ha_dr_HanaSR HanaSR.py(00065) : HanaSR HanaSR.srConnectionChanged system_status=11 SID=RH1 in_sync=False reason= ha_dr_HanaSR HanaSR.py(00091) : HanaSR.srConnectionChanged() CALLING CRM: <sudo /usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSR> ret_code=0rh1adm $ cdtrace; grep -he 'HanaSR.srConnectionChanged.*' nameserver_* ha_dr_provider PythonProxyImpl.cpp(01113) : calling HA/DR provider HanaSR.hookDRConnectionChanged(hostname=node1, port=34203, volume=3, service_name=indexserver, database=RH1, status=11, database_status=11, system_status=11, timestamp=*****, is_in_sync=0, system_is_in_sync=0, reason=, siteName=DC2) ha_dr_HanaSR HanaSR.py(00056) : HanaSR 1.001.1 HanaSR.srConnectionChanged method called with Dict={'hostname': 'node1', 'port': '34203', 'volume': 3, 'service_name': 'indexserver', 'database': 'RH1', 'status': 11, 'database_status': 11, 'system_status': 11, 'timestamp': '*****', 'is_in_sync': False, 'system_is_in_sync': False, 'reason': '', 'siteName': 'DC2'} ha_dr_HanaSR HanaSR.py(00065) : HanaSR HanaSR.srConnectionChanged system_status=11 SID=RH1 in_sync=False reason= ha_dr_HanaSR HanaSR.py(00091) : HanaSR.srConnectionChanged() CALLING CRM: <sudo /usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSR> ret_code=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이름 서버 로그에는 세부 정보와 함께 HANA가 트리거하는 이벤트가 포함되어 있습니다. 또한
HanaSR후크 스크립트에서srHook클러스터 속성을 업데이트하기 위해 실행하는sudo명령이 포함되어 있습니다.시스템 복제 상태인
srHook및srPoll의 클러스터 속성이 모두 보조 항목의SFAIL상태를 표시하는지 확인합니다. 모든 노드에서root사용자로 실행하거나 절차 3단계에서 open 터미널을 사용하여 변경 사항을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 인스턴스에서 이전에 고정
hdbindexserverPID를 차단 해제하여 다시 활성화합니다.rh1adm $ kill -CONT <PID>
rh1adm $ kill -CONT <PID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1~3단계를 반복하여 시스템 복제가 약간 후에 완전히 복구되는지 확인합니다. 리소스가 계속 실행 중인 상태로 유지되므로 이 테스트 중에 클러스터는 작업을 트리거하지 않습니다.
6.2. 인덱스 서버 충돌 복구 트리거 링크 복사링크가 클립보드에 복사되었습니다!
hdbindexserver 프로세스의 충돌을 시뮬레이션하여 ChkSrv HA/DR 공급자의 기능을 테스트합니다. 기본 또는 보조 인스턴스에서 이 작업을 실행할 수 있습니다. 정확한 복구 작업은 전체 구성에 따라 달라집니다.
사전 요구 사항
-
ChkSrvHA/DR 공급자를 구성했습니다. 이 선택적 후크를 설정하지 않은 경우 이 테스트를 건너뜁니다. - HANA 인스턴스에는 정상 HANA 시스템 복제가 있습니다.
- 클러스터 상태에 오류가 없습니다.
프로세스
별도의 터미널을 사용하여 HANA 인스턴스 프로세스를 사용자 <
sid>adm:으로 모니터링합니다.rh1adm $ watch "sapcontrol -nr ${TINSTANCE} -function GetProcessList | column -s ',' -t"rh1adm $ watch "sapcontrol -nr ${TINSTANCE} -function GetProcessList | column -s ',' -t"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다른 터미널에서
hdbindexserver프로세스를 종료합니다.rh1adm $ kill <PID>
rh1adm $ kill <PID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
동일한 인스턴스에서 전용 HANA 추적 로그를 확인하고 <
sid>adm :과 같이 이벤트 및관련 작업을 식별합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow root사용자로 리소스 실패 정보의 클러스터 상태를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow root사용자로 클러스터 측의 관련 작업의 시스템 로그를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
SAPHanaController리소스 모니터는 예기치 않게 중지된 HANA 인스턴스를 실패로 보고하고 구성에 따라 복구 단계를 시작합니다.PREFER_SITE_TAKEOVER가 활성화되고 기본 인스턴스에서 테스트가 실행된 경우 HANA가 보조 인스턴스로 복구됩니다.
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
- 구성에 따라 중지된 이전 기본 HANA 인스턴스를 수동으로 다시 등록하고 HANA 툴을 사용하여 시작합니다. 자세한 내용은 takeover 후 이전 기본 등록을 참조하십시오.
6.3. 클러스터 명령을 사용하여 HANA 인수 트리거 링크 복사링크가 클립보드에 복사되었습니다!
cluster 명령을 사용하여 승격된 리소스를 다른 노드로 이동하고 기본 인스턴스를 보조 인스턴스로 수동으로 테스트할 수 있습니다.
사전 요구 사항
- HANA 인스턴스에는 정상 HANA 시스템 복제가 있습니다.
- 클러스터 상태에 오류가 없습니다.
프로세스
기본 인스턴스를 보조 노드로 전환합니다. 모든 노드에서
root사용자로 클러스터 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
이제
SAPHanaController리소스가 다른 노드에서 승격되었는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 기본 인스턴스의 상태는
SAPHanaController리소스의AUTOMATED_REGISTER매개 변수에 따라 다릅니다.AUTOMATED_REGISTER가false인 경우 수동 조작까지 인스턴스가 중지됩니다. 그렇지 않으면 인스턴스가 자동으로 다시 시작되고 새 보조 인스턴스로 다시 등록합니다.
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
- 구성에 따라 중지된 이전 기본 HANA 인스턴스를 수동으로 다시 등록하고 HANA 툴을 사용하여 시작합니다. 자세한 내용은 takeover 후 이전 기본 등록을 참조하십시오.
6.4. SAPHanaFilesystem 실패 작업 트리거 링크 복사링크가 클립보드에 복사되었습니다!
모니터링된 디렉터리에 대한 쓰기 액세스를 차단하여 SAPHanaFilesystem 리소스의 올바른 동작을 테스트합니다. 두 인스턴스에서 모두 테스트할 수 있습니다. 기본 인스턴스만 실패 및 복구 작업을 트리거합니다. 보조 노드에서 리소스는 작업을 트리거하지 않습니다.
사전 요구 사항
-
SAPHanaFilesystem리소스를 구성했습니다. 이 선택적 리소스를 구성하지 않은 경우 이 테스트를 건너뜁니다.
프로세스
SAPHanaFilesystem리소스에서 읽기 및 쓰기 파일 시스템 액세스를 테스트하는 데 사용하는 숨겨진 디렉터리로 이동합니다.cd /hana/shared/<SID>/.heartbeat_SAPHanaFilesystem/<node>
[root]# cd /hana/shared/<SID>/.heartbeat_SAPHanaFilesystem/<node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존
테스트파일을 변경할 수 없도록 설정하여 리소스 모니터의 쓰기 액세스를 방지합니다.chattr +i test
[root]# chattr +i testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시뮬레이션된 실패 중에 동작을 확인합니다.
리소스 작업이
무시로 설정된 경우 관련 로그 메시지의/var/log/messages파일을 확인할 수 있습니다.grep ON_FAIL_ACTION /var/log/messages ... node1 SAPHanaFilesystem(rsc_SAPHanaFil_RH1_HDB02)[715184]: INFO: -2- RA monitor() ON_FAIL_ACTION=ignore => ignore FS error, do not create poison pill file
[root]# grep ON_FAIL_ACTION /var/log/messages ... node1 SAPHanaFilesystem(rsc_SAPHanaFil_RH1_HDB02)[715184]: INFO: -2- RA monitor() ON_FAIL_ACTION=ignore => ignore FS error, do not create poison pill fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스 작업이
fence로 설정된 경우 차단 동작을 확인할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
테스트 후 이 차단기를 다시 제거해야 합니다. 노드가 펜싱된 경우 노드가 다시 실행된 후 이 작업을 수행합니다.
chattr -i test
[root]# chattr -i testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
- 구성에 따라 중지된 이전 기본 HANA 인스턴스를 수동으로 다시 등록하고 HANA 툴을 사용하여 시작합니다. 자세한 내용은 takeover 후 이전 기본 등록을 참조하십시오.
6.5. 기본 인스턴스로 노드 충돌 링크 복사링크가 클립보드에 복사되었습니다!
HANA 클러스터 리소스의 동작을 테스트하기 위해 기본 인스턴스가 실행 중인 클러스터 노드의 충돌을 시뮬레이션합니다.
사전 요구 사항
- HANA 인스턴스에는 정상 HANA 시스템 복제가 있습니다.
- 클러스터 상태에 오류가 없습니다.
프로세스
기본 노드에서 충돌을 트리거합니다. 이 명령을 실행하면 추가 경고 없이 즉시 노드가 중단됩니다.
echo c > /proc/sysrq-trigger
[root]# echo c > /proc/sysrq-triggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
보조 노드의 클러스터는 기본 노드를 펜싱합니다.
pcs status --full ... Pending Fencing Actions: * reboot of node1 pending: client=pacemaker-controld.1685, origin=node2 ...
[root]# pcs status --full ... Pending Fencing Actions: * reboot of node1 pending: client=pacemaker-controld.1685, origin=node2 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 보조를 인수하고 새 기본 설정으로 승격합니다.
-
펜싱 및
SAPHanaController리소스 구성에 따라 펜싱 기본 노드가 복구됩니다.
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
- 구성에 따라 중지된 이전 기본 HANA 인스턴스를 수동으로 다시 등록하고 HANA 툴을 사용하여 시작합니다. 자세한 내용은 takeover 후 이전 기본 등록을 참조하십시오.
6.6. 보조 인스턴스로 노드 충돌 링크 복사링크가 클립보드에 복사되었습니다!
HANA 클러스터 리소스의 동작을 테스트하기 위해 보조 인스턴스가 실행 중인 클러스터 노드의 충돌을 시뮬레이션합니다.
프로세스
보조 노드에서 충돌을 트리거합니다. 이 명령을 실행하면 추가 경고 없이 즉시 노드가 중단됩니다.
echo c > /proc/sysrq-trigger
[root]# echo c > /proc/sysrq-triggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
기본 노드의 클러스터는 보조 노드를 펜싱합니다.
pcs status --full ... Pending Fencing Actions: * reboot of node2 pending: client=pacemaker-controld.1694, origin=node1 ...
[root]# pcs status --full ... Pending Fencing Actions: * reboot of node2 pending: client=pacemaker-controld.1694, origin=node1 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 기본 인스턴스는 보조 노드를 재시작하고 복구하는 동안 계속 실행됩니다. 펜싱된 노드 복구는 펜싱 구성에 따라 다릅니다.
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
6.7. SAP 명령을 사용하여 기본 인스턴스 중지 링크 복사링크가 클립보드에 복사되었습니다!
HANA 명령을 사용하여 클러스터 외부에서 기본 HANA 인스턴스를 관리할 때 클러스터의 동작을 테스트합니다.
클러스터에서 HANA 명령 실행을 인식하지 못하므로 오류로 변경 사항을 감지하고 구성된 복구 작업을 트리거합니다.
사전 요구 사항
- HANA 인스턴스에는 정상 HANA 시스템 복제가 있습니다.
- 클러스터 상태에 오류가 없습니다.
프로세스
클러스터 외부의 <
sid>adm사용자로 기본 인스턴스를 중지합니다.rh1adm $ HDB stop
rh1adm $ HDB stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클러스터에서 중지된 인스턴스를 실패로 확인하고 기본 인스턴스의 복구를 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SAPHanaController리소스에서PREFER_SITE_TAKEOVER및AUTOMATED_REGISTER매개변수를 모두 구성 및 활성화하면 클러스터는 HANA가 보조 인스턴스에 대한 복구를 트리거하고 새 보조로 실패한 기본 항목을 자동으로 등록합니다. 그렇지 않으면 구성에 따라 실패한 기본 설정을 복구합니다.
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
- 구성에 따라 중지된 이전 기본 HANA 인스턴스를 수동으로 다시 등록하고 HANA 툴을 사용하여 시작합니다. 자세한 내용은 takeover 후 이전 기본 등록을 참조하십시오.
6.8. SAP 명령을 사용하여 보조 인스턴스 중지 링크 복사링크가 클립보드에 복사되었습니다!
HANA 명령을 사용하여 클러스터 외부에서 보조 HANA 인스턴스를 관리할 때 클러스터의 동작을 테스트합니다.
클러스터에서 HANA 명령 실행을 인식하지 못하므로 오류로 변경 사항을 감지하고 구성된 복구 작업을 트리거합니다.
사전 요구 사항
- 클러스터 상태에 오류가 없습니다.
프로세스
클러스터 외부의 <
sid>adm사용자로 보조 인스턴스를 중지합니다.rh1adm $ HDB stop
rh1adm $ HDB stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클러스터에서 중지된 인스턴스를 실패로 확인하고 보조를 복구합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
- 이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 자세한 내용은 실패 기록 정리를 참조하십시오.
7장. 설정 완료 링크 복사링크가 클립보드에 복사되었습니다!
최종 설정이 완료되고 시스템 및 리소스가 정상인지 확인한 다음 프로덕션 워크로드에 맞게 환경을 활성화할 수 있습니다.
7.1. 인수 후 HANA 자동 등록 활성화 링크 복사링크가 클립보드에 복사되었습니다!
이전에 실패한 기본 인스턴스가 데이터 일관성을 수동으로 확인하지 않고 완전히 작동하는 보조 인스턴스로 자동 복구하려면 SAPHanaController 리소스를 활성화하여 사용 후 바로 인스턴스를 다시 등록할 수 있습니다.
이렇게 하면 이전에 실패한 기본 인스턴스가 HANA 시스템 복제를 계속할 수 있으며 새 기본 인스턴스가 새로 실패할 경우 자동으로 다시 대체됩니다.
HANA Operator는 먼저 이전에 실패한 인스턴스의 상태를 수동으로 점검하고 나중에 인스턴스를 다시 등록하거나 우선 순위가 전체 고가용성의 자동 복구에 더 빠른지 여부를 결정해야 합니다.
프로세스
SAPHanaController리소스를 업데이트하고 기본AUTOMATED_REGISTER를 재정의합니다.pcs resource update rsc_SAPHanaCon_<SID>_HDB<instance> AUTOMATED_REGISTER=true
[root]# pcs resource update rsc_SAPHanaCon_<SID>_HDB<instance> AUTOMATED_REGISTER=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
AUTOMATED_REGISTER가true로 설정되어 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AUTOMATED_REGISTER 를 true 로 설정하면 데이터 손실 또는 손상 위험이 증가할 수 있습니다. 보조 HANA 인스턴스의 데이터가 완전히 동기화되지 않을 때 HA 클러스터에서 가져오기를 트리거하면 새 보조 HANA 인스턴스가 자동으로 등록되면 이 인스턴스에서 데이터가 손실되고 수집이 발생하기 전에 동기화되지 않은 모든 데이터가 손실됩니다.
자세한 내용은 멤버용 SAP 기술 블로그의 문서를 참조하십시오. SAP HANA용 Pacemaker 클러스터 사용 준비 - 2부 - 두 노드의 실패에서 참조하십시오.
7.2. 최종 클러스터 상태 검토 링크 복사링크가 클립보드에 복사되었습니다!
스케일 업 HANA 시스템 복제 설정에 대한 2-노드 클러스터의 구성 후 다음 예와 같이 표시됩니다.
보조 인스턴스에서 읽기 전용 액세스에 대한 선택적 SAPHanaFilesystem 리소스와 선택적 두 번째 가상 IP를 구성하지 않은 경우 설정에서 약간 벗어날 수 있습니다.
또한 시스템 부팅 시 자동으로 시작되지 않도록 클러스터 서비스를 비활성화할지 여부를 결정할 수 있습니다. 이를 위해서는 모든 시스템 부팅 시 수동 개입이 필요하지만 시작에 대한 더 많은 제어 및 감독이 가능합니다.
전체 정상 설정에서는 다음과 같이 추가 클러스터 속성이 표시됩니다.
8장. 유지 관리 절차 링크 복사링크가 클립보드에 복사되었습니다!
클러스터가 계획되지 않은 영향을 미치지 않도록 하려면 특정 단계를 적용해야 SAP HANA 시스템 복제 HA 환경의 다양한 구성 요소를 유지 관리할 수 있습니다.
계획된 변경 활동 중에 클러스터를 정상 상태로 유지하거나 계획되지 않은 사고 후 상태를 복원하려면 유지 관리 절차를 사용하십시오.
8.1. 실패 내역 정리 링크 복사링크가 클립보드에 복사되었습니다!
이전 테스트에서 있을 수 있는 클러스터의 실패 알림을 지웁니다. 이렇게 하면 실패 카운터 및 마이그레이션 임계값이 재설정됩니다.
프로세스
리소스 오류를 정리합니다.
pcs resource cleanup
[root]# pcs resource cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow STONITH 실패 기록을 정리합니다.
pcs stonith history cleanup
[root]# pcs stonith history cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
전체 클러스터 상태를 확인하고 더 이상 오류가 표시되지 않는지 확인합니다.
pcs status --full
[root]# pcs status --fullCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 펜싱 작업의 stonith 기록에 0개의 이벤트가 있는지 확인합니다.
pcs stonith history
[root]# pcs stonith history
8.2. 클러스터 명령을 사용하여 HANA 인수 트리거 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 제어를 사용하여 기본 인스턴스를 다른 노드로 간단하게 적용할 수 있습니다.
자세한 단계는 설정 테스트 섹션 - 클러스터 명령을 사용하여 HANA 인수 트리거를 참조하십시오.
8.3. OS 및 HA 클러스터 구성 요소 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
HA 클러스터, OS 또는 시스템 하드웨어에서 업데이트 또는 오프라인 변경의 경우 RHEL High Availability 또는 Resilient Storage 클러스터에 소프트웨어 업데이트를 적용하기 위한 권장 사례를 따라야 합니다.
8.4. SAP HANA 인스턴스에서 유지 관리 수행 링크 복사링크가 클립보드에 복사되었습니다!
HA 클러스터에서 관리하는 모든 종류의 애플리케이션 또는 기타 구성 요소의 경우 유지 관리 중에 클러스터가 간섭하지 않도록 클러스터 유지 관리 모드를 활성화해야 합니다.
HANA 인스턴스를 업데이트하는 동안 클러스터는 계속 실행 중이지만 리소스를 적극적으로 모니터링하거나 작업을 수행하지는 않습니다. HANA 인스턴스의 변경이 완료되면 클러스터 리소스 상태를 새로 고치고 탐지된 리소스 상태가 모두 올바른지 확인하는 것이 중요합니다. 그러면 예기치 않은 클러스터 작업 없이 유지 관리 모드를 다시 비활성화할 수 있습니다.
유지 관리 활동을 위해 클러스터를 중지해야 하는 경우 먼저 유지 관리 모드를 설정한 다음 HANA 유지 관리에 필요한 대로 노드에서 클러스터를 중지하고 시작합니다.
사전 요구 사항
- HANA 시스템 복제를 관리하도록 Pacemaker 클러스터를 구성했습니다.
프로세스
전체 클러스터에 대한
유지 관리모드를 설정합니다.pcs property set maintenance-mode=true
[root]# pcs property set maintenance-mode=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 전체 클러스터에 대한 유지 관리를 설정하면 유지 관리 단계 중 활동이 클러스터 작업을 트리거하고 HANA 업데이트 프로세스에 영향을 미치지 않습니다.
클러스터 리소스 관리가 완전히 비활성화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SAP 절차를 사용하여 HANA 인스턴스를 업데이트합니다. HANA 업데이트 중에 테이오버를 수행해야 하는 경우 SAP HANA Takeover with Handshake 옵션을 사용할 수 있습니다. 자세한 내용은 HANA 시스템 복제 관리를 위한 HA Solutions와 함께 SAP HANA "Takeover with Handshake" 옵션을 사용할 수도 있습니다.
이 단계에서 클러스터를 중지한 경우 다음 단계를 진행하기 전에 다시 시작해야 합니다. 유지 관리 모드를 활성화합니다.
HANA 업데이트 후 HANA 시스템 복제가 올바르게 작동하는지 확인합니다.
systemReplicationStatus.py스크립트를 사용하여 기본 인스턴스에서 HANA 시스템 복제 상태를 표시합니다. 다음은 유지 관리 중에 node2에 대한 사후 수동 인수의 예입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 진행하기 전에 시스템 복제가 정상이고
ACTIVE로 보고되었는지 확인합니다.모든 클러스터 리소스를 새로 고침하여 하나의 모니터링 작업을 실행하고 상태를 업데이트합니다.
pcs resource refresh Waiting for 1 reply from the controller ... got reply (done)
[root]# pcs resource refresh Waiting for 1 reply from the controller ... got reply (done)Copy to Clipboard Copied! Toggle word wrap Toggle overflow HANA 리소스에서 새 HANA 시스템 복제 상태를 반영하려면 클러스터 및 노드 속성을 업데이트하는 것이 중요합니다. 유지 관리가 중지된 후 클러스터에 올바른 정보가 있고 잘못된 상태 정보로 인해 복구 작업을 트리거하지 않도록 합니다.
클러스터 상태를 확인하고 리소스 상태 및 기본 HANA 리소스 점수 특성을 확인합니다. 모든 리소스는
Started로 표시되고 승격 가능한 리소스는 모든 노드에서Unpromoted로 표시되어야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 특성을 확인하고
srHook,roles및score속성이 올바른 새 상태에 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
srHook는 기본 인스턴스를 실행하는 노드에서PRIM이며 올바른 보조 데이터베이스에SOK를 표시합니다. -
점수는기본 노드가 실행 중인 노드의150이고 다른 노드에서는100입니다.
-
단계 6 및 7의 검사에 예상 정상 상태의 환경을 표시하는 경우 클러스터의 유지 관리 모드를 다시 제거할 수 있습니다.
pcs property set maintenance-mode=
[root]# pcs property set maintenance-mode=Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유지 관리를 사용하면 모든 리소스의 모니터 실행을 다시 트리거합니다. 클러스터는 승격 가능한 리소스의 상태를 기본 및 보조 인스턴스의 위치에 대응하여
Promoted및Unpromoted로 업데이트합니다. 이제 리소스는srHook특성 값과 일치하도록srPoll특성을 다시 업데이트합니다.
8.5. 수취 후 첫 번째 기본 등록 링크 복사링크가 클립보드에 복사되었습니다!
기본값인 SAPHanaController 리소스에서 AUTOMATED_REGISTER=false 를 구성하는 경우 이 리소스를 인수한 후 이전 기본 인스턴스를 수동으로 새 보조 서버로 등록해야 합니다. 그렇지 않으면 등록되지 않은 인스턴스가 중지된 상태로 유지됩니다.
프로세스
이전 기본을 새 보조로 등록합니다. 중지된 이전 기본 인스턴스에서
사용자 <sid>adm으로 실행합니다.rh1adm $ hdbnsutil -sr_register --remoteHost=<node> \ --remoteInstance=${TINSTANCE} --replicationMode=sync \ --operationMode=logreplay --name=<DC>rh1adm $ hdbnsutil -sr_register --remoteHost=<node> \ --remoteInstance=${TINSTANCE} --replicationMode=sync \ --operationMode=logreplay --name=<DC>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 node1에서 node2로 인수하는 경우 node2와 같이 새 기본 인스턴스 호스트로 바꿉니다. -
&
lt;DC>를 새 보조 HANA 사이트 이름으로 바꿉니다(예: node1을 보조로 등록해야 하는 경우 DC1). -
시스템 복제의 요구 사항에 따라
replicationMode및operationMode의 값을 선택합니다. -
TINSTANCE는 HANA 인스턴스 프로필을 읽고 사용자 <sid>adm에 대해 자동으로 설정된 환경 변수입니다. 변수 값은 HANA 인스턴스 번호입니다.
-
&
보조 HANA 인스턴스를 시작합니다. 새 보조 인스턴스 노드에서 &
lt;sid>adm으로 실행합니다.rh1adm $ HDB start
rh1adm $ HDB startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
현재 기본 인스턴스에서 다시 설정된 HANA 시스템 복제의 현재 상태를 표시합니다. 다음은 인수 후 예제이며 보조 인스턴스가 node1에서 다시 등록됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9장. 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
9.1. srHook 클러스터 속성 값이 올바르지 않음 링크 복사링크가 클립보드에 복사되었습니다!
srHook 특성 값이 실제 HANA 시스템 복제 상태와 일치하지 않으면 기본 인스턴스가 실패할 때 클러스터에서 예기치 않은 동작이 발생할 수 있습니다.
보조 인스턴스의 srHook 속성 및 HANA 시스템 복제 상태가 일치하지 않을 때 sudo 구성을 확인하고 수정합니다.
-
보조 보조의
srHook클러스터 속성은 비어 있습니다. -
HANA 시스템 복제가 정상이 아닌 반면 보조 보조의
srHook클러스터 속성은SOK로 설정됩니다. -
보조 보조의
srHook클러스터 속성은 시스템 복제가ACTIVE상태인 동안SFAIL로 설정됩니다.
기본 인스턴스는 HANA 시스템 복제의 이벤트를 수신하고 그 결과를 보조 인스턴스의 클러스터 속성으로 저장합니다.
프로세스
sudo를 사용하여 명령이 실행되므로보안로그에서crm_attribute업데이트 오류가 있는지 확인합니다. 로그에는 후크 스크립트가 실행하려고 하지만 잠재적으로 실패할 수 있는 명령이 표시됩니다. 다음 예와 같이 기본 인스턴스 노드에서명령이 허용되지 않은오류가 있는지 확인합니다.grep crm_attribute /var/log/secure ... rh1adm : command not allowed ; PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSR
[root]# grep crm_attribute /var/log/secure ... rh1adm : command not allowed ; PWD=/hana/shared/RH1/HDB02/node1 ; USER=root ; COMMAND=/usr/sbin/crm_attribute -n hana_rh1_site_srHook_DC2 -v SFAIL -t crm_config -s SAPHanaSRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기록된
COMMAND를sudoers구성과 비교합니다. 명령과 일치하는 sudo 항목이 있도록 철저히 확인하고sudoers파일을 수정합니다. 임시 조치로 명령 매개변수에서 오타를 제외하도록 와일드카드로 단순화하여 sudo 항목이 작동하는지 확인할 수 있습니다.[root]# cat /etc/sudoers.d/20-saphana <sid>adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute * Defaults:<sid>adm !requiretty
[root]# cat /etc/sudoers.d/20-saphana <sid>adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute * Defaults:<sid>adm !requirettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;sid>를 소문자 HANA SID로 바꿉니다.명령 경로가 올바른지 확인합니다.
ls /usr/sbin/crm_attribute /usr/sbin/crm_attribute
[root]# ls /usr/sbin/crm_attribute /usr/sbin/crm_attributeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - sudo 구성을 수정합니다. 자세한 내용은 srConnectionChanged() 후크 메서드의 HanaSR HA/DR 공급자 구성을 참조하십시오.
- 다른 노드에서 수정 단계를 반복합니다. 모든 인스턴스에서 sudo 구성은 동일해야 합니다.
9.2. 후크를 변경한 후에는 HANA 인스턴스가 시작되지 않습니다. 링크 복사링크가 클립보드에 복사되었습니다!
최근에 HA/DR 공급자 섹션의 global.ini 를 변경하고 HANA 인스턴스가 더 이상 시작되지 않습니다.
프로세스
HANA 추적 로그 디렉토리로 이동하여 <
sid>adm사용자로 이동합니다.rh1adm $ cdtrace
rh1adm $ cdtraceCopy to Clipboard Copied! Toggle word wrap Toggle overflow HANA 이름 서버 경고 로그에서 HA/DR 공급자와 관련된 오류가 있는지 확인합니다.
rh1adm $ grep ha_dr_provider nameserver_alert_*.trc ... ha_dr_provider PythonProxyImpl.cpp(00145) : import of hanasr failed: No module named 'hanasr' ... ha_dr_provider HADRProviderManager.cpp(00100) : could not load HA/DR Provider 'hanasr' from /usr/share/sap-hana-ha/
rh1adm $ grep ha_dr_provider nameserver_alert_*.trc ... ha_dr_provider PythonProxyImpl.cpp(00145) : import of hanasr failed: No module named 'hanasr' ... ha_dr_provider HADRProviderManager.cpp(00100) : could not load HA/DR Provider 'hanasr' from /usr/share/sap-hana-ha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 근본 원인을 확인합니다(예: 잘못 지정된 HA/DR
공급자이름 또는 잘못된경로). 경로와 후크 스크립트 이름을 확인합니다. 이 예에서 HA/DR 공급자 이름hanasr가 후크 스크립트 이름HanaSR과 일치하지 않습니다.rh1adm $ ls /usr/share/sap-hana-ha/ ChkSrv.py HanaSR.py samples
rh1adm $ ls /usr/share/sap-hana-ha/ ChkSrv.py HanaSR.py samplesCopy to Clipboard Copied! Toggle word wrap Toggle overflow HanaSRHA/DR 공급자 구성을 수정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
공급자는Python 후크 스크립트의 이름과 일치해야 합니다. 이는.py파일 접미사 없이 대소문자를 구분합니다. -
경로는후크 스크립트가 저장되는 경로여야 합니다.
-
9.3. 유지보수하는 동안 클러스터 노드가 오프라인으로 보고됩니다. 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 HANA 업데이트의 경우 클러스터에 대한 유지 관리 모드가 설정된 경우에도 노드 간에 문제를 확인할 수 있지만 복구 작업을 트리거하지는 않습니다.
이러한 상황이 발생하면 먼저 유지 관리 모드를 해제하기 전에 문제의 원인을 해결해야합니다.
예: 노드 간 corosync 통신이 차단됨
두 노드 모두 다른 노드를 오프라인으로 보고합니다. 이 경우 유지 관리 모드가 제거되면 하나의 노드를 펜싱하여 클러스터가 복구하려고 합니다. 이는 진행 중인 HANA 유지 관리 활동에 심각한 영향을 미칠 수 있습니다.
문제의 근본 원인을 확인합니다. 예를 들면 다음과 같습니다.
- HANA 유지 관리와 병렬로 클러스터 통신 연결에서 계획된 네트워크 유지 관리.
- 네트워크 장치 오류 또는 OS 또는 네트워크 수준에서 잘못된 구성으로 인해 네트워크 연결에 대한 예기치 않은 중단이 발생하지 않습니다.
- 클러스터 통신 포트를 차단하는 방화벽 구성입니다.
클러스터 유지 관리를 제거할 때 클러스터에서 복구 조치를 수행하지 못하도록 문제를 해결합니다.
부록 A. 구성 요소 옵션 링크 복사링크가 클립보드에 복사되었습니다!
A.1. HanaSR에 대한 HA/DR 공급자 옵션 링크 복사링크가 클립보드에 복사되었습니다!
HanaSR HA/DR 공급자 구성에 사용할 수 있는 매개변수는 다음과 같습니다.
| 공급자 옵션 | 필수 항목 | 기본 | 설명 |
|---|---|---|---|
|
| 제공됨 |
provider 매개변수는 | |
|
| 제공됨 | 후크 스크립트의 위치에 대한 전체 경로입니다. | |
|
| 제공됨 |
이벤트가 발생할 때 다른 선택적 후크 스크립트보다 먼저 |
A.2. ChkSrv에 대한 HA/DR 공급자 옵션 링크 복사링크가 클립보드에 복사되었습니다!
ChkSrv HA/DR 공급자 구성에 사용할 수 있는 매개변수는 다음과 같습니다.
| 공급자 옵션 | 필수 항목 | 기본 | 설명 |
|---|---|---|---|
|
| 제공됨 |
provider 매개변수는 | |
|
| 제공됨 | 후크 스크립트의 위치에 대한 전체 경로입니다. | |
|
| 제공됨 |
| |
|
| 제공되지 않음 | 무시 | 인덱스 서버의 손실된 경우 트리거할 작업입니다.
|
|
| 제공되지 않음 | 9 |
|
|
| 제공되지 않음 | 20s |
|
A.3. SAPHanaTopology 리소스 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
SAPHanaTopology 리소스 구성에 사용할 수 있는 매개변수는 다음과 같습니다.
| 리소스 옵션 | 필수 항목 | 기본 | 설명 |
|---|---|---|---|
|
| 제공됨 | SAP 시스템 식별자입니다. | |
|
| 제공됨 | SAP HANA 인스턴스의 수입니다. | |
|
| 제공되지 않음 | 120 |
리소스 에이전트가 이 리소스의 HANA 호출에 대한 시간 제한을 늘리는 경우 동일한 리소스의 작업 시간 초과 값을 늘리는 것도 고려해야 합니다. |
A.4. SAPHanaController 리소스 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
SAPHanaController 리소스의 구성에 사용할 수 있는 매개변수는 다음과 같습니다.
| 리소스 옵션 | 필수 항목 | 기본 | 설명 |
|---|---|---|---|
|
| 제공됨 | SAP 시스템 식별자입니다. | |
|
| 제공됨 | SAP HANA 인스턴스의 수입니다. | |
|
| 제공되지 않음 |
SAP 표준 경로는 기본적으로 검색됩니다. | |
|
| 제공되지 않음 | SAP START 프로필의 정규화된 경로입니다. 기본 SAP 설치 후 SAP 프로필 디렉터리 위치를 변경한 경우 이 매개변수를 지정합니다. SAP 표준 경로는 기본적으로 검색됩니다. | |
|
| 제공되지 않음 | 120 |
리소스 에이전트가 이 리소스의 HANA 호출에 대한 시간 제한을 늘리는 경우 동일한 리소스의 작업 시간 초과 값을 늘리는 것도 고려해야 합니다. |
|
| 제공되지 않음 | SAP HANA 인스턴스 프로필의 이름입니다. 기본 SAP 설치 후 SAP HANA 인스턴스 프로필의 이름을 변경한 경우 이 매개변수를 지정합니다. SAP 표준 경로는 기본적으로 검색됩니다. | |
|
| 제공되지 않음 | false |
리소스 에이전트가 로컬로 기본 사이트를 다시 시작하는 대신 보조 사이트에 대한 가져오기를 트리거하는 것을 선호하는지 여부를 정의합니다. 그러나 인수는 SAP HANA 환경 상태가
|
|
| 제공되지 않음 | false |
리소스 에이전트가 클러스터 리소스 시작 중에 이전 기본 인스턴스를 보조 서버로 자동으로 등록하고
|
|
| 제공되지 않음 | 7200 |
두 개의 기본 타임스탬프(LPT) 간에 필요한 시간 차이로 이중 실행 상황이 발생하는 경우입니다. 두 노드의 마지막 기본 타임스탬프의 차이가
|
PREFER_SITE_TAKEOVER 를 true 로 설정하는 것이 좋습니다. 이렇게 하면 기본 HANA 인스턴스의 오류가 감지될 때 HA 클러스터에서 가져오기를 트리거할 수 있습니다. 대부분의 경우 원래 기본 인스턴스가 디스크에서 모든 데이터를 다시 시작하고 다시 메모리로 다시 로드하는 데 걸리는 것보다 새 HANA 기본 인스턴스가 완전히 활성 상태가 되는 데 걸리는 시간이 줄어듭니다.
AUTOMATED_REGISTER 를 false 로 설정하여 Operator에 이전에 실패한 기본 인스턴스의 상태 및 데이터 일관성을 먼저 확인하는 옵션을 부여한 후 두 인스턴스 간에 HANA 시스템 복제를 다시 설정하고 인스턴스를 수동으로 시작하기 전에 수동으로 새 보조 인스턴스로 등록합니다.
새 보조 인스턴스가 발생한 후 이전 기본 인스턴스를 자동으로 등록할 수 있도록 AUTOMATED_REGISTER 를 true 로 설정합니다. 이를 통해 HANA 시스템 복제 설정의 가용성이 증가하고 SAP HANA 시스템 복제 환경에서 이중 기본 상황을 방지합니다.
A.5. SAPHanaFilesystem 리소스 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
SAPHanaFilesystem 리소스 구성에 사용할 수 있는 매개변수는 다음과 같습니다.
| 리소스 옵션 | 필수 항목 | 기본 | 설명 |
|---|---|---|---|
|
| 제공됨 | SAP 시스템 식별자입니다. | |
|
| 제공됨 | SAP HANA 인스턴스의 수입니다. | |
|
| 제공되지 않음 |
|
모니터링할 디렉터리의 경로입니다. 리소스 에이전트는 |
|
| 제공되지 않음 | fence | 반복된 모니터 실패의 경우 작업.
|
부록 B. 유용한 정보 링크 복사링크가 클립보드에 복사되었습니다!
B.1. 클러스터 정보 설명 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 리소스가 시작되면 첫 번째 모니터 작업을 실행하고 초기 리소스 정보를 수집합니다. HANA 리소스는 클러스터 노드에서 SAP HANA 데이터베이스의 현재 상태를 설명하는 수집된 환경 정보에 대한 노드 속성 및 클러스터 속성을 추가합니다.
노드 속성이 있는 클러스터 상태
클러스터 속성
새로운 세대의 SAP HANA 리소스 에이전트는 SAPHanaSR 이라는 속성의 클러스터 속성으로 HANA 인스턴스에 대한 정보를 저장합니다.
root 사용자로 CIB(클러스터 정보 기반)를 쿼리하여 클러스터 속성의 콘텐츠를 확인할 수 있습니다. HANA 리소스 및 HanaSR 후크는 이러한 특성을 업데이트합니다.
예제:
SAPHanaSR-showAttr
SAPHanaSR-showAttr 도구를 사용하여 사전 포맷된 개요에서 모든 HANA 클러스터 특성 정보를 표시할 수 있습니다.
전체 환경 상태를 보려면 pcs status [--full] 에 이 상태를 확인하십시오.
예제: