SAP HANA 디스크 구성

이번에는 HANA를 디스크(Disk)구성에 대해서 알아보도록 하겠습니다.

디스크 구성에 대해서 알아 보기 앞서 HANA를 구축하게 되면 크게 3가지 형태로 구성을 할 수 있습니다.

이 형태는 지금까지 SAP ERP를 설치하게 되면 고객(구매한 회사)가 서버(H/W)를 IBM, HP에 제품을 구입하고 SAP를 설치할 수 있는 사람에게 요청하여 SAP ERP를 설치하여 사용한 형태 였습니다.

그러나 최근에 Cloud(클라우드)라고 하는 개념이 도입되어 서버(H/W)월 사용료를 내고 사용한 만큼만 돈을 내는 형태가 추가 되었습니다.

Image-0000

  • Single Server

이 방식은 HANA를 개발서버용으로 사용할 때 주로 사용하는 것으로 서버 1대에 구성하여 설치하는 형태로 CPU 2개와 메모리 128G로 서버 1대를 최소 사양으로 구성할 수 있습니다.

  • Scale Out Cluster

이 형태는 BW on HANA나 S/4 HANA에서 운영(Production)서버에서 사용하는 형태로 보통 4대의 서버를 구성하는 것이 일반적인 Scale Out 형태의 구성입니다.

4대를 각각 CPU 2개, 메모리 512GB로 총 4대로 이루어져 구성한 형태입니다.

  • Cloud Deployment

이 형태를 클라우드 형태로 HANA를 AWS(Amazon Web Services)에 구성하여 사용하는 형태로 고객이 직접 AWS에 HANA를 구축할 수 있고, 또 이미 구축하여 서비스를 해주는 회사에 월 일정 사용량을 내고 사용할 수도 있습니다.

아마존의 AWS를 사용하거나 SAP제공하는 클라우드 서비스인 HANA Enterprise Cloud를 사용할 수 있습니다.

HANA H/W(HardWare)를 구성할 때 한가지 분류를 더 있는데요.. SAP에서는 다양한 고객의 요구를 맞추기 위해서 2가지 형태의 HANA H/W를 구성 할 수 있습니다.

이러한 개념들이 자꾸 등장하니까 좀더 어렵고 접근하기 힘들다는 생각을 하게 되는데요.

HANA DB를 설치하기 위해서 H/W구성에 2가지 형태에 대해서 설명하겠습니다.

이러한 HANA DB를 설치하기 위한 H/W를 제공하는 것은 처음 HANA버젼에서는 HANA DB를 설치하기 위해서는 고객이 직접 설치하지 않고 이미 H/W에 설치되어 있는 것을 그냥 가져다가 쓰는 형태로 처음에는 SAP에서 제공했습니다.

이것을 Appliance 라고 하는데 사전적인 해석은 “가전제품”이라고 하는데 이것은 쉽게 설명하면 우리가 냉장고를 집 근처의 하이마트에서 산다고 생각하면 우리는 그냥 원하는 용량(180리터)의 냉장고를 선택하고 돈을 주고 사기만 하면 집에 배달이 되어 전기만 꼽아서 사용하기만 하면 됩니다.

SAP HANA Appliance 도 우리고 원하는 용량(CPU, 메모리)를 선택하고 주문하게 되면 회사에 배달이 되어서 그냥 전기를 넣고 사용하기만 하면 됩니다. 별도로 HANA DB를 설치 할 필요도 없고 디스크(Disk)를 어떻게 구성해야 할까 고민할 필요 없이 다 알아서 설치와 설정을 해놓은 것이어서 그냥 사용하기만 하면 됩니다. 이러한 주문하고 바로 제품을 사용하는 형태를 Appliance 라고 합니다.

Image-0001

  • HANA Appliance

미리 H/W(Hardware)에 CPU, Memory, Disk를 구성한 형태로  HANA DB이 이미 설치되어 고객은 배달된(Delivery) 제품을 사용하면 됩니다.

  • HANA TDI(Tailored Datacenter Integration)

고객의 예산에 맞춰서 원하는데로 CPU, Memory, Disk를 구성하여 사용하는 형태로 원하는데로 H/W를 구성 할 수 있고, 고객이 직접 HANA DB를 설치하여 사용하는 형태입니다.

SAP가 Fully 지원하지 않아서 고객이 직접 구성(Configure)하고 설치(Installation)해야 하는 것이 번거로움이 있습니다.

 

이제 본격적으로 HANA DB를 설치하기 위한 디스크(Disk)구성에 대해서 설명하도록 하겠습니다.

아래는 Linux 별 파일시스템의 Size을 얼마를 설정해야 하는지를 나타낸 자료입니다.

