症状

  • 記事を書いてプレビューを押すと表示される画面が真っ白
  • プレビュー用のファイルを確認すると作成されてはいるがサイズはゼロ
  • その状態で公開すると、ゼロサイズの生地が生成されるだけでなくインデックステンプレートのファイルもサイズゼロに

sshfsが上手く動いてない?

アンマウントとマウントを繰り返してみるが改善せず

パーミッションの問題?

ディレクトリ、ファイル共に問題なし

Apacheの問題?

再起動するも改善せず

MySQLの問題?

再起動するも改善せず

FCGIの問題?

FCGIを停止するも改善せず

サーバが上手く動いてない?

ブログを運用しているサーバ(frontend)、MovableTypeがあるサーバ(backend)ともに再起動したが改善せず

ところでbackendからfrontendのファイルは触れるのか

vimで開くことは出来るけれど、保存しようとすると「E667: Fsync failed」と表示されて保存できない


原因

  • サーバの使用領域が100%に達していた

具体的には、キャッシュサーバとして使用しているKyotoTycoonの更新ログが溜まりすぎ、サーバのストレージ容量200GB中188GBを占めていた。しばらく運用して大したことなかったからパージしてなかったのだけど、さすがに1年8ヶ月は放置しすぎた。

KyotoTyconnの更新ログのパージ

こちらを参考に。

開発メモ: KTの更新ログの管理方法

以下のコマンドを実行。

ktremotemgr slave -uf
ktremotemgr slave -ur -ts 1386089719525000000

これで直近3件のみログを残してそれ以外を削除出来た。その結果、ログの容量は188GBから1.6GBに減少し、ブログ運用が正常に行える状態になった。


再発防止

  • 定期的にKyotoTycoonの更新ログ削除を行う

こちらを参考に。

KyotoTycoonのインストール、バックアップ、レプリケーションまで - FAT47の底辺インフラ議事録

7日前のログを削除するにはこう。

time=`date -d '7 days ago' +%s`0000000; ktremotemgr slave -ur -ts $time

これをシェルスクリプトにしてcron.weeklyにでも放り込んでおけば大丈夫かと。



直ってよかった……