5.5. 테스트 3: 기본 노드의 third site


Expand

테스트 제목

세 번째 사이트로 기본을 장애 조치합니다.

보조 부분은 세 번째 사이트에 다시 등록됩니다.

테스트 사전 조건

  • DC1, DC2의 SAP HANA가 실행 중입니다.
  • 클러스터가 오류 또는 경고 없이 가동 및 실행됩니다.
  • System Replication is in place and in sync ( python systemReplicationStatus.py)를 확인하십시오.

테스트 단계

클러스터를 유지보수 모드로 설정하여 복구할 수 있습니다.

HANA 데이터베이스는 hdbnsutil -sr_takeover를 사용하여 세 번째 노드를 형성합니다.

테스트 시작

SAP HANA commandon remotehost3: rh2adm>: hdbnsutil -sr_takeover를 실행합니다.

테스트 모니터링

세 번째 사이트에서 run: remotehost3:rh2adm> watch hdbnsutil -sr_state

예상 결과

  • 세 번째 노드가 기본 노드가 됩니다.
  • 보조 노드는 기본 마스터를 remotehost3로 변경합니다. 이전 기본 노드를 새 기본 노드에 다시 등록해야 합니다.

초기 상태로 돌아가는 방법

Run Test 4: Failback of the primary node to the first site.

자세한 설명

  • Check database 를 사용하여 데이터베이스가 실행 중인지 확인하고 복제 상태를 확인합니다.

    clusternode2:rh2adm> hdbnsutil -sr_state | egrep -e "^mode:|primary masters"
    Copy to Clipboard Toggle word wrap

출력은 예를 들면 다음과 같습니다.

mode: syncmem
primary masters: clusternode1
Copy to Clipboard Toggle word wrap

이 경우 기본 데이터베이스는 clusternode1입니다. clusternode1에서 이 명령을 실행하면 다음을 얻을 수 있습니다.

mode: primary
Copy to Clipboard Toggle word wrap

이 기본 노드에서는 시스템 복제 상태를 표시할 수도 있습니다. 다음과 같이 표시됩니다.

clusternode1:rh2adm> cdpy
clusternode1:rh2adm> python systemReplicationStatus.py
|Database |Host   |Port  |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary     |Replication |Replication |Replication    |Secondary    |
|         |       |      |             |          |        |          |Host      |Port      |Site ID   |Site Name |Active Status |Mode        |Status      |Status Details |Fully Synced |
|-------- |------ |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |--------- |------------- |----------- |----------- |-------------- |------------ |
|SYSTEMDB |clusternode1 |30201 |nameserver   |        1 |      1 |DC1       |remotehost3    |    30201 |        3 |DC3       |YES           |SYNCMEM     |ACTIVE      |               |        True |
|RH2      |clusternode1 |30207 |xsengine     |        2 |      1 |DC1       |remotehost3    |    30207 |        3 |DC3       |YES           |SYNCMEM     |ACTIVE      |               |        True |
|RH2      |clusternode1 |30203 |indexserver  |        3 |      1 |DC1       |remotehost3    |    30203 |        3 |DC3       |YES           |SYNCMEM     |ACTIVE      |               |        True |
|SYSTEMDB |clusternode1 |30201 |nameserver   |        1 |      1 |DC1       |clusternode2    |    30201 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |               |        True |
|RH2      |clusternode1 |30207 |xsengine     |        2 |      1 |DC1       |clusternode2    |    30207 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |               |        True |
|RH2      |clusternode1 |30203 |indexserver  |        3 |      1 |DC1       |clusternode2    |    30203 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |               |        True |

status system replication site "3": ACTIVE
status system replication site "2": ACTIVE
overall system replication status: ACTIVE

Local System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mode: PRIMARY
site id: 1
site name: DC1
Copy to Clipboard Toggle word wrap
  • 이제 적절한 환경이 있고 별도의 창에서 모든 3개의 노드에서 시스템 복제 상태를 모니터링할 수 있습니다.

테스트를 시작하기 전에 3개의 모니터를 시작해야 합니다. 테스트가 실행되면 출력이 변경됩니다. 테스트가 완료되지 않는 한 계속 실행하십시오.

기존 기본 노드에서 clusternode1은 테스트 중에 별도의 창에서 실행되었습니다.

