Aurora PostgreSQL引擎:设备上没有剩余空间。

8

我正在使用AWS Aurora PostgreSQL 10.4引擎。我尝试使用cluster table ... using index命令进行表聚集,但出现了错误。

could not write block .... of temporary file: no space left on device

如果我管理自己的PostgreSQL实例,我会使用df 查看各个卷上可用空间。(请参阅: 使用postgresql时出现“无法在设备上写入临时文件块:设备上没有剩余空间”错误)
但是,使用Aurora,AWS应该管理存储并根据需要自动扩展它。因此,如果我不管理存储,我想知道如何解决这种情况。我猜PG引擎的临时存储与由Aurora管理的虚拟化存储层是分开的,但不确定如何更改它。

wrschneider,在这篇文章中还有其他您想要回答的问题吗? - The-Big-K
2个回答

7

暂时空间使用实例上的本地“短暂”的卷。目前,唯一增加该空间的方式是升级到更大的实例大小。


在CloudWatch中是否有可用的指标来监控存储? - Spike
1
CloudWatch->RDS->DBClusterIdentifier->FreeLocalStorage云监控->RDS->DBClusterIdentifier->可用存储空间 - perimeno
3
很遗憾,这也发生在Aurora Serverless中。 - Czechnology
这个答案在2021年仍然有效吗? - Paulo Brito
1
@PauloBrito 你好,来自2022年。如果你使用aurora集群或无服务器架构,你不必一定要升级实例大小,但有时仍会出现此错误。FreeLocalStorage图看起来像一堆抖动,因为升级作业正在努力追赶。稍等片刻,重试一下,通常情况下我们之后就没问题了(同样是我的经验)。但这仍然是一个不幸的失败。 - kojiro
嗨,@kojiro!感谢您分享您的经验。仅供记录,我们通过严格控制发送到Aurora的插入批处理脚本的大小来解决了我们的问题,作为我们ETL设置的一部分。 - Paulo Brito

1
您说得没错,Aurora应该负责处理此问题。如果集群中有多个实例,则集群将通过启动故障转移来自我恢复。故障实例也会在后台被修复 - 大多数情况下是自动的,但在一些罕见的情况下可能由AWS运营商手动进行。

如果您发现问题持续了几分钟以上,则应:

  1. 使用API /控制台手动触发故障转移
  2. 如果经常发生,请联系AWS支持人员查看此问题。

如果您认为AWS没有达到您的SLA,请向他们提出注意。

AWS将采取商业上合理的努力,确保Multi-AZ实例在任何月度计费周期内的每月正常运行时间百分比(定义如下)至少为99.95%(“服务承诺”)。如果Amazon RDS未达到每月正常运行时间百分比承诺,则您有资格获得服务信用

文档:https://aws.amazon.com/rds/sla/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接