テクノロジー · 実用ガイド

Redis の「MISCONF…disk に永続化できない」:書き込み再開前に RDB 失敗境界を証明する

stop-writes-on-bgsave-error を無効にしても復旧証明にはなりません。error、RDB path、server log、filesystem、INFO persistence を保存し、測定した原因を一つ直してから BGSAVE、snapshot、代表 write を検証します。

Redis RDB failure を capacity、permission、read-only、fork memory に分けるオリジナル図。
オリジナルイラスト:MISCONF は前回 save failure を示し、単一原因を確定しません。 Watch at Ease

Redis は RDB background save が失敗し write-stop policy が有効なとき MISCONF を返します。message は write が止まった理由を示しますが、capacity、inode、read-only mount、permission、child creation のどれかは確定しません。

policy を変える前に evidence を保存します。live process と RDB directory を確認し、client error、server log、INFO persistence を結び、測定した一つの boundary を修復して新しい snapshot と write を証明します。

error を保存し live RDB target を特定

client error、timestamp、endpoint、対応する log を保存し、INFO server、INFO persistence、CONFIG GET dir/dbfilename/stop-writes-on-bgsave-error を同じ instance から取得します。

directory は temporary snapshot と rename の filesystem を決めます。container では同じ namespace または runtime metadata から mount を確認します。

最初の失敗 boundary を分類

ENOSPC は directory の blocks と df -i、permission は path chain・owner・mode・security label・effective user、EROFS は active mount options を確認します。

background child failure は memory、overcommit、cgroup、process limit を保存します。別 boundary の修復を代用しないでください。

測定した原因だけを小さく修復

証明した filesystem、inode、ownership、writable mount、または child resource boundary に一つの reversible change を行い、before/after を残します。

arbitrary dir、chmod 777、key deletion、symptom を消すだけの restart は避けます。backup と restart behavior も確認します。

policy 復元前に RDB exit test

競合する persistence operation がない時に BGSAVE を実行し、完了後 INFO persistence で rdb_last_bgsave_status:ok、新しい save time、unexpected job がないことを確認します。

successful log、INFO、RDB timestamp/size、expected owner、利用可能な backup/replica monitoring を照合します。不一致なら incident を継続します。

write を意図的に復元して記録

emergency で guard を無効化した場合、persistence proof の後だけ intended value に戻し CONFIG GET で確認します。approved namespace で test key を write/read/cleanup します。

error、cause、directory、mount、measurements、BGSAVE、INFO、RDB、policy、application check を記録し、証明できなければ escalate します。

log、INFO persistence、BGSAVE、RDB file、write の検証を示すオリジナル図。
オリジナルイラスト:log、status、artifact、write が一致して初めて recovery です。 Watch at Ease