状況はさらに悪化しますが、もしかすると真の問題に近づいているかもしれません…ディスク容量が不足しているという仮説に基づき、以前は 50 GB だったものを今回は 100 GB にして、イメージから新しいインスタンスを作成しました。(バックアップは各 5 GB で S3 に保存されています。)今回は「No space left on device(デバイスに空き領域がありません)」という明確なエラーが表示されました。しかし、df コマンドを見ると空き容量はたっぷりあります。
> [2019-11-29 22:42:58] Making sure /var/www/discourse/tmp/restores/default/2019-11-29-224258 exists...
> [2019-11-29 22:42:58] Downloading archive to tmp directory...
> [2019-11-29 22:45:46] Unzipping archive, this may take a while...
> [2019-11-29 22:51:46] No metadata file to extract.
> [2019-11-29 22:51:46] Validating metadata...
> [2019-11-29 22:51:46] Current version: 20191129144706
> [2019-11-29 22:51:46] Restored version: 20191108000414
> [2019-11-29 22:51:46] Extracting dump file...
> [2019-11-29 22:53:47] EXCEPTION: No space left on device @ io_write - /shared/tmp/restores/default/2019-11-29-224258/dump.sql
> [ec2-user@ip-172-31-47-237 discourse]$ df / -h
> Filesystem Size Used Avail Use% Mounted on
> /dev/xvda1 99G 28G 71G 28% /
興味深いことに、参照されているディレクトリには何も存在しません。
> /var/www/discourse# ls /shared/tmp/*
> /shared/tmp/backups:
> < empty >
> /shared/tmp/restores:
> < empty >
スワップファイルに問題があるのでしょうか?EC2 インスタンスはメモリ 2 GB の t2.small であるため、動作しているフォーラムでは以前から スワップファイルを作成 していました。新しいインスタンスにもスワップファイルが複製されていると推測されます。私は専門家ではありませんが、新しいスワップファイルを作成できないこと、および以下の出力から、スワップファイルは存在していると考えています。
> /var/www/discourse# swapon -s
> Filename Type Size Used Priority
> /swapfile file 2097148 1024 -2