Technology · 실용 가이드
Linux “Input/output error”? fsck 전에 실패 계층을 증명하세요
쓰기를 멈추고 정확한 path를 mount와 backend에 매핑하며 첫 kernel/service error를 보존한 뒤 증명된 계층만 복구합니다.

“Input/output error”는 EIO이지 원인 진단이 아닙니다. local device, filesystem metadata, network transport, FUSE/9p session, userspace filesystem 구현에서 모두 발생할 수 있습니다.
해당 path의 쓰기를 멈추고 작업과 시각을 기록하며 mount/backend와 첫 하위 오류를 보존하고 읽을 수 있는 데이터를 보호한 뒤 한 branch만 복구합니다.
1. incident를 동결하고 readable copy를 보호합니다
전체 command, path, 시각, status, 첫 stderr를 기록하고 writer와 자동 cleanup을 멈춥니다.
읽을 수 있는 데이터는 독립 storage로 보존하고 skip과 hash를 기록합니다.
2. path를 실제 mount와 backend에 매핑합니다
namespace, filesystem type, source, option을 기록하고 block, RAID, remote, FUSE, container, WSL 9p를 구분합니다.
path에서 mount, mapper/array, physical/remote endpoint까지 각 계층을 증명합니다.
3. 첫 하위 오류를 보존합니다
reboot 전에 kernel/service log를 시각으로 읽고 첫 device, block, inode, server 또는 session 오류를 저장합니다.
remote/userspace filesystem은 양쪽 log와 안전한 별도 mount 실험으로 session 경계를 확인합니다.
4. 증명된 owner만 복구합니다
local device는 cable, power, controller, health를 먼저 확인하고 array/remote는 해당 절차를 사용합니다.
실제 filesystem에 맞는 checker를 unmounted 상태에서 사용하며 다른 형식에 e2fsck를 실행하지 않습니다.
5. 원래 path와 data contract를 검증합니다
같은 namespace/service route로 원래 작업을 반복하고 known file, hash, source, type, error counter를 확인합니다.
first error, owner, preservation, repair, acceptance를 저장하고 새 EIO가 나오면 보존 단계로 돌아갑니다.