마운트 포인트 설 명 사이즈
/ Root 디렉토리 10 ~ 50GB
/usr/sap SAP System Instances 50GB
/hana/shared Installation 경로 1*RAM
/hana/data Data 볼륨 3*RAM
/hana/log Log  볼륨 1*RAM

HANA DB는 메모리를 기반으로 사용하기 때문에 Disk를 얼마나 가져가는지가 결정됩니다.

여기서 HANA DB에 대한 일반적인 생각에는 In-Memory DB이면 디스크(Disk)는 필요 없는 것 아닌가 하는 생각을 할 수 있습니다. 저 또한 처음에 메모리에 모든 Data를 저장하게 되면 Disk는 필요 없다고 생각했는데 HANA DB 또한 Disk 가 필요하게 됩니다.

가장 근본적인 이유로는 메모리(Memory)가 휘발성이어서 HANA DB가 설치된 서버의 전원 공급이 중간되게 되면 메모리에 있는 데이터(DATA)들이 날아가게 됩니다. 즉 전원 공급이 중단되면 작업했던 모든 DATA는 없어지게 됩니다.

이것을 방지하기 위해서 HANA DB도 메모리에 있는 DATA를 주기적으로 Disk에 쓰게 됩니다.

그래서 HANA DB도 디스크(Disk)가 필요하게 됩니다.

필요한 디스크 량은 In-Memory 의 DB 사이즈에 따라 그에 상응하는 디스크 량을 가져가게 됩니다.

  • / : OS(Operating System)이 설치되는 디스크 공간으로 Linux(Suse, Red Hat)이 설치되는 공간입니다. 사이는 OS가 설치되는 공간으로 10 ~ 50GB 정도로 하면 충분합니다.
  • /usr/sap : SAP Instance 가 설치되는 공간으로 Instance의 실행파일(Executable files)이 존재하는 공간입니다. 사이즈는 50GB로 잡아서 설치하면 충분히 사용할 수 있습니다.
  • /hana/shared : HANA DB가 설치되는 공간으로 DB가 구동되는 실행파일(Executable files), HANA DB Client, HANA 스튜디오(Studio)등 HANA DB와 관련된 필요한 파일들이 위치하는 디렉토리입니다. 사이즈는 RAM이 128GB이면 용량을 128GB로 설정하면 됩니다.
  • /hana/data : HANA DB DATA가 들어가는 디렉토리 공간으로 메모리 용량에 따라 변경되는데 메모리량이 128GB 이면 이곳 DATA 사이즈도 128GB * 3 = 384 GB로 설정합니다.
  • /hana/log  : HANA DB Log 가 쌓이는 디렉토리 공간으로 메모리 양에 따라 변경되는데 메모리량이 128GB 이면 이곳 Log 사이즈는 128GB * 1 = 128GB로 설정합니다.

다음은 디스크 사이즈가 HANA Appliance와 TDI(Tailored Datacenter Integration)과 약간의 차이가 있다. 이렇게 차이가 있는 것은 SAP 파트너가 설치하는 납품하는 Appliance 형태는 SAP의 권장하는 디스크(Disk) 용량을 계산하기 때문에 고객이 예산에 맞추어 원하는 H/W를 구성하기 때문에 가능한 저렴한 비용으로 원하는 H/W로 구축할 수 있어서 차이가 발생한다.

큰 차이는 DATA 사이즈로 HANA Appliance는 3 * RAM 인데 그에 반에 TDI는 1 * RAM으로 산정하여 구성할 수 있다.

여기에서 LOG 사이즈가 위의 표와 약간 차이가 발생하는데 위 표의 LOG 사이즈 1 * RAM은 SAP가 권장하는 사이즈이고 아래 메모리(RAM) 용량이 512GB이하일 경우에 Log 사이즈를 512GB까지 차지하면 용량이 과하게 많이 가지고 가서 In-Memory DB의 메모리(RAM) 사이즈가 512GB이하일 경우 Log 사이즈를 0.5 * RAM으로 계산하여 256GB 만 가지고 가도 크게 문제가 되지 않아서 이렇게 계산한 것이다.

또 메모리 용량이 512GB 이상은 Log 사이즈를 512GB를 가지고 가도 문제가 없다는 내용이다.

만약 메모리 용량이 4TB 이상인 경우에도 Log 사이즈를 512GB를 설정해도 문제가 없다.

Image-0002

여기에서는 메모리에 있는 DATA들을 디스크에 주기적으로 디스크에 내려 쓰기 때문에 디스크의 성능에 따라 HANA DB의 성능에 영향을 줄 수 있어서 디스크를 사용에도 고려해야 할 부분이 있습니다.