Task 01에서는 Standby 시스템에서 QAS 시스템 서비스를 위해 HSR 옵션을 변경하고. Global Memory 설정을 변경할 예정입니다.
Session Manager를 통해 sechana에 접속합니다.
root 유저로 접속 후, Cluster를 Maintenance 모드로 변경하고, HSR 및 Global Memory 설정을 변경합니다
sudo su - root
crm node maintenance prihana
crm node maintenance sechana
crm_mon -rfn1
hdbadm 유저로 접속 후, HDB Stop 하고, Secondary 운영 SAP HANA DB (HDB)의 메모리 자원 사용을 줄이고 preload 옵션 false로 설정합니다.
su - hdbadm
HDB stop
vi /usr/sap/HDB/SYS/global/hdb/custom/config/global.ini
[system_replication]
...
preload_column_tables = false #Add-on
[memorymanager]
global_allocation_limit = 24576
Takover 이후에는 해당 설정이 원복 할 수 있도록, SAPHanaSR-Hook 변경 합니다.
exit
cd /usr/share/SAPHanaSR/
cp -pr SAPHanaSR.py SAPHanaSR.py.default
vi SAPHanaSR.py
# 수정 1
from hdb_ha_dr.client import HADRBase, Helper
import os, time
from hdbcli import dbapi
dbuser = "SYSTEM"
dbpwd = "Init12345!"
dbport = 30013
stmnt1 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET ('memorymanager','global_allocation_limit') WITH RECONFIGURE"
stmnt2 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET ('system_replication','preload_column_tables') WITH RECONFIGURE"
# 수정 2
def postTakeover(self, rc, **kwargs):
"""Post takeover hook."""
self.tracer.info("%s.postTakeover method called with rc=%s" % (self.__class__.__name__, rc))
if rc == 0:
# normal takeover succeeded
conn = dbapi.connect('localhost', dbport, dbuser, dbpwd)
cursor = conn.cursor()
cursor.execute(stmnt1)
cursor.execute(stmnt2)
return 0
elif rc == 1:
# waiting for force takeover
conn = dbapi.connect('localhost', dbport, dbuser, dbpwd)
cursor = conn.cursor()
cursor.execute(stmnt1)
cursor.execute(stmnt2)
return 0
elif rc == 2:
# error, something went wrong
return 0
hdbadm 유저로 접속 후, HDB Start 하고, TAKEOVER TEST 를 수행합니다.
su - hdbadm
HDB start
hdbnsutil -sr_state
hdbnsutil -sr_takeover
cat /usr/sap/HDB/SYS/global/hdb/custom/config/global.ini
sudo su - hdbadm
HDB stop
hdbnsutil -sr_register --remoteHost=sechana --remoteInstance=00 --replicationMode=sync --name=HAP --operationMode=logreplay
HDB start
hdbnsutil -sr_state
hdbnsutil -sr_takeover
su - hdbadm
HDB stop
hdbnsutil -sr_register --remoteHost=prihana --remoteInstance=00 --replicationMode=sync --name=HAS --operationMode=logreplay
vi /usr/sap/HDB/SYS/global/hdb/custom/config/global.ini
[system_replication]
...
preload_column_tables = false #Add-on
[memorymanager]
global_allocation_limit = 24576
HDB start