Linux 서버를 운영하다 보면 파일을 생성하거나 수정, 삭제하는 과정에서 Read-only file system이라는 오류를 만나는 경우가 있습니다. 이 오류는 파일 시스템이 읽기 전용(Read Only) 상태로 마운트되어 있어 데이터를 변경할 수 없다는 의미입니다.
단순히 권한(Permission) 문제가 아니라 운영체제가 파일 시스템을 보호하기 위해 자동으로 읽기 전용으로 변경했을 가능성이 높습니다. 특히 디스크 오류나 파일 시스템 손상으로 인해 발생하는 경우가 많으므로 원인을 정확히 확인하는 것이 중요합니다.
이번 글에서는 Read-only file system 오류가 발생하는 원인과 해결 방법을 알아보겠습니다.
Read-only file system이란 무엇인가?
읽기 전용(Read Only)으로 마운트된 파일 시스템은 데이터를 읽을 수는 있지만 수정하거나 삭제할 수는 없습니다.
대표적인 오류 예시는 다음과 같습니다.
touch test.txt
touch: cannot touch 'test.txt': Read-only file system
또는
rm file.txt
rm: cannot remove 'file.txt': Read-only file system
또는
mkdir backup
mkdir: cannot create directory: Read-only file system
이 경우 파일 시스템이 읽기 전용 상태인지 먼저 확인해야 합니다.
Read-only file system 오류가 발생하는 대표적인 원인
다음과 같은 경우에 자주 발생합니다.
- 디스크 오류
- 파일 시스템 손상
- SSD 또는 HDD 장애
- 커널이 자동으로 Read Only 전환
- 잘못된 마운트 옵션
- USB 저장장치 오류
- NFS 문제
- RAID 장애
- I/O Error 발생
- 시스템 비정상 종료
특히 I/O Error가 함께 발생했다면 저장 장치 이상을 의심해야 합니다.
1. 마운트 상태 확인하기
현재 파일 시스템이 어떻게 마운트되어 있는지 확인합니다.
mount
또는
cat /proc/mounts
다음과 같이 ro 옵션이 보이면 읽기 전용입니다.
/dev/sda1 on / type ext4 (ro,relatime)
rw가 아니라 ro로 표시되는지 확인합니다.
2. 디스크 사용량 확인하기
디스크 상태를 확인합니다.
df -h
디스크가 가득 찬 경우에도 추가적인 문제가 발생할 수 있습니다.
3. 시스템 로그 확인하기
커널 로그를 확인합니다.
dmesg | tail -50
또는
journalctl -k
다음과 같은 메시지가 있는지 확인합니다.
EXT4-fs error
Remounting filesystem read-only
이 메시지가 있다면 커널이 자동으로 읽기 전용으로 변경한 것입니다.
4. SMART 상태 확인하기
디스크 건강 상태를 확인합니다.
smartctl -H /dev/sda
상세 정보 확인
smartctl -a /dev/sda
배드 섹터나 SMART 오류가 있는지 확인합니다.
5. 파일 시스템 검사하기
파일 시스템 손상이 의심된다면 검사합니다.
fsck /dev/sda1
주의사항
운영 중인 파티션에서는 실행하지 않는 것이 좋으며, 복구 모드나 Live 환경에서 실행하는 것이 안전합니다.
6. 읽기/쓰기(RW)로 다시 마운트하기
일시적인 문제라면 다시 읽기/쓰기 모드로 변경할 수 있습니다.
mount -o remount,rw /
변경 후 다시 쓰기 작업이 가능한지 확인합니다.
7. fstab 설정 확인하기
자동 마운트 설정을 확인합니다.
cat /etc/fstab
마운트 옵션에 ro가 설정되어 있는지 확인합니다.
예시
UUID=xxxxx / ext4 defaults,rw 0 1
8. RAID 상태 확인하기
RAID 환경에서는 배열 상태를 확인합니다.
cat /proc/mdstat
RAID 장애로 인해 읽기 전용으로 변경될 수도 있습니다.
9. 디스크 I/O 확인하기
실시간 디스크 상태를 확인합니다.
iostat -x 1
또는
iotop
디스크 응답 시간이 비정상적으로 높은지 확인합니다.
10. 데이터 백업하기
SMART 오류나 파일 시스템 오류가 확인되었다면 가장 먼저 중요한 데이터를 백업합니다.
저장 장치 이상이 의심되는 경우에는 복구보다 백업을 우선하는 것이 안전합니다.
Read-only file system 문제를 확인하는 순서
실무에서는 다음 순서대로 점검하는 것이 가장 효율적입니다.
- mount 확인
- df -h 확인
- dmesg 확인
- journalctl 확인
- SMART 확인
- fsck 검사
- remount 시도
- fstab 확인
- RAID 확인
- 데이터 백업
이 순서대로 확인하면 대부분의 원인을 빠르게 찾을 수 있습니다.
오류를 해결할 때 주의할 점
읽기 전용으로 변경되었다고 해서 무조건 mount -o remount,rw만 실행하는 것은 권장되지 않습니다.
디스크 자체에 문제가 있는 경우에는 일시적으로 쓰기가 가능해지더라도 데이터 손상이 더 심해질 수 있습니다.
먼저 로그와 SMART 상태를 확인한 후 저장 장치 이상 여부를 판단하는 것이 중요합니다.
자주 묻는 질문
Read-only file system은 권한 문제인가요?
아닙니다. 파일 권한과는 별개로 파일 시스템 자체가 읽기 전용 상태인 경우 발생합니다.
remount만 하면 해결되나요?
일시적인 문제라면 해결될 수 있지만 디스크나 파일 시스템에 문제가 있다면 다시 읽기 전용으로 변경될 수 있습니다.
SSD에서도 발생하나요?
네. SSD의 수명이 다했거나 파일 시스템 오류가 발생하면 동일한 문제가 나타날 수 있습니다.
마무리
Read-only file system 오류는 Linux 서버에서 저장 장치나 파일 시스템에 이상이 발생했을 때 자주 나타나는 중요한 경고입니다. mount, dmesg, journalctl, smartctl, fsck 등을 활용해 원인을 정확히 분석하고, 필요하다면 데이터를 먼저 백업한 후 디스크를 점검하거나 교체하는 것이 가장 안전한 해결 방법입니다.