clusternode1:rh2adm> watch -n 5 'python /usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py ; echo Status $?`
Copy to Clipboard Toggle word wrap

clusternode1의 출력은 다음과 같습니다.

Every 5.0s: python /usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/python_support/systemReplicati...  clusternode1: Tue XXX XX HH:MM:SS 2023

|Database |Host   |Port  |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary     |
Replication |Replication |Replication    |Secondary    |
|         |	  |	 |             |          |        |          |Host	 |Port      |Site ID   |Site Name |Active Status |
Mode        |Status	 |Status Details |Fully Synced |
|-------- |------ |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |--------- |------------- |
----------- |----------- |-------------- |------------ |
|SYSTEMDB |clusternode1 |30201 |nameserver   |        1 |	 1 |DC1       |remotehost3    |    30201 |        3 |DC3	  |YES		 |
ASYNC       |ACTIVE	 |               |        True |
|RH2	  |clusternode1 |30207 |xsengine     |        2 |	 1 |DC1       |remotehost3    |    30207 |        3 |DC3	  |YES		 |
ASYNC       |ACTIVE	 |               |        True |
|RH2	  |clusternode1 |30203 |indexserver  |        3 |	 1 |DC1       |remotehost3    |    30203 |        3 |DC3	  |YES		 |
ASYNC       |ACTIVE	 |               |        True |
|SYSTEMDB |clusternode1 |30201 |nameserver   |        1 |	 1 |DC1       |clusternode2    |    30201 |        2 |DC2	  |YES		 |
SYNCMEM     |ACTIVE	 |               |        True |
|RH2	  |clusternode1 |30207 |xsengine     |        2 |	 1 |DC1       |clusternode2    |    30207 |        2 |DC2	  |YES		 |
SYNCMEM     |ACTIVE	 |               |        True |
|RH2	  |clusternode1 |30203 |indexserver  |        3 |	 1 |DC1       |clusternode2    |    30203 |        2 |DC2	  |YES		 |
SYNCMEM     |ACTIVE	 |               |        True |

status system replication site "3": ACTIVE
status system replication site "2": ACTIVE
overall system replication status: ACTIVE

Local System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mode: PRIMARY
site id: 1
site name: DC1
Status 15
Copy to Clipboard Toggle word wrap

remotehost3에서 동일한 명령을 실행합니다.

remotehost3:rh2adm> watch -n 5 'python /usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py ; echo Status $?'
Copy to Clipboard Toggle word wrap

응답은 다음과 같습니다.

this system is either not running or not primary system replication site
Copy to Clipboard Toggle word wrap

테스트가 장애 조치(failover)를 시작한 후 출력이 변경됩니다. 출력은 테스트를 시작하기 전에 기본 노드의 예와 유사합니다.

두 번째 노드에서 다음을 시작합니다.

clusternode2:rh2adm> watch -n 10 'hdbnsutil -sr_state | grep masters'
Copy to Clipboard Toggle word wrap

그러면 현재 마스터 clusternode1이 표시되고 페일오버가 시작된 후 즉시 전환됩니다.

  • 모든 것이 올바르게 구성되었는지 확인하려면 global.ini 도 확인하십시오.
  • DC1, DC2 및 DC3에서 global.ini 를 확인합니다.

세 개의 노드 모두에서 global.ini 는 다음을 포함해야 합니다.

[persistent]
log_mode=normal
[system_replication]
register_secondaries_on_takeover=true
Copy to Clipboard Toggle word wrap

예를 들면 다음과 같이 global.ini를 편집할 수 있습니다.

clusternode1:rh2adm>vim /usr/sap/$SAPSYSTEMNAME/SYS/global/hdb/custom/config/global.ini
Copy to Clipboard Toggle word wrap
  • [선택 사항] 클러스터를 유지 관리 모드로 전환합니다.

    [root@clusternode1]# pcs property set maintenance-mode=true
    Copy to Clipboard Toggle word wrap

    테스트 중에 페일오버가 유지 관리 모드를 설정하지 않고 작동하는지 확인할 수 있습니다. 따라서 첫 번째 테스트 없이 실행할 수 있습니다. 복구하는 동안이 작업을 수행하는 동안, 난 단지 당신에게 보여주고 싶습니다, 그리고 함께 작동합니다. 다음 중 기본 옵션과 관련하여 액세스할 수 없는 것은 무엇입니까.

  • test: Cryostat를 DC3로 시작합니다. remotehost3에서 다음을 실행하십시오.

    remotehost3:rh2adm> hdbnsutil -sr_takeover
    done.
    Copy to Clipboard Toggle word wrap

