恢复失败 - 可能是数据资源管理器问题

情况更糟了,但这可能更接近真正的问题……假设我需要更多磁盘空间,我这次用 100 GB(之前是 50 GB)从镜像创建了一个新实例。(每个备份为 5 GB,存储在 S3 上。)这次我得到了一个明确的错误:“设备上没有剩余空间”。然而,df 命令显示还有大量可用空间。

> [2019-11-29 22:42:58] 确保 /var/www/discourse/tmp/restores/default/2019-11-29-224258 存在...
> [2019-11-29 22:42:58] 正在将归档下载到临时目录...
> [2019-11-29 22:45:46] 正在解压缩归档,这可能需要一些时间...
> [2019-11-29 22:51:46] 没有要提取的元数据文件。
> [2019-11-29 22:51:46] 正在验证元数据...
> [2019-11-29 22:51:46]   当前版本:20191129144706
> [2019-11-29 22:51:46]   恢复版本:20191108000414
> [2019-11-29 22:51:46] 正在提取转储文件...
> [2019-11-29 22:53:47] 异常:设备上没有剩余空间 @ io_write - /shared/tmp/restores/default/2019-11-29-224258/dump.sql

> [ec2-user@ip-172-31-47-237 discourse]$ df / -h
> 文件系统       容量   已用   可用  已用% 挂载点
> /dev/xvda1      99G   28G   71G   28%  /

有趣的是,所引用的目录中没有任何内容:

> /var/www/discourse# ls /shared/tmp/*
> /shared/tmp/backups:
> < 空 >
> /shared/tmp/restores:
> < 空 >

这会不会是交换文件的问题?EC2 实例是 t2.small,拥有 2 GB 内存,因此我很久以前就在正常运行的论坛上 创建了交换文件。我假设交换文件会在新的实例上被复制。我不是专家,但我认为交换文件确实存在,因为它不允许我创建新的交换文件,而且:

> /var/www/discourse# swapon -s
> 文件名                                类型            大小       已用     优先级
> /swapfile                               文件            2097148  1024     -2