HANA DB

SAP HANA Replication 구현

SAP HANA Database의 Replication 구현

SAP의 고가용성(High Availability)에 대한 방법 중에 복제(Replication)를 설정하는 방법과 HA(High Availability)를 구현했을 때 필요한 설정 사항과 Primary Node에서 Secondary Node로 전환(Takeover)하는 방법을 설명하겠습니다. SAP ERP시스템에서 S/4 HANA를 사용하는 시스템은 DB를 HAHA Database를 사용해야 합니다. S/4 HANA를 사용하는 ERP는 업무가 중단되지 않도록 해야 합니다. 지금 같은 현대 정보화 사회에서 ERP를 사용하지 못하는 경우에 물건을 생산 및 판매를 하지 못하면 회사에 많은 손실에 발생합니다. 이렇게 회사 업무에 중요한 ERP시스템을 사용하기 위해서 서버 이중화로 구성하여 만일의 사태에 대비합니다.

고가용성(High Availability)를 구성하기 위해서 SAP HANA에서 3가지를 지원하고 있습니다.

  • Host Auto_Failover : Host(서버)가 자동으로 다른 Host로 전환되는 것으로 SAP HANA에서는 Standby Node를 구성하여 Primary Node가 사용하지 못하게 되는 경우에 자동으로 Standby Node로 전환하는 방법입니다.
  • Storage Replication : 스토리지 벤터(EMC, IBM 등)에서 제공하는 기술로 Disk의 DATA를 다른 지역으로 DATA 복제를 하는 방법입니다.
  • System Replication : SAP HANA 는 Primary System에서 Secondary System으로 모든 Data를 복제한다.

  1. SAP HANA에서 제공하는 System Replication에 대해서 설명하겠습니다.

System Replication은 HANA DB에서 다른 HANA DB로 모든 Data를 복제하는 방법입니다.

System Replication은 SAP에서 소프트웨어적으로 제공하는 것으로 SAP HANA Database를 설치하면 기본으로 설치가 되어서 설정(Configuration)만 하면 System Replication을 사용 할 수 있습니다.

HANA HA(High Availability)를 구성하는 방법중에 하나인 System Replication은 HANA Studio와 Command 명령어를 이용하여 구성합니다.

SAP HANA System Replication 방법

  • 같은 지역내에서 System 복제

  • 다른 지역에서 System 복제

SAP HANA System Replication 을 구성하면 최초 Primary System의 모든 Data는 Secondary System으로 복제된다.

그런 다음에 Primary System의 변경되는 모든 Log들은 Secondary System으로 복제된다.

그리고 Primary System의 Redo log도 Secondary System으로 보내진다.

Primary System의 수행중인 트랜잭션은 Redo log가 Secondary System으로 복제가 되기 전에는 Commit 하지 않는다.

 

2. HANA System의 복제 방법

HANA DB를 Primary System에서 Secondary System으로 Redo log 파일을 복제하는 방법에는 3가지 방법을 제공한다.

1) Replication 모드

  • Synchronous : Primary System에서 보낸 Data와 Log Volume이 Secondary System의 disk에 쓰여지면 받은 정보를 Secondary System은 Primary System에게 알려준다.
  • Synchronous in-memory : : Primary System에서 보낸 Data와 Log Volume이 Secondary System의 Memory에 도착하면 받았다는 정보를 Primary System에게 알려준다.

Secondary System의 Disk I/O 속도는 Primary System의 성능에 영향을 주지 않는다.

  • Asynchronous : 비동기 복제 방법으로 Primary System은 Secondary System이 받았다는 정보를 보낼 때 까지 기다리지 않는다. Primary System은 Secondary System으로 Data를 받았는지 안 받았는지 상관하지 않고 계속해서 Data를 보낸다.

2) Operation 모드

HANA DB 2.0에는 3가지의 System Replication에서 3가지 Operation Mode를 제공한다.

  • Delta_datashipping : HANA System Replication에서 가장 기본이 되는 Operation 모드이다. 매 10분마다 변경된 Data에 대한 Redo log 정보를 Secondary System으로 보낸다.
  • Logreplay : 초기 Full Data shipping 이후에 오로지 Redo log만 복제하는 방법이다.
  • Logreplay_readaccess : logreplay와 같이 초기 Full Data shipping 이후에 오로지 Redo log만 복제하는 방법으로 차이점은 Secondary System에서 read가 가능한 것이 다르다. Secondary System의 DB에 SQL Select 쿼리가 가능하다.

Read Access는 Active/Active(read Secondary System)를 구성할 때 사용한다.

3) Secondary System에 Data 전송 방법

HANA DB에서 Primary System의 Data를 Secondary System으로 전송하는 3가지 방법

  • Full Data Shipping: System Replication을 처음 Setup 핼을때 한번 수행하는 것으로

Primary System의 전체 모든 Data를 Secondary System으로 전송한다.

  • Delta Data Shipping : Full Data shipping 이후에 변경된 Data를 전송한다.

