AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

No space left on device に対する現代の個人的アプローチ

ディスクサイズオンラインで増やすにもなんか空き容量を確保しねえといけねえ! ログファイル消せねえ! みたいな時。

journal を焼き尽くす

b.fugenjikko.com

# journal が使っているディスクサイズを調べる
❯ journalctl --disk-usage
# だいたい 5G 設定なので雑に 5G 消す、一杯じゃないなら……どうしようね
❯ sudo journalctl --vacuum-size=5G

swap を一時的に消す

docs.redhat.com

free などで swap の存在が認められる場合は、一時的に swap を削除して難を逃れます。

# swap ファイル実体を探すcat /etc/fstab
# swap オフにする
❯ sudo swappoff -v /swapfile
# swap の記述をあとで戻せるようにコメントアウトしておく
❯ sudo vi  /etc/fstab
# swap ファイル実体を消す
❯ sudo rm -f /swapfile

あとで戻すのを忘れないようにする。

そもそもストレージのオートスケーリングのようなことをする

psychoco.net

AWS であれば aws cli などを駆使して EBS 自動拡張ができる (RDS のストレージ自動拡張みたいなヤツ) 。 とはいえ、ブロックデバイスの伸張などで操作する際に稼働中のプロセスが inode などずれる可能性もあるため、雑に運用しているとインスタンス丸ごと再起動などしたときに起動せず fsck などしないといけない、という可能性も微粒子レベルでついて回るはず。

実際に遭遇したことはない。 (オンプレミスなど物理サーバーを扱っていた時はよくバッドセクタに遭遇して fsck 泣きながら実行していたけども

なでストレージは枯渇するのか

保守工数や、運用開始後の適切なコスト設定がされないからでしょうなあ。 日本人、見えないものに適切なお金をかけるのが下手っぴさ……!

あと稼働している環境いじるの怖いし。