DevSecOps/Containerization(k8s)

GCP VM에서 Docker, GitLab 설치 후 리소스 증설 & NAS 자동 마운트 삽질기

봉의일상 2025. 2. 5. 22:12

처음엔 그냥 GCP VM에 Docker를 설치하고, GitLab까지 올리면 끝날 줄 알았다. 하지만 예상과 다르게 메모리 부족, 디스크 부족이라는 현실이 기다리고 있었다. 겨우 해결했다고 생각했는데, VM을 재부팅하니 NAS 마운트가 풀려있었다...

이번 글에서는 GCP VM에서 메모리를 증설하고, 디스크를 마운트하는 과정 그리고 NAS 마운트를 부팅 시에도 유지하는 방법을 시행착오와 함께 정리해보려고 한다.


1. GCP VM에서 Docker & GitLab 설치 후 자원 부족 문제

GitLab 설치 후 메모리 부족 발생

GitLab을 설치한 후 실행하는데, OOM(Out of Memory) 오류가 발생했다.
로그를 확인해보니 메모리가 부족해서 프로세스가 종료되는 상황이었다.

(VM에 접속이 안되던 경우가 잦았는데 메모리 부족이 원인이었던듯..)

해결: VM 메모리 증설

메모리를 늘리려면 GCP에서 인스턴스 유형을 변경해야 한다.
GCP 콘솔에서 다음 경로로 이동했다.

Compute Engine → VM 인스턴스 → 해당 VM 클릭 → 수정

여기서 머신 유형을 업그레이드하고, 메모리를 늘린 뒤 저장하면 끝!
하지만, VM을 멈추고 변경해야 하는 점을 기억하자.

터미널에서 직접 변경하려면 다음 명령어를 사용할 수도 있다.

gcloud compute instances set-machine-type [VM_NAME] --machine-type=e2-standard-4

 

이제 다시 실행해보니 GitLab이 정상적으로 동작했다.


2. 디스크 부족 해결: 새로운 디스크 추가 후 마운트

GitLab이 정상 동작하는 듯했지만, 이번에는 디스크 용량 부족 문제가 터졌다.

추가로 설치할 것이 많아서, 추가 디스크를 연결하기로 했다.

새로운 디스크 생성 및 VM에 연결

  1. GCP 콘솔에서 Compute Engine → 스토리지 → 디스크 → 새 디스크 생성
  2. 기존 VM과 같은 존(zone) 선택
  3. 적절한 크기(예: 100GB) 설정 후 저장

이제 이 디스크를 VM에 마운트해야 한다.

 
lsblk # 새 디스크 확인
sudo mkfs.xfs /dev/sdb # 파일 시스템 생성
sudo mkdir /data/gitlab_data # 마운트할 폴더 생성
sudo mount /dev/sdb /data/gitlab_data # 디스크 마운트

3. NAS 마운트 유지하기 (재부팅 후에도 유지되게 설정)

디스크까지 마운트하고 나서 안심했지만, VM을 재기동하니 NAS 마운트가 풀려 있었다.
GitLab 데이터 저장을 위해 NAS를 연결했는데, 부팅 후 다시 마운트해야 하는 문제가 발생했다.

수동 NAS 마운트 방법

 
sudo mount /dev/sdb /data/gitlab_data # 디스크 마운트

해결: /etc/fstab에 NAS 마운트 추가

자동 마운트를 위해 /etc/fstab에 다음 내용을 추가했다.

sudo blkid #디스크 UUID 확인
nano /etc/fstab
UUID=0c0216-****************-************** /data xfs default 0 2
sudo mount -a # 설정적용확인
 

사용자마다 /etc/fstab 내용은 다를 수 있다. 기본으로 입력되어 있는 정보들은 잘 못 건드리면 부팅이 안될 수도 있으니 건드리지 말고, 마지막 줄에 mount 하고자 하는 내용을 입력하면 된다.

 

마지막에 숫자 0 2 의 의미는 각각 dump 생성 여부 / fsck 실행 순서를 나타내는데, 잘 모르겠다면 0, 2 로 셋팅하면 되는거 같다.


마무리

이번 삽질(?)을 통해 다음과 같은 교훈을 얻었다.

  1. GitLab은 메모리를 많이 먹으므로 충분한 메모리를 확보할 것.(비용을 고려하면,  다른 형상관리 및 CI/CD를 사용하는것도..)
  2. 디스크가 부족하면 VM에 새로운 디스크를 추가하고 자동 마운트를 설정할 것.
  3. NAS 마운트가 풀리는 문제는 /etc/fstab에 옵션을 추가해 해결할 것.

이제 GCP에서 GitLab을 안정적으로 운영할 수 있게 되었다.
혹시라도 같은 문제를 겪는 분들에게 도움이 되었으면 좋겠다!