매 10분마다 Primary System의 Data를 Secondary System으로 increment data만 전송한다.

  • Redo Log Shipping : Primary System의 Redo log Buffer에 있는 commit된 트랜잭션을 Secondary System으로 계속해서 전송한다.

3. HANA System Replication 복제 방법입니다.

System 복제 방법은 NODE 1번 서버와 NODE 2번 사이에 DATA를 복제하는 방법입니다.

1) System Replication 방법을 하기 위한 기본적인 구성 정보입니다.

Primary Host A Secondary Host B
Hostaname saphana01 saphana02
HANA DB SID HEH HEH
HANA In/Num 10 10
SAP SID HEV HEV
SAP   In/Num 00 00
Replication Local Name KEVP HEVS

 

2) HANA System Replication 구축하는 세부적인 방법입니다.

NODE1번 과 NODE2번 사이에 System Replication 활성화 하는 순서를 간략하게 설명하겠습니다.

4. Primary System을 Full backup 수행한다.

추가로 Configure file 백업 수행

위치 : /usr/sap/<SID>/SYS/global/hdb/custom/config

1) Primary System에서 Enable HANA System Replication 활성화

  • Primary System에서 오른쪽 마우스 클릭 -> Configuration and Monitoring -> Configure System Replication Enable System Replication -> Next 선택 -> Primary System Logical Name (KEVP) 입력 -> Finish

2) Secondary HANA system 중지(Stop)

  • Secondary system에서 오르쪽 마우스 클릭 -> Secondary system -> Configuration and Monitoring -> Stop System

아래 파일 복사(Primary -> Secondary로)

/usr/sap/<SID>/SYS/global/security/rsecssfs/data/SSFS_<SID>.DAT

/usr/sap/<SID>/SYS/global/security/rsecssfs/key/SSFS_<SID>.KEY

3) 복제를 위해서 Secondary HANA system 등록(Register)

  • Primary System에서 HANA Studio 오른쪽 클릭

System Replication -> Register Secondary System -> Logical name(HEVS)입력

  • Primary Site의 Host name 입력 : saphana01

System Replication 방법 선택

Replication Mode : Synchrionous in Memory

Operation Mode  : log Replay – Read Access

  • “Start the secondary system after registration” 선택 후 -> Finish

 

4) HANA, SAP 메모리 사이즈 조정

  • global_allocation_limit, PHYS_MEMSIZE 조정작업

 

5) Replication Mode 변경

  • hdbnsutil -sr changemode –mode=sync
  • hdbnsutil -sr changemode –mode= syscmem
  • hdbnsutil -sr changemode –mode= asysnc

 

6) Primary System에서 Secondary로 설정(Configuration)파일을 복재하는 방법

Primary System의 ini의 Parameter정보를 Secondary System으로 복사하는 방법

[inifile_checker]/enable = true

[inifile_checker]/replicate = true

 

ALTER SYSTEM ALTER CONFIGURATION (‘global.ini’, ‘SYSTEM’) SET (‘inifile_checker’, ‘enable’) = ‘true’ with reconfigure;

ALTER SYSTEM ALTER CONFIGURATION (‘global.ini’, ‘SYSTEM’) SET (‘inifile_checker’, ‘replicate’) = ‘true’ with reconfigure;

 

5. HANA Takeover 수행(Primary System => Secondary System으로 전환)

saphana01서버가 Primary 로 수행 중이고 saphana02가 Secondary로 구동중인 상태

즉 Primary System인 saphana01에서 Secondary System인 saphana02로 전환하는 방법이다.

1) Secondary System에서 Perform Takeover 수행

saphana02 서버에서 -> Configuration and Monitoring -> Configure System Replication -> Perform takeover 선택

2) saphana01를 Stop

saphana01서버를 선택하고 오르쪽 마우스 클릭 -> Secondary system -> Configuration and Monitoring -> Stop System

3) saphana01에서 Register secondary system으로 등록

saphana01 서버를 선택하고 오르쪽 마우스 클릭 -> Configuration and Monitoring -> Configure System Replication ->Register seconary system 선택

 

6. HANA Failback(원복) 수행(Secondary System => Primary System으로 전환)

saphana01서버가 Secondary System상태이고 saphana02서버가 Primary System으로 현재 서비스로 된 상태이다.

즉 Primary System인 saphana02에서 Secondary System인 saphana01로 원복(Failback)하는 방법이다.

1) saphana01서버를 Perform Takeover 실행

saphana01서버에서 -> Configuration and Monitoring -> Configure System Replication -> Perform takeover 선택

saphana01서버는 자동으로 Start System 된다.

2) saphana02서버에서 Stop System 수행

saphana02서버를 선택하고 오르쪽 마우스 클릭 -> Secondary system -> Configuration and Monitoring -> Stop System

3) saphana02서버에서 Resiter Replication Server 등록 수행

saphana02서버에서 -> Configuration and Monitoring -> Configure System Replication  => Register secondary system으로 등록

4) saphana01서버 => saphana02서버로 Data Sync 작업 수행.

– 끝 –

 

안녕하세요. 사이트를 방문해주셔서 감사합니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다