현재 나는 Ubuntu Server에 SSD가 두개가 있다. 하나는 1TB 또다른 하나는 512GB AI의 조언을 받아 1TB는 OS를 설치하고 512GB는 데이터 전용 디스크로 만들어라고 하여 그렇게 했다. 현재 1TB에 Ubuntu Server를 설치했고, IP와 외부 접속까지 완료 했으므로 SSD를 마운트를 해야할 순서였다.(쿠버네티스 사용을 해서 DB도 구현할 예정)
왜 OS와 데이터를 분리하는가?
분리 안 할 때:
OS + 데이터가 같은 디스크
→ OS 재설치 시 데이터도 날아감 ❌
분리 할 때:
OS → 1TB SSD (/dev/sdb)
데이터 → 512GB SSD (/dev/sda, /data)
→ OS 재설치해도 데이터 안전 ✅
특히 쿠버네티스 환경에서 PostgreSQL 데이터, 로그, 백업 파일을 별도 디스크에 저장하면 장애 복구가 훨씬 쉬워진다.
1단계: 디스크 현황 파악
lsblk
출력 예시:
NAME SIZE TYPE MOUNTPOINTS
sda 476.9G disk ← 512GB SSD (데이터용으로 사용할 것)
├─sda1 10G part ← 기존 윈도우 파티션들
├─sda2 260M part
sdb 931.5G disk
├─sdb1 1G part /boot/efi ← Ubuntu 부팅 파티션
└─sdb2 930.5G part / ← Ubuntu OS 파티션
2단계: 기존 파티션 제거 및 새 파티션 생성
512GB SSD에 기존 윈도우 파티션이 있다면 제거하고 새로 만들어야 한다. 현재 나는 윈도우를 제거하지 않았으므로 기존 파티션을 제거하고 새 파티션을 생성해야했다.
sudo fdisk /dev/sda
fdisk 명령어 순서:
p → 현재 파티션 확인
g → 새 GPT 파티션 테이블 생성 (기존 파티션 모두 삭제)
n → 새 파티션 생성 (엔터 3번으로 기본값 선택)
y → ntfs 서명 제거 확인
w → 변경사항 저장 및 종료
⚠️ g 명령어로 새 파티션 테이블을 만들면 기존 데이터가 모두 삭제된다.
3단계: ext4 포맷
ext4를 선택하는 이유
파일 시스템특징적합한 용도
| ext4 | Linux 표준, 안정적, 빠름 | Linux 서버 ✅ |
| xfs | 대용량 파일 특화 | 대형 서버 |
| ntfs | Windows 전용 | Windows |
sudo mkfs.ext4 /dev/sda1
4단계: 마운트 포인트 생성 및 마운트
sudo mkdir /data
sudo mount /dev/sda1 /data
마운트 원리
마운트 전:
/dev/sda1 → 그냥 디스크 장치 (접근 불가)
마운트 후:
/dev/sda1 → /data 경로로 접근 가능
ls /data → 디스크 내용 확인 가능
5단계: 재부팅 시 자동 마운트 설정
단순히 mount 명령어로 마운트하면 재부팅 시 마운트가 해제된다. 예전 회사에서 그러지 않아서 NCP 클라우드 서버를 껏다 켰는데 사라져서 아주 당황했던 기억이 있다. /etc/fstab 파일에 등록하면 부팅 시 자동으로 마운트된다.
UUID 확인
sudo blkid /dev/sda1
출력 예시:
/dev/sda1: UUID="SSD키값" TYPE="ext4"
UUID를 사용하는 이유: 디스크 순서가 바뀌어도 UUID는 변하지 않아서 안정적임
fstab 편집
sudo nano /etc/fstab
파일 맨 아래에 추가:
UUID=SSD키값 /data ext4 defaults 0 2
각 항목 설명:
UUID=... → 디스크 고유 식별자
/data → 마운트 포인트
ext4 → 파일 시스템 타입
defaults → 기본 마운트 옵션
0 → dump 백업 여부 (0=사용 안 함)
2 → fsck 순서 (2=루트 다음에 체크)
적용 확인
sudo mount -a # fstab 적용
df -h | grep data # 마운트 확인
출력 예시:
/dev/sda1 469G 28K 445G 1% /data
6단계: 쿠버네티스용 디렉토리 구조 생성
sudo mkdir -p /data/postgres-dev
sudo mkdir -p /data/postgres-prod
sudo mkdir -p /data/postgres-backup
sudo chown -R 999:999 /data/postgres-dev
sudo chown -R 999:999 /data/postgres-prod
sudo chown -R 999:999 /data/postgres-backup
PostgreSQL 컨테이너의 기본 사용자 ID가 999이므로 권한을 999로 설정한다.
최종 디스크 구조
서버 스토리지
├── /dev/sdb (1TB) → Ubuntu OS + k3s
└── /dev/sda (512GB) → /data (데이터 전용)
├── /data/postgres-dev/ ← 테스트 DB
├── /data/postgres-prod/ ← 운영 DB
└── /data/postgres-backup/ ← 백업 DB'Linux' 카테고리의 다른 글
| Cloudflare 도메인 + Tunnel - 포트포워딩 없이 도메인 연결 (0) | 2026.04.26 |
|---|---|
| Tailscale로 외부에서 서버 접속하기 (0) | 2026.04.23 |
| Wake On LAN (WOL) 설정 (0) | 2026.04.23 |
| Ubuntu Server 고정 IP 설정 (netplan) (1) | 2026.04.23 |
| SSH 원격 접속 설정 (0) | 2026.04.23 |