본문 바로가기
일반IT/리눅스

리눅스 하드 디스크 추가? 💾 파티션부터 fstab 자동 마운트까지 완벽 가이드

by gasbugs 2025. 10. 11.

안녕하세요! 리눅스 서버의 용량이 부족해 새 디스크를 추가했는데, 막상 lsblk로 확인해보니 어떻게 사용해야 할지 막막하신가요? 😥 마치 새로 산 땅이 있지만, 집을 짓기 위해 무엇부터 해야 할지 모르는 상황과 같죠.

 

걱정 마세요! 오늘은 새로운 디스크를 리눅스 시스템에서 사용할 수 있도록 준비하는 전체 과정을 A to Z로 알아보겠습니다. 이 글을 따라오시면, 빈 디스크를 능숙하게 파티셔닝하고, 포맷하고, 시스템에 영구적으로 연결하는 방법을 마스터하게 될 거예요.

비유로 이해하기: 디스크 추가는 땅 사서 집 짓기!

  • 1단계: 땅 나누기 (파티셔닝): 넓은 땅(디스크)을 사서 집 지을 곳, 밭 만들 곳 등으로 구획을 나눕니다.
  • 2단계: 기반 다지기 (포맷): 집을 짓기 위해 땅의 기반을 다지고(파일 시스템 생성), 주소 체계를 만듭니다.
  • 3단계: 길 만들기 (마운트): 마을(리눅스 시스템)에서 내 땅까지 오는 길(마운트 포인트)을 연결합니다.
  • 4단계: 주소 등록하기 (fstab): 이삿짐센터나 우체부가 항상 찾아올 수 있도록, 내 땅의 주소를 동사무소(fstab)에 영구적으로 등록합니다.

자, 이제 이 순서대로 차근차근 시작해 봅시다!


1단계: 땅 나누기 - 디스크 파티셔닝 🗺️

가장 먼저 할 일은 물리적인 디스크를 논리적인 구역, 즉 '파티션'으로 나누는 것입니다. fdisk는 이를 위한 전통적이고 강력한 도구입니다.

 

💡 주의: 작업을 시작하기 전에 lsblk 명령어로 추가한 디스크의 이름(예: /dev/sdb, /dev/vdb)을 정확히 확인하세요. 실수로 운영체제가 설치된 디스크를 건드리면 큰일 날 수 있습니다!

# /dev/sdb를 예시로 파티셔닝을 시작합니다.
sudo fdisk /dev/sdb

 

fdisk 명령어 실행 후 나타나는 프롬프트에서 아래와 같이 차례대로 입력합니다.

  1. n: 새로운(new) 파티션을 만듭니다.
  2. p: 주(primary) 파티션을 선택합니다.
  3. 1: 첫 번째 파티션을 의미합니다.
  4. Enter: 시작 섹터는 기본값을 사용합니다.
  5. +10G: 파티션 크기를 10GB로 지정합니다. +500M처럼 MB 단위도 가능합니다.
  6. w: 지금까지의 변경 사항을 디스크에 기록(write)하고 종료합니다.

파티션 작업 후, 시스템이 변경 사항을 즉시 인식하도록 아래 명령어를 실행해 주는 것이 좋습니다.

sudo partprobe

2단계: 기반 다지기 - 파일 시스템 생성 (포맷) 🏗️

구획을 나눈 땅(파티션)에 파일을 저장할 수 있도록 '파일 시스템'이라는 구조를 만들어야 합니다. 이것이 바로 우리가 흔히 말하는 '포맷' 과정입니다.

리눅스에서는 주로 ext4와 xfs 파일 시스템이 사용됩니다.

  • ext4: 가장 널리 쓰이는 안정적인 파일 시스템
    # 방금 만든 첫 번째 파티션(/dev/sdb1)을 ext4로 포맷
    sudo mkfs.ext4 /dev/sdb1
    
  • xfs: 대용량 파일이나 고성능이 필요할 때 유리한 파일 시스템
    # xfs로 포맷하고 싶다면 아래와 같이 실행
    sudo mkfs.xfs /dev/sdb1
    

3단계: 길 만들기 - 파일 시스템 마운트 🔗

이제 기반 공사가 끝난 땅을 실제 주소 체계에 연결하여 우리가 접근할 수 있도록 '길'을 만들어야 합니다. 이 과정을 마운트(mount)라고 합니다.

 

a. 길의 끝 지점 만들기 (마운트 포인트)

마운트는 특정 디렉터리에 파티션을 연결하는 방식입니다. 먼저 연결될 비어있는 디렉터리를 만들어야 합니다.

sudo mkdir /data

 

b. 길 연결하기 (수동 마운트)

mount 명령어로 파티션과 디렉터리를 연결합니다.

sudo mount /dev/sdb1 /data

 

이제 df -h 명령어를 실행해 보면, /data 디렉터리에 /dev/sdb1이 성공적으로 연결된 것을 확인할 수 있습니다! 하지만 이 연결은 임시적이라서, 서버를 재부팅하면 사라집니다.


4. 주소 등록하기 - fstab으로 자동 마운트 ⚙️

매번 재부팅할 때마다 수동으로 마운트할 수는 없겠죠? 시스템이 부팅될 때마다 자동으로 마운트되도록 /etc/fstab 파일에 주소를 등록해야 합니다.

 

a. 파티션의 고유 주소(UUID) 확인하기

디스크 이름(/dev/sdb1)은 다른 디스크를 추가하거나 제거할 때 바뀔 수 있는 불안정한 주소입니다. 따라서 파티션마다 부여되는 고유하고 영구적인 식별자인 UUID를 사용하는 것이 훨씬 안전합니다.

sudo blkid

 

위 명령어를 실행하면 /dev/sdb1: UUID="a1b2c3d4-..." 와 같은 결과를 볼 수 있습니다. 여기서 UUID 값을 복사해 두세요.

 

b. /etc/fstab 파일에 등록하기

/etc/fstab 파일 맨 아래에 다음 형식에 맞춰 한 줄을 추가합니다.

# [UUID]         [마운트 포인트] [파일 시스템] [옵션]     [덤프] [체크]
UUID=a1b2c3d4... /data           ext4        defaults   0      0
  • 옵션: defaults는 가장 일반적이고 안전한 기본 옵션 세트입니다.
  • 덤프/체크: 일반 데이터 디스크의 경우 보통 0 0으로 설정합니다.

아래 명령어를 사용하면 터미널에서 바로 fstab 파일에 안전하게 내용을 추가할 수 있습니다.

# 먼저 UUID 값을 변수에 저장합니다.
MY_UUID=$(sudo blkid -s UUID -o value /dev/sdb1)

# echo와 tee를 이용해 fstab 파일에 추가합니다.
echo "UUID=$MY_UUID /data ext4 defaults 0 0" | sudo tee -a /etc/fstab

 

이제 모든 작업이 끝났습니다! 시스템을 재부팅해도 /data 디렉터리는 항상 새로운 디스크와 연결되어 있을 것입니다. 🎉

 

마무리하며

디스크 추가는 더 이상 두려운 작업이 아닙니다. '땅 나누기(fdisk) → 기반 다지기(mkfs) → 길 만들기(mount) → 주소 등록(fstab)' 이 네 단계만 기억하세요. 이 과정은 리눅스 시스템 관리의 가장 기본이면서도 중요한 기술 중 하나랍니다.


태그: Linux, 리눅스, 서버, 하드디스크, fdisk, mkfs, mount, fstab, UUID, 시스템관리, DevOps