테스트가 시작되었으므로 이전에 시작한 모니터의 출력을 확인하십시오.

clusternode1에서 시스템 복제 상태는 remotehost3 및 clusternode2(DC2)와의 관계가 손실됩니다.

Every 5.0s: python /usr/sap/RH2/HDB02/exe/python_support/systemReplicationStatus.py ; echo Status $?                               clusternode1: Mon Sep  4 11:52:16 2023

|Database |Host   |Port  |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary     |Replication |Replication |Replic
ation                  |Secondary    |
|         |       |      |             |          |        |          |Host      |Port      |Site ID   |Site Name |Active Status |Mode        |Status      |Status
 Details               |Fully Synced |
|-------- |------ |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |--------- |------------- |----------- |----------- |------
---------------------- |------------ |
|SYSTEMDB |clusternode1 |30201 |nameserver   |        1 |      1 |DC1       |clusternode2    |    30201 |        2 |DC2       |YES           |SYNCMEM     |ERROR       |Commun
ication channel closed |       False |
|RH2      |clusternode1 |30207 |xsengine     |        2 |      1 |DC1       |clusternode2    |    30207 |        2 |DC2       |YES           |SYNCMEM     |ERROR       |Commun
ication channel closed |       False |
|RH2      |clusternode1 |30203 |indexserver  |        3 |      1 |DC1       |clusternode2    |    30203 |        2 |DC2       |YES           |SYNCMEM     |ERROR       |Commun
ication channel closed |       False |

status system replication site "2": ERROR
overall system replication status: ERROR

Local System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mode: PRIMARY
site id: 1
site name: DC1
Status 11
Copy to Clipboard Toggle word wrap

클러스터는 여전히 이 동작을 인식하지 못합니다. 시스템 복제 상태의 반환 코드를 확인하는 경우 반환 코드 11은 오류가 있음을 의미합니다. 액세스 권한이 있는 경우 지금 유지 관리 모드로 전환하는 것이 좋습니다.

remotehost3은 새로운 기본이 되고 clusternode2(DC2)가 remotehost3의 새 기본 설정으로 자동으로 등록됩니다.

remotehost3의 시스템 복제 상태 출력 예:

Every 5.0s: python /usr/sap/RH2/HDB02/exe/python_support/systemReplicationStatus.py ; echo Status $?                               remotehost3: Mon Sep  4 13:55:29 2023

|Database |Host   |Port  |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary     |Replication |Replication |Replic
ation    |Secondary    |
|         |       |      |             |          |        |          |Host      |Port      |Site ID   |Site Name |Active Status |Mode        |Status      |Status
 Details |Fully Synced |
|-------- |------ |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |--------- |------------- |----------- |----------- |------
-------- |------------ |
|SYSTEMDB |remotehost3 |30201 |nameserver   |        1 |      3 |DC3       |clusternode2    |    30201 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |
         |        True |
|RH2      |remotehost3 |30207 |xsengine     |        2 |      3 |DC3       |clusternode2    |    30207 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |
         |        True |
|RH2      |remotehost3 |30203 |indexserver  |        3 |      3 |DC3       |clusternode2    |    30203 |        2 |DC2       |YES           |SYNCMEM     |ACTIVE      |
         |        True |

status system replication site "2": ACTIVE
overall system replication status: ACTIVE

Local System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mode: PRIMARY
site id: 3
site name: DC3
Status 15
Copy to Clipboard Toggle word wrap

반환 코드 15는 모든 것이 정상이지만 clusternode1이 누락되었음을 나타냅니다. 수동으로 다시 등록해야 합니다. 이전 기본 clusternode1이 나열되지 않으므로 복제 관계가 손실됩니다.

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

명령을 사용하여 클러스터의 한 노드에 있는 클러스터에서 maintenance-mode 를 설정하기 전에 아직 수행하지 않은 경우:

[root@clusternode1]# pcs property  set maintenance-mode=true
Copy to Clipboard Toggle word wrap

다음 명령을 실행하여 maintenance-mode 가 활성화되어 있는지 확인할 수 있습니다.

