[Linux] fstab 이해하고 자동 마운트 설정하기

리눅스 시스템에서는 저장장치를 수동으로 마운트할 수도 있지만, 서버를 재부팅할 때마다 매번 마운트를 반복하기엔 번거롭습니다.
이럴 때 사용하는 것이 바로 /etc/fstab 파일입니다.

fstab의 구조를 이해하고, 디스크나 파티션을 자동 마운트하는 방법을 알아보겠습니다.

 


fstab이란 무엇인가요?

/etc/fstab 파일은 시스템이 부팅될 때 자동으로 마운트해야 할 파일시스템(디스크, 파티션, 네트워크 드라이브 등)을 정의하는 설정 파일입니다.

fstab의 각 줄은 하나의 마운트 항목을 나타내며, 다음과 같은 필드를 포함합니다:

[파일시스템] [마운트 지점] [파일시스템 종류] [옵션] [dump] [fsck]

예시:

/dev/sdb1   /mnt/data   ext4   defaults   0   2

각 항목의 의미는 아래에서 더 자세히 설명드릴게요.

 

fstab 필드 설명

  • 파일시스템 – 마운트할 장치의 경로나 UUID
  • 마운트 지점 – 장치를 연결할 디렉터리
  • 파일시스템 종류 – 예: ext4, xfs, ntfs, vfat 등
  • 옵션 – defaults, nofail, rw, ro 등 마운트 시 옵션
  • dump – 0이면 덤프하지 않음, 백업에 사용
  • fsck – 부팅 시 파일시스템 검사 순서 (0은 검사하지 않음)

 

UUID 확인 방법

fstab에 디바이스 경로(/dev/sdX)를 직접 쓰기보다, UUID를 사용하는 것이 더 안전합니다.
디바이스 이름은 부팅 순서에 따라 바뀔 수 있지만 UUID는 고정되기 때문이에요.

sudo blkid

예시 출력:

/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-56789abcdeff" TYPE="ext4"

 

 

마운트 지점 만들기

디바이스를 연결할 디렉토리를 미리 생성해 둡니다.

sudo mkdir -p /mnt/data

 

 

fstab에 자동 마운트 설정 추가

/etc/fstab 파일을 수정하여 자동 마운트를 설정합니다.

sudo nano /etc/fstab

다음 내용을 추가 (UUID는 blkid로 확인한 값으로 변경):

UUID=a1b2c3d4-e5f6-7890-1234-56789abcdeff   /mnt/data   ext4   defaults   0   2

 

 

fstab 설정 적용 및 테스트

시스템을 재부팅하지 않고도 fstab 설정을 바로 테스트할 수 있습니다:

sudo mount -a

오류가 없으면 정상적으로 마운트가 된 것입니다.
df -h 명령어로 마운트 상태를 확인해보세요.

 

마운트 실패 시 부팅 멈춤 방지 (옵션)

외부 디스크나 네트워크 드라이브처럼 항상 연결되어 있지 않을 수 있는 장치의 경우, nofail 옵션을 사용하는 것이 좋습니다.

예시:

UUID=xxxx-xxxx   /mnt/usb   vfat   defaults,nofail   0   0

 

fstab으로 마운트 자동화하기

/etc/fstab을 활용하면 서버가 재부팅될 때도 디스크를 자동으로 마운트할 수 있어 운영의 편의성이 크게 향상됩니다.
설정 시에는 UUID를 사용하고 mount -a로 오류 여부를 꼭 확인하는 습관을 들여주세요.