Technology · 実用ガイド

Linux の「Input/output error」?fsck の前に故障レイヤーを証明する

書き込みを止め、正確な path を mount と backend に対応付け、最初の kernel/service error を保存して、証明した層だけを修復します。

オリジナル技術イラスト:Linux の失敗 path を mount、filesystem、transport、storage に対応付ける。
オリジナル技術イラスト:EIO は操作だけを示すため、修復前に path を対応付けます。 Watch at Ease

「Input/output error」は EIO であり原因名ではありません。local device、filesystem metadata、network transport、FUSE/9p session、userspace filesystem の実装のどこでも発生します。

対象 path への書き込みを止め、操作と時刻を保存し、mount と backend を証明し、最初の下位 error と読める data を保全してから一つの branch を修復します。

1. incident を凍結して readable copy を守る

完全な command、path、時刻、status、最初の stderr を記録し、writer と自動 cleanup を止めます。

読める data は独立 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. 最初の下位 error を保存する

reboot 前に kernel/service log を時刻で読み、最初の device、block、inode、server、session error を保存します。

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 が出たら保全へ戻ります。

オリジナル技術イラスト:Linux EIO の保全、分類、修復、byte 検証。
オリジナル技術イラスト:最初の error と readable data を保全してから修復します。 Watch at Ease