[root@clusternode1]# pcs resource
  * Clone Set: SAPHanaTopology_RH2_02-clone [SAPHanaTopology_RH2_02] (unmanaged):
    * SAPHanaTopology_RH2_02    (ocf::heartbeat:SAPHanaTopology):        Started clusternode2 (unmanaged)
    * SAPHanaTopology_RH2_02    (ocf::heartbeat:SAPHanaTopology):        Started clusternode1 (unmanaged)
  * Clone Set: SAPHana_RH2_02-clone [SAPHana_RH2_02] (promotable, unmanaged):
    * SAPHana_RH2_02    (ocf::heartbeat:SAPHana):        Slave clusternode2 (unmanaged)
    * SAPHana_RH2_02    (ocf::heartbeat:SAPHana):        Master clusternode1 (unmanaged)
  * vip_RH2_02_MASTER   (ocf::heartbeat:IPaddr2):        Started clusternode1 (unmanaged)
Copy to Clipboard Toggle word wrap

관리되지 않는 리소스가 표시되고 있습니다. 이는 클러스터가 maintenance-mode=true 임을 나타냅니다. 가상 IP 주소는 clusternode1에서 계속 시작됩니다. 다른 노드에서 이 IP를 사용하려면 maintanence-mode=true 를 설정하기 전에 vip_RH2_02_MASTER를 비활성화하십시오.

[root@clusternode1]# pcs resource disable vip_RH2_02_MASTER
Copy to Clipboard Toggle word wrap
  • clusternode1에서 sr_state를 확인할 때 DC2와의 관계만 표시됩니다.

    clusternode1:rh2adm> hdbnsutil -sr_state
    
    System Replication State
    ~~~~~~~~~~~~~~~~~~~~~~~~
    
    online: true
    
    mode: primary
    operation mode: primary
    site id: 1
    site name: DC1
    
    is source system: true
    is secondary/consumer system: false
    has secondaries/consumers attached: true
    is a takeover active: false
    is primary suspended: false
    
    Host Mappings:
    ~~~~~~~~~~~~~~
    
    clusternode1 -> [DC2] clusternode2
    clusternode1 -> [DC1] clusternode1
    
    
    Site Mappings:
    ~~~~~~~~~~~~~~
    DC1 (primary/primary)
        |---DC2 (syncmem/logreplay)
    
    Tier of DC1: 1
    Tier of DC2: 2
    
    Replication mode of DC1: primary
    Replication mode of DC2: syncmem
    
    Operation mode of DC1: primary
    Operation mode of DC2: logreplay
    
    Mapping: DC1 -> DC2
    done.
    Copy to Clipboard Toggle word wrap

    그러나 DC2를 확인할 때 기본 데이터베이스 서버는 DC3입니다. 따라서 DC1의 정보가 정확하지 않습니다.

    clusternode2:rh2adm> hdbnsutil -sr_state
    Copy to Clipboard Toggle word wrap

    DC1에서 시스템 복제 상태를 확인하면 반환 코드는 12이며 알 수 없습니다. 따라서 DC1을 다시 등록해야 합니다.

이 명령을 사용하여 이전 기본 clusternode1을 remotehost3의 새 보조로 등록할 수 있습니다.

clusternode1:rh2adm> hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=${TINSTANCE} --replicationMode=async --name=DC1 --remoteName=DC3 --operationMode=logreplay --online
Copy to Clipboard Toggle word wrap

등록이 완료되면 remotehost3에서 복제된 세 개의 사이트 모두 표시되고 상태(반복 코드)가 15로 변경됩니다. 이 오류가 발생하면 DC1 및 DC3에서 복제 관계를 수동으로 제거해야 합니다. Register Secondary 에 설명된 지침을 따르십시오. 예를 들어 다음과 같은 기존 관계가 나열됩니다.

hdbnsutil -sr_state
Copy to Clipboard Toggle word wrap

사용할 수 있는 기존 관계를 제거하는 예:

clusternode1:rh2adm> hdbnsutil -sr_unregister --name=DC2
Copy to Clipboard Toggle word wrap

이는 일반적으로 필요하지 않을 수 있습니다.

테스트 4는 테스트 3 후에 수행됩니다. 따라서 복구 단계는 테스트 4를 실행하는 것입니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동