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

🐧 리눅스 파일 시스템 완전 정복: fstab 자동 마운트와 읽기 전용(Read-Only) 설정으로 데이터 지키기

by gasbugs 2025. 10. 10.

안녕하세요, 리눅스 시스템 관리자 및 개발자 여러분! 서버를 운영하다 보면 새로운 디스크를 추가하고, 부팅할 때마다 자동으로 연결되게 하거나, 중요한 데이터가 실수로 변경되지 않도록 보호해야 하는 순간이 찾아옵니다.

 

오늘은 바로 이 두 가지 필수적인 시나리오, ①부팅 시 파일 시스템 자동 마운트②이미 마운트된 파일 시스템을 읽기 전용으로 변경하여 데이터 무결성 지키기에 대해 아주 상세하게 알아보겠습니다.

 

이 포스팅 하나면 파일 시스템 마운트 관리에 자신감이 생기실 거예요! 💪

 

 

Part 1. 재부팅해도 괜찮아! /etc/fstab으로 파일 시스템 자동 마운트하기 🚀

서버에 새로운 백업용 디스크를 추가했다고 상상해 보세요. mount 명령어로 디스크를 /backups 디렉터리에 연결했지만, 서버를 재부팅하니 연결이 끊어져 있습니다! 😱 매번 부팅할 때마다 수동으로 마운트할 수는 없겠죠?

이럴 때 사용하는 것이 바로 /etc/fstab 파일입니다.

fstab 파일이란 무엇일까요? 🤔

  • fstab = File System Table (파일 시스템 테이블)
  • 리눅스가 부팅될 때 참조하는 파일 시스템 목록 정보 파일입니다.
  • 이 파일에 등록된 장치들은 부팅 과정에서 자동으로 지정된 위치에 마운트됩니다.

fstab 파일에 직접 등록해 보기 📝

우리는 xfs 파일 시스템을 사용하는 /dev/vdb1 장치를 /backups 디렉터리에 자동으로 마운트해 보겠습니다.

터미널에서 아래 명령어를 실행하여 /etc/fstab 파일의 맨 마지막 줄에 설정을 추가해 주세요.

echo '/dev/vdb1   /backups   xfs   defaults   0   0' | sudo tee -a /etc/fstab

 

잠깐! 이 명령어, 안전한가요? 네, 아주 안전하고 권장되는 방식입니다.

  • echo '...': 따옴표 안의 텍스트를 출력합니다.
  • | sudo tee -a ...: 관리자 권한(sudo)으로 tee 명령어를 실행합니다. -a 옵션은 덮어쓰지 않고 파일의 맨 끝에 내용을 추가(append)하라는 의미입니다. 시스템 설정 파일을 수정할 때 실수를 방지하는 가장 좋은 방법 중 하나죠!

추가된 설정 한 줄, 완전 분석! dissected

/dev/vdb1 /backups xfs defaults 0 0 이 한 줄은 6개의 필드로 구성됩니다.

  1. 장치명 (/dev/vdb1): 마운트할 파티션의 이름입니다.
  2. 마운트 포인트 (/backups): 장치가 연결될 디렉터리 경로입니다.
  3. 파일 시스템 종류 (xfs): xfs, ext4, ntfs 등 파일 시스템의 타입을 지정합니다.
  4. 옵션 (defaults): 마운트 시 적용할 옵션입니다. defaults는 rw(읽기/쓰기), suid, dev, exec, auto, nouser, async 등 가장 일반적이고 기본적인 옵션들을 모두 포함하는 키워드입니다.
  5. Dump 설정 (0): dump 명령어로 백업할지 여부입니다. 0은 백업하지 않음을 의미하며, 요즘은 거의 0으로 설정합니다.
  6. 파일 시스템 체크 순서 (0): 부팅 시 파일 시스템 체크(fsck) 순서입니다. 0은 체크하지 않음을 의미합니다. 루트 파일 시스템은 1, 그 외에는 보통 2 또는 0을 사용합니다.

재부팅 없이 설정 테스트하기 ✅

설정을 잘 추가했는지 확인하기 위해 굳이 재부팅할 필요는 없습니다. 아래 명령어를 실행해 보세요.

sudo mount -a

 

mount -a 명령어는 /etc/fstab 파일을 읽어서, 현재 마운트되어 있지 않은 항목들을 모두 마운트해 주는 아주 편리한 명령어입니다. 아무런 오류 메시지가 없다면 성공적으로 설정된 것입니다!

Part 2. 데이터는 소중하니까! 읽기 전용(Read-Only)으로 리마운트하기 🛡️

이제 다른 시나리오를 생각해 봅시다. /mnt 디렉터리에 아주 중요한 원본 데이터가 담긴 디스크(ext4 형식의 /dev/vdb2)가 마운트되어 있습니다. 이 데이터는 절대 수정되거나 삭제되면 안 됩니다.

이럴 때는 파일 시스템을 읽기 전용(read-only)으로 다시 마운트하여 데이터 변경을 원천 차단할 수 있습니다.

remount 옵션으로 안전하게 변경하기 🔒

이미 마운트된 파일 시스템의 옵션을 변경할 때, 굳이 umount 하고 다시 mount 할 필요 없습니다. remount 옵션을 사용하면 아주 간단하게 해결됩니다.

 

터미널에 아래 명령어를 입력하세요.

sudo mount -o remount,ro /mnt

 

명령어 완전 분석!

  • sudo mount: 마운트 명령을 관리자 권한으로 실행합니다.
  • -o remount,ro: 마운트 옵션(-o)을 지정합니다.
    • remount: 기존 마운트를 해제하지 않고, 옵션만 다시 적용합니다.
    • ro: read-only의 약자로, 읽기 전용으로 설정합니다.
  • /mnt: 옵션을 변경할 대상 마운트 포인트입니다.

진짜로 적용됐는지 확인하기 👀

설정이 잘 적용되었는지 확인하는 것은 필수겠죠? 아래 명령어로 현재 마운트 상태를 확인해 봅시다.

mount | grep /mnt

 

명령어를 실행했을 때, 결과에 ro라는 글자가 보이면 성공입니다!

# 실행 결과 예시
/dev/vdb2 on /mnt type ext4 (ro,relatime)

이제 /mnt 디렉터리 안에서는 파일 생성(touch), 수정(vi), 삭제(rm) 등 어떠한 쓰기 작업도 불가능하게 됩니다. 여러분의 소중한 데이터는 이제 안전합니다!

마무리하며 ✨

오늘은 리눅스 시스템 관리의 핵심 기술인 fstab을 이용한 자동 마운트와 remount를 활용한 읽기 전용 설정에 대해 알아보았습니다. 이 두 가지 기술만 잘 활용해도 서버의 안정성과 데이터 무결성을 크게 향상시킬 수 있습니다.

자동화는 시스템 관리의 기본이며, 데이터 보호는 그 무엇보다 중요합니다. 오늘 배운 내용을 꼭 여러분의 서버에 적용해 보시길 바랍니다!


태그: 리눅스, fstab, mount, remount, 파일시스템, 서버 관리, 데이터 보호, xfs, ext4, DevOps, 시스템 엔지니어링