「ディスクへのファイルの書き込みに失敗しました」
いやなメッセージです。
エラーのトリガー
今回は、他サイトのメディアデータをインポート後にこのエラーが起きました。
(元々総データ1GBのサイトに、4GBのデータをインポート)
インポート中に「Bad Gateway」「time out」のエラーが出ましたが、これはしょっちゅう出るので気にせずリトライ。
数回のリトライ後、「ディスクへのファイルの書き込みに失敗しました」が出始めました。
サーバーの状態
- 同サーバー内のすべてのワードプレスで、メディアライブラリへの追加がNG。
- プラグインの更新、追加もNG。
- フロントエンド、管理画面ともほかの操作には問題なし。新規投稿の作成、更新も問題なし。
- FTPでのアップロードも可。
- パーミッションに変更は無し、tmpフォルダは空っぽで755、サーバーのファイル容量は50GB/100GB。tmpフォルダ内を手動で空にはしていない。
- サーバーコンパネに、リソース制限のアラートなし。
復旧
- エラー発生から2時間後、状況変わらず
- エラー発生から10時間後、状況変わらず
- エラー発生後、58時間後、復旧
全てのサイトでアップロード可能になっていました。
サーバー会社サポートからの示唆
一時ファイルの容量が、制限に達した場合に表示される事例がござ
います。 作成された一時ファイルは一定期間経過後に自動的に削除されます
が、ファイルのアップロードが削除されるよりも多く実施された際にエ ラーとなってしまいます。
とのこと。なるほど。
経緯と合わせると、
- tmpフォルダが制限に達するとエラーが発生し、一定時間アップロードが出来なくなる可能性がある
- Bad Gateway、time out等が出た後、続けてインポートを行うとこの現象が起こるかもしれない
- 復旧までの時間は不明だが、今回のケースで言うと10時間から58時間
こんな感じでしょうか。
今考えると、php.iniでtmpを別のフォルダに指定すれば解消できたかも。
教訓
- 大きなデータのインポートは、小分けにして行う。一回500MBくらいまでかなぁ、なんとなく。
- 出来れば、一時的に作業用サーバーをレンタルするなりして、同居サイトに影響が出ないようにする
あたりと思います。
面倒ですが、この状態になってしまうと身動きが取れなくなってしまいますので、、、