ディスクが見えないファイルに圧迫されていたので lsof で確認したところ、
rsyslogdがでかいログファイルを掴んで離さないのが発見された。
rsyslogd 511 root 4r REG 0,3 0 4026531924 /proc/kmsg rsyslogd 511 root 5w REG 8,1 4873859072 262184 /var/log/hoge/piyo.log.1 (deleted) rsyslogd 511 root 6w REG 8,1 2748416 264829 /var/log/hoge/piyo.log rsyslogd 511 root 7w REG 8,1 19598 262192 /var/log/syslog
とりあえずrsyslogdを再起動してログローテートしてその場はしのいだが、なにが原因だったのか
systemctl restart rsyslog logrotate -f /etc/logrotate.conf
rsyslog経由で別ファイルにログを出力しているとき、rsyslogはファイルをオープンしっぱなしなので
ローテート後に「ローテートしたよ」と通知する必要がある
/var/log/hoge/piyo.log { daily missingok rotate 5 compress # rsyslog経由なので、ログを更新させる sharedscripts postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }