우분투 실전 명령어 | findmnt로 마운트 트리와 옵션 빠르게 점검하기

우분투 실전 명령어 | findmnt로 마운트 트리와 옵션 빠르게 점검하기

디스크 장애나 컨테이너 볼륨 이슈가 나면, "어디가 어떤 옵션으로 마운트됐는지"를 먼저 정확히 보는 게 핵심입니다. findmnt는 /proc 정보를 사람이 읽기 쉽게 정리해줘서 mount 출력보다 훨씬 빠르게 원인 후보를 좁힐 수 있습니다.

언제 쓰는가

  • 운영 서버에서 특정 경로가 read-only로 잡혀 쓰기 실패가 날 때
  • NFS, CIFS, tmpfs처럼 파일시스템 타입별 마운트 상태를 분리 점검할 때
  • 컨테이너 호스트에서 bind mount 전파 옵션(rshared 등) 확인이 필요할 때

바로 쓰는 명령어

# 전체 마운트 트리를 핵심 컬럼으로 확인
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS

# 특정 경로가 어떤 소스에서 마운트됐는지 확인
findmnt /var/lib/docker
# 파일시스템 타입별 필터링
findmnt -t ext4,xfs
findmnt -t nfs,nfs4

# 커널이 인식한 실시간 정보(/proc/self/mountinfo) 기반 조회
findmnt --kernel -o TARGET,SOURCE,FSTYPE,OPTIONS

핵심 옵션/패턴

  • findmnt PATH: 해당 경로를 포함하는 마운트 엔트리를 바로 조회
  • -t: 파일시스템 타입 필터. 로컬/원격 스토리지 점검을 나눌 때 유용
  • -o: 필요한 컬럼만 지정해 가독성 확보
  • -n: 헤더 제거. 스크립트 파싱용
  • -S: SOURCE 기준 필터. 특정 디바이스(/dev/nvme0n1p2) 역추적에 유용
# 디바이스 기준 역추적
findmnt -S /dev/nvme0n1p2 -o TARGET,SOURCE,FSTYPE,OPTIONS

# 스크립트에서 rw/ro 여부만 간단 판별
opts=$(findmnt -n -o OPTIONS /var/lib/postgresql)
case ",$opts," in
  *,ro,*) echo "read-only" ;;
  *,rw,*) echo "read-write" ;;
  *) echo "unknown" ;;
esac

명령 출력 예시

$ findmnt /var/lib/docker
TARGET          SOURCE                FSTYPE OPTIONS
/var/lib/docker /dev/mapper/vg0-data ext4   rw,relatime,errors=remount-ro

$ findmnt -t nfs4 -o TARGET,SOURCE,OPTIONS
TARGET     SOURCE                  OPTIONS
/mnt/share 10.10.20.15:/srv/share  rw,relatime,vers=4.1,proto=tcp,timeo=600

자주 하는 실수

  • 실수 1: mount 출력만 보고 최종 마운트 포인트를 오해함. 중첩 마운트는 findmnt 트리로 확인해야 정확함
  • 실수 2: /etc/fstab 설정만 믿고 현재 상태를 점검하지 않음. 실제 런타임 옵션은 다를 수 있음
  • 실수 3: NFS 지연 이슈를 파일 권한 문제로 착각함. 먼저 findmnt -t nfs,nfs4로 옵션과 소스를 확인해야 함

검증 방법

# 테스트용 루프백 파일시스템 마운트 후 상태 확인
truncate -s 64M /tmp/findmnt-demo.img
mkfs.ext4 -F /tmp/findmnt-demo.img
sudo mkdir -p /mnt/findmnt-demo
sudo mount -o loop /tmp/findmnt-demo.img /mnt/findmnt-demo

findmnt /mnt/findmnt-demo
findmnt -S /tmp/findmnt-demo.img -o TARGET,SOURCE,FSTYPE,OPTIONS
# 정리 및 재확인
sudo umount /mnt/findmnt-demo
findmnt /mnt/findmnt-demo || echo "unmounted"
rm -f /tmp/findmnt-demo.img

운영 팁

  • 장애 대응 템플릿에 findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS를 기본 수집 항목으로 넣어두면 초동 분석 속도가 크게 올라갑니다.
  • 스토리지 변경 작업 전후로 findmnt 결과를 저장해 diff 비교하면 옵션 누락을 빨리 찾을 수 있습니다.
  • DB 경로, 로그 경로처럼 핵심 디렉터리는 정기 점검 스크립트에서 rw/ro 상태를 알림으로 보내는 습관이 좋습니다.

출처

  • util-linux findmnt
  • Ubuntu Manpages
  • Linux kernel docs