Linux 서버를 운영하다 보면 파일을 저장하거나 수정하는 과정에서 “Read-only file system” 오류가 발생하는 경우가 있습니다. 이 오류가 발생하면 파일을 생성하거나 삭제할 수 없으며, 서비스 설정을 변경하거나 로그를 저장하는 작업도 실패할 수 있습니다.
읽기 전용(Read-only) 파일 시스템은 단순한 권한 문제가 아니라 파일 시스템 오류, 디스크 장애, 마운트 옵션 등의 원인으로 발생하는 경우가 많습니다. 따라서 원인을 정확하게 확인한 후 적절한 방법으로 해결해야 합니다.
이번 글에서는 Linux에서 Read-only file system 오류를 확인하는 방법과 해결하는 방법을 자세히 알아보겠습니다.
Read-only 파일 시스템이란?
Read-only 파일 시스템은 데이터를 읽을 수는 있지만 수정하거나 삭제할 수 없는 상태를 의미합니다.
운영체제는 파일 시스템 오류를 감지하면 데이터 손상을 방지하기 위해 자동으로 읽기 전용 모드로 변경하기도 합니다.
이 상태에서는 대부분의 쓰기 작업이 제한됩니다.
현재 마운트 상태 확인하기
먼저 파일 시스템이 읽기 전용으로 마운트되었는지 확인합니다.
다음 명령어를 실행합니다.
mount
또는
cat /proc/mounts
출력 결과에서 ro는 읽기 전용(Read-only), rw는 읽기/쓰기(Read-Write)를 의미합니다.
특정 디스크의 마운트 옵션 확인하기
특정 디스크만 확인하려면 다음 명령어를 사용할 수 있습니다.
mount | grep /data
출력 결과에 ro가 포함되어 있다면 해당 파일 시스템은 읽기 전용으로 마운트된 상태입니다.
디스크 오류 확인하기
파일 시스템 오류가 발생했는지 확인하려면 커널 로그를 확인하는 것이 좋습니다.
다음 명령어를 실행합니다.
dmesg | tail
또는
journalctl -k
디스크 오류나 I/O 오류가 발생했다면 관련 메시지가 출력될 수 있습니다.
파일 시스템 검사하기
파일 시스템 오류가 의심된다면 fsck를 실행합니다.
먼저 파일 시스템을 해제합니다.
sudo umount /dev/sdb1
그다음 오류를 검사합니다.
sudo fsck /dev/sdb1
오류가 발견되면 복구를 진행합니다.
읽기/쓰기 모드로 다시 마운트하기
파일 시스템에 문제가 없다면 읽기/쓰기 모드로 다시 마운트할 수 있습니다.
다음 명령어를 실행합니다.
sudo mount -o remount,rw /dev/sdb1
루트 파일 시스템이라면 다음과 같이 사용할 수 있습니다.
sudo mount -o remount,rw /
정상적으로 완료되면 다시 파일을 생성하거나 수정할 수 있습니다.
디스크 사용량 확인하기
디스크 용량이 가득 찬 경우에도 오류가 발생할 수 있습니다.
다음 명령어를 실행합니다.
df -h
디스크 사용률이 100%인지 함께 확인하는 것이 좋습니다.
inode 사용량 확인하기
inode가 모두 사용된 경우에도 파일 생성이 실패할 수 있습니다.
다음 명령어를 실행합니다.
df -i
inode 사용률이 매우 높다면 불필요한 파일을 정리하는 것이 좋습니다.
fstab 설정 확인하기
자동 마운트 설정에서 읽기 전용 옵션이 지정되어 있는 경우도 있습니다.
다음 명령어를 실행합니다.
cat /etc/fstab
마운트 옵션에 ro가 설정되어 있는지 확인합니다.
필요하다면 rw 또는 defaults로 수정합니다.
Read-only 오류가 발생하는 주요 원인
다음과 같은 상황에서 읽기 전용 파일 시스템이 발생할 수 있습니다.
- 파일 시스템 손상
- 디스크 불량
- SSD 또는 HDD 오류
- 잘못된 마운트 옵션
- 강제 종료
- 전원 장애
- 디스크 용량 부족
- inode 부족
원인에 따라 해결 방법이 달라질 수 있습니다.
Read-only 오류 해결 시 주의할 점
읽기 전용 상태를 강제로 변경하기 전에 먼저 파일 시스템 상태를 확인하는 것이 중요합니다.
디스크 자체에 문제가 있는 경우에는 강제로 읽기/쓰기 모드로 변경하면 데이터 손상이 더 심해질 수 있습니다.
운영 서버에서는 중요한 데이터를 먼저 백업한 후 작업하는 것이 안전합니다.
자주 묻는 질문
Read-only file system 오류는 왜 발생하나요?
파일 시스템 오류, 디스크 장애, 잘못된 마운트 옵션, 디스크 용량 부족 등이 주요 원인입니다.
읽기 전용 상태는 어떻게 확인하나요?
다음 명령어를 사용합니다.
mount
또는
cat /proc/mounts
읽기/쓰기 모드로 변경하려면 어떻게 하나요?
다음 명령어를 사용합니다.
sudo mount -o remount,rw /dev/sdb1
마무리
Read-only file system 오류는 Linux 서버에서 비교적 자주 발생하는 파일 시스템 문제 중 하나입니다. 단순히 마운트 옵션만 변경하기보다 mount, dmesg, fsck, df, df -i 명령어를 함께 사용하여 원인을 먼저 확인하는 것이 중요합니다. 정확한 원인을 파악한 후 적절한 복구 절차를 진행하면 대부분의 Read-only 파일 시스템 문제를 안전하게 해결할 수 있습니다.