Haru Utils

FILESYSTEM RECOVERY

파일시스템이 읽기 전용으로 바뀌었을 때

마운트 옵션, 커널 오류와 실제 블록 장치를 확인하고 운영 중 강제 remount 대신 오프라인 복구를 준비합니다.
Read-only file systemEXT4-fs errorI/O errorremount-rofsck
환경ext4 중심 · Ubuntu LTS · 복구 콘솔 접근 권장
분류디스크·파일
검토일2026-08-27
진행5단계 · 조회 우선

SAFE OPERATING BOUNDARY

중단·복구 기준부터 확인하세요

STOP CONDITIONS

여기서는 멈추세요

  • 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
  • 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
ROLLBACK

복구 기준

변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.

ESCALATION PACK

담당자에게 전달할 자료

  • 장애 발생 시각·정상화 시각과 원문 오류 메시지
  • 민감정보를 제거한 조회 명령 출력과 변경 전후 차이
  • 조치 후 동일 조건으로 수행한 재검증 결과
공식 문서와 읽기 전용 진단 명령을 우선 검토했습니다. 실제 서버에서는 설치된 버전의 --help와 man을 함께 확인하세요.

BEFORE YOU START

이런 증상에서 시작합니다

  • Read-only file system
  • EXT4-fs error
  • 파일 수정·로그 기록 실패
  • 재부팅 후 마운트 실패

CHECK THE BRANCH

놓치기 쉬운 원인 분기

01

처음부터 ro로 마운트된 경우

fstab·이미지·스냅샷 정책처럼 의도된 읽기 전용 구성인지 먼저 확인합니다.

02

오류 후 ro로 전환된 경우

ext4의 errors=remount-ro 동작이나 장치 I/O 오류 가능성이 있어 강제 rw 전환보다 데이터 보호가 우선입니다.

03

루트 파일시스템인 경우

원격 SSH만 믿지 말고 클라우드·하이퍼바이저 콘솔과 스냅샷·백업을 확보한 뒤 복구 창을 잡습니다.

04

ext2·ext3·ext4가 아닌 경우

마지막 fsck -f 예시는 ext 계열에만 적용합니다. XFS·Btrfs·네트워크·클라우드 파일시스템은 해당 파일시스템과 공급자의 공식 오프라인 복구 절차를 사용합니다.

FOLLOW THE FLOW

순서대로 확인하기

1
조회시스템을 변경하지 않는 확인 단계

오류 경로의 마운트와 옵션 확인

/path/to/file을 실제 오류 경로로 바꿉니다.

대상 마운트
findmnt -T /path/to/file -o TARGET,SOURCE,FSTYPE,OPTIONS
읽기 전용 마운트 전체
findmnt -rno TARGET,SOURCE,FSTYPE,OPTIONS | grep -E '(^|[ ,])ro(,|$)'
결과 읽기

OPTIONS에 ro가 있으면 현재 읽기 전용입니다. SOURCE와 FSTYPE을 복구 대상으로 기록합니다.

다음 판단

의도된 ro인지 오류 뒤 전환됐는지 커널 로그에서 구분합니다.

2
조회시스템을 변경하지 않는 확인 단계

파일시스템·장치 오류 시각 확인

현재 부팅과 직전 부팅 로그를 구분해 최초 오류를 찾습니다.

현재 부팅 오류
journalctl -k -b -p warning --no-pager | grep -Ei 'EXT4-fs|I/O error|Buffer I/O|blk_update|read-only'
직전 부팅 오류
journalctl -k -b -1 -p warning --no-pager | grep -Ei 'EXT4-fs|I/O error|Buffer I/O|blk_update|read-only'
결과 읽기

EXT4-fs error와 장치 timeout·reset이 함께 보이면 파일시스템만이 아니라 하위 스토리지 문제를 의심합니다.

다음 판단

오류 메시지, 장치 이름, 최초 시각을 보존합니다.

3
조회시스템을 변경하지 않는 확인 단계

블록 장치와 fstab 일치 확인

장치명은 재부팅 후 바뀔 수 있으므로 UUID와 마운트 지점을 함께 봅니다.

블록 장치와 UUID
lsblk -f
fstab 정적 검증
findmnt --verify --verbose
장치 읽기 전용 플래그
sudo blockdev --getro /dev/DEVICE
DEVICE를 lsblk에서 확인한 실제 블록 장치로 바꿉니다.
결과 읽기

findmnt 오류는 fstab 문제, blockdev 결과 1은 장치 계층의 읽기 전용 상태를 뜻합니다.

다음 판단

장치 불일치나 인프라 스냅샷 상태를 먼저 바로잡습니다.

4
주의서버 부하나 권한을 고려할 단계

백업과 오프라인 복구 조건 준비

마운트된 운영 파일시스템에서 fsck 복구를 실행하지 않습니다.

현재 마운트 재확인
findmnt /MOUNTPOINT
실행될 검사 종류만 미리 보기
sudo fsck -N /dev/DEVICE
-N은 실제 검사를 실행하지 않습니다.
결과 읽기

루트 파일시스템은 복구 모드·rescue image·분리 연결 등 오프라인 접근이 필요합니다.

다음 판단

백업 또는 스냅샷, 콘솔 접근, 점검 시간을 확보한 뒤 변경 단계로 이동합니다.

5
변경데이터·서비스 상태가 달라질 수 있는 단계

분리된 파일시스템을 검사하고 재검증

아래 fsck는 데이터를 변경할 수 있습니다. 반드시 대상이 unmounted이고 백업·스냅샷이 있으며 복구 콘솔에서 실행해야 합니다.

변경 단계입니다. 실행 전 대상 이름과 경로, 서비스 중단 영향, 복구 방법을 다시 확인하세요.
마운트 해제 확인
findmnt -S /dev/DEVICE || echo '마운트되지 않음'
승인된 오프라인 검사
sudo fsck -f /dev/DEVICE
마운트된 장치나 잘못된 DEVICE에는 실행하지 않습니다.
복구 후 상태 확인
findmnt -T /path/to/file -o TARGET,SOURCE,FSTYPE,OPTIONS
결과 읽기

검사가 완료되고 다시 마운트한 뒤 rw 옵션과 애플리케이션 쓰기가 정상이어야 합니다.

다음 판단

I/O 오류가 재발하면 파일시스템 반복 수정보다 디스크·볼륨 교체와 데이터 복구를 우선합니다.

PRIMARY REFERENCES

공식 문서

배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.

도구 빠른 검색

최근 사용한 도구를 다시 열거나, 이름과 기능으로 검색하세요.

검색어와 도구의 입력·결과는 저장하지 않습니다.

↑↓ 이동 · Enter 열기 · Esc 닫기