SAP 커널은 SAP Application 과 운영체제 간의 인터페이스 역활을 하는 중앙 프로그램이다.
SAP 커널은 SAP Application 의 핵심이며, 프로세스 실행 파일, 이벤트 실행 파일 등등이 포함되어 있다.
아래는 SAP Kernel Upgrade 방법과 순서에 대해 기록한다.
Tcode : SM51
-> Relese Notes - SAP Kernel 확인
SAP 시스템 OS 에 <SID>adm
계정으로 접속
disp+work
SAP Sofrware Download Center 접속 후,
-> SUPPORT PACKAGES & PATCHES
-> By Alphabetical Index (A-Z)
-> K
-> SAP KERNEL 64-BIT (시스템에 따라 UNICODE)
-> <Target kernel 버전 선택>
-> <SAP 시스템 OS 운영체제 / DB 선택>
-> 환경에 맞는 SAP Kernel 파일 SAPEXE, SAPEXEDB 다운로드
SAP Kernel 파일은 두 개를 받아야 한다.
1. #DATABASE INDEPENDENT (SAPEXE)
2. <SAP 시스템 DB 제품> (SAPEXEDB)
Patch Level 100단위로 나오는 SAPEXE, SAPEXEDB 말고도 개별 컴포넌트에 대해서도 다운로드 - 업그레이드가 가능하다.
SAP 는 항상 최신 SAP Kernel Patch 유지를 권장한다.
따라서, 항상 최신 Patch Level 버전을 Target 으로 하는게 좋다.
단, 여기서 Kernel Version(Kernel 7.XX) 과 Kernel Patch Level(Kernel 7.53 PL XXX) 을 혼동하면 안된다.
SAP 제품별 지원 커널 버전 범위는 SAP Kernel Relese Notes 를 확인해야 한다.
-> SUPPORT PACKAGES & PATCHES
-> By Alphabetical Index (A-Z)
-> I
-> SAP IGS
-> <Taget IGS 버전 선택>
-> <SAP 시스템 OS 운영체제 선택>
-> 환경에 맞는 SAP IGS 파일 igsexe 다운로드
-> SUPPORT PACKAGES & PATCHES
-> By Alphabetical Index (A-Z)
-> I
-> SAP IGS HELPER APPLICATIONS
-> SAP IGS HELPER
-> <Taget IGS HELPER 버전 선택>
-> 환경에 맞는 SAP IGS HELPER 파일 igshelper 다운로드
IGS HELPER 는 #OS INDEPENDENT 파일 밖에 없으며, 가장 최신 파일을 다운로드 하면 된다.
-> SUPPORT PACKAGES & PATCHES
-> By Alphabetical Index (A-Z)
-> H
-> SAP HOST AGENT
-> SAP HOST AGENT 7.22
-> <SAP 시스템 OS 운영체제 선택>
-> 환경에 맞는 SAP Host Agent 파일 SAPHOSTAGENT 다운로드
SAP Host Agent 는 사실 SAP Kernel 패치와는 별개지만, 여건이 된다면 SAP Host Agent 도 항상 최신 버전을 유지하는 것이 좋다.
다운로드 받은 Kernel 파일들을 SAP 시스템 OS 로 올린 다음 SAPCAR 를 사용하여 압축을 풀어준다.
상황 가정)
- 다운로드 받은 Kernel 파일 위치 : /SAP_NAS/Kernel_file/.
- 다운로드 받은 Kernel 파일 리스트
1. SAPEXE.SAR
- SAPEXEDB.SAR
- igs.SAR
- igshelper.SAR
- SAPHOSTAGENT.SAR
압축 해제 파일을 한 곳에 모을 임시 디렉토리 생성
mkdir /SAP_NAS/kernel_file/exe_up
SAPCAR 를 사용하여 압축 해제
SAPCAR -xvf /SAP_NAS/kernel_file/SAPEXE.SAR -R /SAP_NAS/kernel_file/exe_up
SAPCAR -xvf /SAP_NAS/kernel_file/SAPEXEDB.SAR -R /SAP_NAS/kernel_file/exe_up
SAPCAR -xvf /SAP_NAS/kernel_file/igs.SAR -R /SAP_NAS/kernel_file/exe_up
SAPCAR 의 -R 옵션으로 압축파일이 풀려질 경로를 지정할 수 있다.
igshelper 압축 해제 임시 디렉토리 생성
mkdir /SAP_NAS/kernel_file/igshelper_up
SAPCAR 를 사용하여 압축 해제
SAPCAR -xvf /SAP_NAS/kernel_file/igshelper.SAR -R /SAP_NAS/kernel_file/igshelper_up
SAPHOSTAGENT 압축 해제 임시 디렉토리 생성
mkdir /SAP_NAS/kernel_file/saphostagent_up
SAPCAR 를 사용하여 압축 해제
SAPCAR -xvf /SAP_NAS/kernel_file/SAPHOSTAGENT.SAR -R /SAP_NAS/kernel_file/saphostagent_up
❗❗❗❗ 작업 전, 반드시 기존 Kernel 을 백업해두기 바란다.
2-1 로 압축 해제한 Kernel 파일을 기존 Kernel 에 덮어씌어준다.
기존 Kernel 파일을 날리고, 압축 해제한 파일을 옮겨도 되지만, 이럴시 기존에 파일들을 체크해야 하기 때문에 덮어쓰는걸 추천한다.
Kernel 파일을 덮어쓰기 전, OS 상에서 disp+work
명령어로 기존 Kernel 버전을 한번 더 확인 한 다음에, AP 서비스를 내려준다.
ASCS/SCS 가 따로 구성되어 있다면, 구성에 따라 다르지만 같은 /sapmnt를 사용한다면 sapcpe가 수행되면서 ASCS/SCS/AP 가 같이 업그레이드가 된다.
Kenrel 위치는 ERP 버전, 유니코드 시스템 여부(S4), OS 종류(S4) 에 따라 차이가 있다.
ECC : /sapmnt/<SID>/exe
S4HANA : /sapmnt/<SID>/exe/uc/linuxppc64le
(S4의 경우, 유니코드 시스템일 시 exe/uc 이다. 논유니코드 시스템이라면 exe/nuc 로 가야한다.)
(또한 사용하는 서버, OS 에 따라 뒷 경로가 달라진다.)
Kernel 파일은 /usr/sap/<SID> 가 아닌 /sapmnt/<SID> 로 덮어써야 한다.
/sapmnt 에 덮어쓰고, SAP 서비스를 시작하면, sapcpe 가 수행되면서 자동으로 /sapmnt/<SID> 의 Kernel 파일을 /usr/sap/<SID> 로 카피한다. (뒤에 후술)
cp -Rp /SAP_NAS/kernel_file/exe_up/* /sapmnt/<SID>/exe/uc/linuxppc64le/.
igshelper 를 압축 풀면 다음과 같은 디렉토리, 파일들이 나온다. 각각의 디렉토리, 파일들은 아래 igs 폴더에 덮어쓰면 된다.
igshelper 파일은 /usr/sap/<SID> 밑에 덮어쓴다. (따라서 AP 가 여러개라면, 각 AP 마다 따로 덮어씌어 줘야 한다.)
igshelper 는 설치유형에 따라 경로가 달라진다.
CI 일 경우 DVEBMGS<instance number>
AP 일 경우 D<instance number> 이다.
(이후, D<instance number> 로 서술한다.)
cp -Rp /SAP_NAS/kernel_file/igshelper_up/igs /usr/sap/<SID>/D<instance number>/igs
SAP Notes 1028690 - True Type Fonts delivered with IGS
cd /usr/sap/<SID>/D<instance number>/igs/conf
cp -Rp bwgis.tpl bwgis
cp -Rp gfwchart.tpl gfwchart
cp -Rp imgconv.tpl imgconv
cp -Rp xmlchart.tpl xmlchart
SAP HOSTAGENT 업그레이드 문서 - help.sap.com
SAP HOSTAGENT 는 따로 덮어쓰기 없이, 명령어 한줄로 업그레이드가 가능하다.
SAP HOSTAGENT 는 root 계정에서 업그레이드를 수행해야 한다.
업그레이드 전, 현재 SAP HOSTAGENT 버전 확인
/usr/sap/hostctrl/exe/saphostexec -version
SAP HOSTAGENT 압축 해제 파일을 사용하여, 업그레이드
/usr/sap/hostctrl/exe/saphostexec -upgrade -archive /SAP_NAS/kernel_file/saphostagent_up
업그레이드 수행 완료 후, 버전 확인
3rd Party 백업 솔루션을 사용한다면, SAP kernel 에 backint 등 기존 SAP Kernel 에는 없는 파일들이 있을 수 있다.
해당 파일들에 대해서 다시 한번 확인해본다.
이후, 신규 Kernel 파일에 대해서 권한을 조정해 줘야 한다.
Kernel 밑에 saproot.sh 로 각 파일들의 권한을 자동 조정할 수 있다.
기존 2-2-1 에서 신규 Kernel 파일을 /sapmnt/<SID> 로 덮어썼다.
이제 SAP 서비스를 시작하면, sapcpe 프로세스가 수행되면서 /sapmnt/<SID> 의 신규 Kernel 파일을 /usr/sap/<SID>/DVEBMGS<instance number> 또는 /usr/sap/<SID>/D<instance number> 로 카피한다.
따라서, 서비스 시작 이후 sapcpe.log 를 확인해서 sapcpe 가 정상적으로 수행되었는지를 확인하면 된다. (log 하단에 Error 확인)
sapcpe 로그는 다음 경로에서 확인할 수 있다.
/usr/sap/<SID>/D<instance number>/work/sapcpe.log
만약 sapcpe 수행이 실패하거나, 오류가 발생되어 Kernel 파일이 카피가 안되었다면, 수동으로 /sapmnt/<SID> 의 Kernel 파일을 /usr/sap/<SID> 로 덮어써도 된다.
서비스 시작 이후, 다시 Kernel 버전을 확인하여 제대로 업그레이드가 되었는지 확인한다.
disp+work