본문 바로가기

NFS를 통해 다중 노드 스토리지 공유하기

서론

미쳐버린 상황을 마주했다.

돈을 아끼기 위해 AWS 환경을 오라클 클라우드로 이전했다.

그런데 "AWS의 EBS"에 해당하는 "OCI의 블록 볼륨"은 최소 단위가 50GB이다.

내 K8s에 메일 시스템을 올렸고, 다음과 같이 PVC 요청이 수행되었다.

- mail-data : 10Gi

- mail-logs : 2Gi

- mail-state : 1Gi

- roundcube-data : 1Gi

- Jenkins : ?

 

결국 위의 요청들은 전부 50GB의 블록 볼륨을 생성하였고, 50GB * 5 = 250GB의 블록 볼륨을 생성했다.

(그래봤자 8250원이긴 하다. AWS에서 월 12만원 내던거에 비하면...)

블록 볼륨 하나로 쓰자

결국 하나의 블록 볼륨으로 최대한 많은 서비스가 공유하도록 구성하고자 했다.

여기서 또 다른 문제가 발생한다.

 

OCI의 블록 볼륨은 RWO(단일 노드만 접근 가능)이다.

하나의 노드에 몰아넣을거면 K8s를 쓰는 이유가 없다.

 

블록 볼륨을 단 하나만 쓰고 싶은데, 모든 노드에서 쓰도록 하려면?

NFS 서버 구축

결국 다음과 같은 방식을 채택할 수 밖에 없었다.

Block Volume (50GB) 1개 -> NFS Server Pod -> 다중 노드

NORMAL j/k: 이동 · Enter: 열기 · /: 검색 · ?: 도움말