여기서는 멈추세요
- 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
- 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
FILESYSTEM RECOVERY
SAFE OPERATING BOUNDARY
변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.
BEFORE YOU START
CHECK THE BRANCH
fstab·이미지·스냅샷 정책처럼 의도된 읽기 전용 구성인지 먼저 확인합니다.
ext4의 errors=remount-ro 동작이나 장치 I/O 오류 가능성이 있어 강제 rw 전환보다 데이터 보호가 우선입니다.
원격 SSH만 믿지 말고 클라우드·하이퍼바이저 콘솔과 스냅샷·백업을 확보한 뒤 복구 창을 잡습니다.
마지막 fsck -f 예시는 ext 계열에만 적용합니다. XFS·Btrfs·네트워크·클라우드 파일시스템은 해당 파일시스템과 공급자의 공식 오프라인 복구 절차를 사용합니다.
FOLLOW THE FLOW
/path/to/file을 실제 오류 경로로 바꿉니다.
findmnt -T /path/to/file -o TARGET,SOURCE,FSTYPE,OPTIONSfindmnt -rno TARGET,SOURCE,FSTYPE,OPTIONS | grep -E '(^|[ ,])ro(,|$)'OPTIONS에 ro가 있으면 현재 읽기 전용입니다. SOURCE와 FSTYPE을 복구 대상으로 기록합니다.
의도된 ro인지 오류 뒤 전환됐는지 커널 로그에서 구분합니다.
현재 부팅과 직전 부팅 로그를 구분해 최초 오류를 찾습니다.
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이 함께 보이면 파일시스템만이 아니라 하위 스토리지 문제를 의심합니다.
오류 메시지, 장치 이름, 최초 시각을 보존합니다.
장치명은 재부팅 후 바뀔 수 있으므로 UUID와 마운트 지점을 함께 봅니다.
lsblk -ffindmnt --verify --verbosesudo blockdev --getro /dev/DEVICEDEVICE를 lsblk에서 확인한 실제 블록 장치로 바꿉니다.findmnt 오류는 fstab 문제, blockdev 결과 1은 장치 계층의 읽기 전용 상태를 뜻합니다.
장치 불일치나 인프라 스냅샷 상태를 먼저 바로잡습니다.
마운트된 운영 파일시스템에서 fsck 복구를 실행하지 않습니다.
findmnt /MOUNTPOINTsudo fsck -N /dev/DEVICE-N은 실제 검사를 실행하지 않습니다.루트 파일시스템은 복구 모드·rescue image·분리 연결 등 오프라인 접근이 필요합니다.
백업 또는 스냅샷, 콘솔 접근, 점검 시간을 확보한 뒤 변경 단계로 이동합니다.
아래 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와 로컬 매뉴얼을 함께 확인하세요.