Duplicate Postsで過去の記事をコピーして編集しようとしたら、まずブロックエディタ上で記事が公開できないというエラーに遭遇しました。
何かがおかしいと思い、投稿一覧画面に戻ると……カテゴリー・タグが一切消えていました。
慌ててサイドメニューからカテゴリーの一覧を表示させると、空っぽに……。
これはDuplicate Postsでコピー中に何かが起きた(しかも、
the_posts
はコピーできたがターム周りのどこかでダメだった、という感じ)と思ってサーバログを漁ってみることに。
すると、Apacheのエラーログ(
/var/log/httpd/error_log
)に以下のエラーが。
(前略) Got error 28 from storage engine for query SHOW FULL COLUMNS FROM wp_options
made by require_once(‘wp-load.php’) (後略)
Got error 28 from storage engine
というのが怪しそう、と思って検索してみると、ディスク使用量がいっぱいになってしまった場合に発生するメッセージのようです。
そこで
df -h
してみましたが
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_HOSTNAME-lv_root
50G 12G 35G 26% /
tmpfs 918M 0 918M 0% /dev/shm
/dev/sda1 477M 139M 313M 31% /boot
/dev/mapper/vg_HOSTNAME-lv_home
94G 53G 37G 60% /home
あれ、いっぱいではない……。
訝しみつつ
du /var/log/
してみると、過去にテストでELKスタックを構築した際のlogstashのログが大量に残っていました……。
パーティション的には大丈夫そうですが、ログディレクトリの中で見るとこれを切るのが手っ取り早そうだったので、logstashのログをバッサリ切ってサーバを再起動。
これでWordPress側は何も弄らずに復旧しました。DBの中身も実際にデータが飛んだわけではなく、ログ書き込みができなくて途中で処理が止まってロックがかかってしまった感じではないかと考えられます。
参考