오라클 클라우드(OCI) Always Free 인스턴스를 한동안 잘 쓰다 보면, 어느 날 갑자기 이런 상황을 만나게 됩니다.
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 45G 44G 1.2G 98% /
디스크 사용률 98%. 도커 이미지 몇 개 받고, 로그가 쌓이고, DB가 좀 커졌을 뿐인데 어느새 꽉 차버립니다. 저도 운영 중이던 인스턴스가 거의 풀나기 직전까지 가서 부랴부랴 디스크를 늘리게 되었는데요, 다행히 추가 비용 없이 무료 한도 내에서 꽤 넉넉하게 확장할 수 있었습니다.
이 글에서는 기본 인스턴스가 주는 용량과, 거기서 무료로 어디까지 더 늘릴 수 있는지를 실제로 작업한 순서대로 정리해 보겠습니다.
1. 먼저, 기본 인스턴스는 얼마나 주나요?
OCI의 Always Free(평생 무료) 티어는 생각보다 후합니다. 디스크(블록 스토리지) 기준으로 무료 한도는 이렇습니다.
| 항목 | 무료 한도 |
|---|---|
| 블록 스토리지 총량 | 200GB (부트 볼륨 + 추가 블록 볼륨 합산) |
| 부트 볼륨 최소 크기 | 50GB |
| 블록 볼륨 개수 | 한도(200GB) 안에서 자유롭게 |
여기서 핵심은 "200GB는 부트 볼륨과 추가 볼륨을 모두 합친 값" 이라는 점입니다.
그런데 인스턴스를 처음 만들면 부트 볼륨이 보통 46~47GB 정도로 잡혀 있습니다. 즉 200GB를 다 받은 게 아니라, 150GB 이상을 그냥 남겨두고 있는 셈이죠. 이 남은 용량을 두 가지 방법으로 끌어다 쓸 수 있습니다.
- 방법 A. 기존 부트 볼륨을 더 크게 확장 (예: 47GB → 100GB)
- 방법 B. 새 블록 볼륨을 추가로 만들어 별도 디스크로 붙이기 (예: 100GB를
/data로)
저는 두 가지를 다 적용해서 부트 100GB + 블록 100GB = 200GB로, 무료 한도를 꽉 채워 사용했습니다. 순서대로 보겠습니다.
2. 단계 — 부트 볼륨 확장하기 (47GB → 100GB)
2-1. OCI 콘솔에서 볼륨 크기 변경
먼저 웹 콘솔에서 볼륨의 "선언된 크기"부터 키워줍니다.
- OCI 콘솔 → Compute(컴퓨트) → Instances(인스턴스) → 내 인스턴스 선택
- 좌측 Resources → Boot Volume(부트 볼륨) 클릭 → 볼륨 이름 클릭
- 우측 상단 Edit(편집) → Volume Size(볼륨 크기) 를
100GB로 입력 후 저장
⚠️ 콘솔에서 크기를 키워도, OS는 아직 늘어난 걸 모릅니다. 디스크는 100GB가 됐지만 파티션과 파일시스템은 그대로라서, 아래 OS 작업까지 해줘야 실제로 공간이 늘어납니다.
2-2. 서버에 SSH로 접속해서 파일시스템까지 늘리기
콘솔에서 키운 용량을 리눅스가 인식하도록 rescan → 파티션 확장 → 파일시스템 확장 3단계를 진행합니다.
# 1) 디스크 변경사항을 OS에 다시
인식시키기
echo 1 | sudo tee /sys/class/block/sda/device/rescan
# 2) 파티션(sda1)을 디스크 끝까지 확장
sudo growpart /dev/sda 1
# 3) 파일시스템을 파티션 크기에 맞게 확장 (ext4 기준)
sudo resize2fs /dev/sda1
이제 확인해 보면 루트 디스크가 늘어나 있습니다.
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 97G 44G 53G 46% /
growpart나 resize2fs 명령이 없다면 아래로 설치하시면 됩니다.
sudo apt update && sudo apt install -y cloud-guest-utils e2fsprogs
3. 단계 — 새 블록 볼륨 100GB 추가해서 붙이기
부트 볼륨만 키워도 되지만, 저는 데이터·도커·DB는 별도 디스크로 분리하는 걸 선호합니다. 부트 볼륨이 꽉 차서 부팅이 안 되는 사고를 막을 수 있거든요. 그래서 100GB짜리 블록 볼륨을 따로 만들어 /data로 붙였습니다.
3-1. OCI 콘솔에서 블록 볼륨 생성 & 연결
- 콘솔 → Storage(스토리지) → Block Volumes(블록 볼륨) → Create Block Volume
- 크기
100GB, 가용 도메인은 인스턴스와 동일하게 (안 그러면 연결 불가)
- 크기
- 다시 인스턴스 → Resources → Attached Block Volumes → Attach Block Volume
- Attachment type: Paravirtualized(반가상화) 선택 (별도 iSCSI 설정이 필요 없어 가장 간편합니다)
3-2. 서버에서 포맷하고 마운트하기
연결되면 새 디스크가 /dev/sdb로 보입니다.
# 새 디스크(sdb)가 보이는지 확인
lsblk
# sdb 8:16 0 100G 0 disk ← 100GB 디스크가 새로 보이면 OK
# ext4로 포맷 (라벨을 'data'로 지정)
sudo mkfs.ext4 -L data /dev/sdb
# 마운트할 폴더 만들고 붙이기
sudo mkdir -p /data
sudo mount /dev/sdb /data
3-3. 재부팅해도 자동 마운트되게 fstab 등록
이 단계를 빼먹으면 재부팅 시 디스크가 안 붙어서 서비스가 죽을 수 있으니 꼭 해주세요.
# 디스크 UUID 확인
sudo blkid -s UUID -o value /dev/sdb
# 예: f112d479-21ef-4a5c-b357-230f7d665277
/etc/fstab 맨 아래에 아래 한 줄을 추가합니다. (UUID는 위에서 확인한 값으로)
UUID=f112d479-21ef-4a5c-b357-230f7d665277 /data ext4 defaults,_netdev,nofail 0
2
💡nofail옵션이 핵심입니다. 혹시 디스크 연결이 늦어지거나 문제가 생겨도 부팅 자체는 막지 않도록 해주는 안전장치입니다. 클라우드 블록 볼륨은_netdev도 같이 넣어주는 걸 권장합니다.
마지막으로 설정이 맞는지 미리 검증하고 마무리합니다.
sudo mount -a # 에러 없이
넘어가면 fstab 설정 정상
df -h /data
4. 결과 정리 — 무료로 200GB 꽉 채우기
여기까지 하면 무료 한도(200GB)를 알뜰하게 다 쓰게 됩니다.
| 볼륨 | 마운트 | 크기 | 용도 |
|---|---|---|---|
부트 볼륨 /dev/sda1 |
/ | 100GB | OS·기본 시스템 |
블록 볼륨 /dev/sdb |
/data | 100GB | 도커·DB·데이터 |
| 합계 | 200GB / 200GB | 무료 한도 소진 |
$ df -h / /data
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 97G 63G 34G 66% /
/dev/sdb 98G 30G 64G 32% /data
처음 45GB로 쩔쩔매던 것에 비하면 정말 숨통이 트입니다.
5. 보너스 — 디스크 말고 vCPU·메모리도 무료로 더 줍니다
사실 OCI Always Free에서 무료로 늘릴 수 있는 건 디스크만이 아닙니다. ARM 기반(Ampere A1) 인스턴스는 아래까지 평생 무료입니다.
| 자원 | Always Free 한도 |
|---|---|
| OCPU(vCPU) | 최대 4개 |
| 메모리(RAM) | 최대 24GB |
| 블록 스토리지 | 200GB |
그런데 인스턴스를 만들 때 기본값으로 두면 1 vCPU / 6GB RAM 정도만 받는 경우가 많습니다. 즉, vCPU 3개와 RAM 18GB를 그냥 비워두고 있는 셈이죠. 이건 콘솔에서 인스턴스를 재구성(Reshape / Edit) 하면 무료 한도 안에서 1→4 vCPU, 6→24GB까지 올릴 수 있습니다. (변경 시 재부팅 한 번 필요합니다.)
또 하나, 메모리가 빠듯하다면 swap 파일을 만들어두는 것도 좋습니다. RAM을 올리지 않아도 디스크를 임시 메모리처럼 써서 OOM(메모리 부족) 사고를 줄여줍니다.
# 4GB swap 파일 만들기
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 재부팅 후에도 유지되게 fstab 등록
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
마무리
정리하면, OCI 무료 인스턴스는 기본값만 쓰면 한도의 절반도 안 쓰고 있는 경우가 대부분입니다. 디스크는 200GB까지(부트 확장 + 블록 추가), vCPU는 4개, RAM은 24GB까지 추가 비용 0원으로 끌어다 쓸 수 있으니, 답답하셨던 분들은 꼭 한 번 확장해 보시길 권합니다.
작업 자체도 콘솔에서 크기 키우고 → 서버에서 growpart / resize2fs 또는 mkfs / mount 몇 줄이면 끝이라 생각보다 간단합니다. 다만 fstab의 nofail 옵션과 자동 마운트 검증(mount -a)은 꼭 챙기셔서, 재부팅 사고 없이 안전하게 늘리시길 바랍니다. ^^
'IT' 카테고리의 다른 글
| openCLAW, 서비스 구축 및 연동 (0) | 2026.03.05 |
|---|---|
| MongoDB, 5.0+, CPU가 AVX 미지원시 설치 오류 메시지, VM이슈 (1) | 2024.05.22 |
| [LLM(거대언어모델)-한국어] :: 국내 산업체, 학계의 접근법 정리, 23년 11월, 정보과학회지 6편 정리, Cheating Sheet (2) | 2023.12.18 |
| [카카오계정 SSO 인증] 앱 관리자 설정 오류 (KOE009) (2) | 2023.12.05 |
| [정의] Crawl Depth (0) | 2023.10.13 |
