QNAP の root directory が full
現象
Web interface にログインできない
ログイン時の XHR が 502 Bad Gateway
httpd が明らかにちゃんと動いてない
SSH できるが sudo で /run 内を touch しようとすると disk full と出てパスワードを毎回聞かれる
原因
参考ページの知見に従い du -hx / | grep '[0-9]M' で MB レベルのファイルを列挙したところ、/var/spool にある MikoPBX のログが領域を大量に食ってたので削除。du の -x オプション知らなかった。便利。
code:du --help
-x, --one-file-system skip directories on different file systems
これで ramfs の領域が空いて sudo が正常化したが Web interface のログインができない。thttpd 再起動 sudo /etc/init.d/thttpd.sh restart も効かず。マシン再起動で解決。
処置
Log rotation に関する項目が見つからなかったので、少し乱暴だけど定期削除を組んだ。cron 互換の文法で定期実行が組めて Docker と親和性が高い ofelia を以下の docker-compose.yml で QNAP の Container Station に登録した。詳細は公式の README を参照。
code:docker-compose.yml
version: '3'
services:
ofelia:
image: "mcuadros/ofelia"
command: "daemon --docker"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/spool/mikopbx/storage/usbdisk1/mikopbx:/mikopbx
labels:
ofelia.job-local.wipe-job.schedule: "@every 12h"
ofelia.job-local.wipe-job.command: "rm -rf /mikopbx/log"
参考
QNAP NAS RAMDisk Full [Resolved] – it.megocollector.com