简体   繁体   English

AWS MySql RDS:“存储引擎出现错误28”

[英]AWS MySql RDS: “Got error 28 from storage engine”

I'm working on a relatively small application, serving about 1,500 users and running on a Mysql database that is about 300 megs. 我正在开发一个相对较小的应用程序,服务约1,500个用户,并在约300兆的Mysql数据库上运行。 The entire system runs on AWS with a single dedicated EC2 node running the Grails application on Tomcat 8 and a single dedicated Mysql RDS instance. 整个系统在AWS上运行,其中一个专用EC2节点在Tomcat 8上运行Grails应用程序,一个单个专用Mysql RDS实例。 The system has been running live in production for about three years with no database issues. 该系统已经投入生产运行了大约三年,没有数据库问题。 The two largest tables contain about 40k records. 最大的两个表包含约4万条记录。 The application is built using Grails and Java 1.7. 该应用程序是使用Grails和Java 1.7构建的。

Yesterday our application began throwing the following exception, with the underlying error message of: 昨天,我们的应用程序开始引发以下异常,并显示以下错误消息:

"Got error 28 from storage engine" “来自存储引擎的错误28”

The logs available from the RDS admin web console are empty. RDS管理Web控制台中可用的日志为空。

Googling has not revealed any promising leads that have helped us resolve the issue, other than most messages point out that the disk is out of space. 除了大多数消息指出磁盘空间不足外,Google都没有透露任何有前途的线索可以帮助我们解决该问题。 Given that most search results refer to disk space. 鉴于大多数搜索结果都涉及磁盘空间。 Being software developers rather than DBA's with significant Mysql expertise, we boosted the storage space of the Mysql RDS instance. 作为软件开发人员,而不是拥有大量Mysql专业知识的DBA,我们扩大了Mysql RDS实例的存储空间。 Unfortunately, today our application is still sporadically throwing the same exception. 不幸的是,今天我们的应用程序仍然偶尔会抛出相同的异常。 Having created our Mysql DRS instance with 15 gigs of space -- which is several orders of magnitude of additional space than our application makes use of -- we are at a lost as to what is the root cause of this issue. 创建具有15个演出空间的Mysql DRS实例(这比我们的应用程序所利用的额外空间高出几个数量级),我们对这个问题的根本原因不知所措。 Our guess is that there is possibly some out of the box Mysql limitation that we are hitting up against but have no idea what it may be or how to solve it. 我们的猜测是,我们可能会遇到一些开箱即用的Mysql限制,但不知道它可能是什么或如何解决。 Indeed, the whole reason we host onRDS was to avoid issues of this type. 确实,我们托管RDS的全部原因是为了避免此类问题。

Doing some Googling, this seems like a somewhat common Mysql error but that does not have any concrete trail for us to follow. 做一些谷歌搜索,这似乎是一个常见的Mysql错误,但是没有任何具体的线索可供我们遵循。 Most suggestions talk about checking the filesystem or "inode" space. 大多数建议都涉及检查文件系统或“ inode”空间。 Given that this is a hosted Mysql RDS instance on AWS, I am unsure if or how to check such things. 鉴于这是AWS上托管的Mysql RDS实例,因此我不确定是否或如何检查此类情况。 Looking at the CloudWatch for the RDS instance, I can see that the CPU is idle and that the instance is dramatically under the 15 gig storage limit. 查看RDS实例的CloudWatch,我可以看到CPU处于空闲状态,并且该实例大大低于15 gig的存储限制。

Does anyone have any suggestions for us to investigate? 有没有人建议我们进行调查?

Given that we are new to RDS, can you please point us to any documentation or -- even better -- suggest what settings we can tweak in the RDS console -- to help prevent this error from occuring? 鉴于我们是RDS的新手,您能否将我们指向任何文档,或者甚至更好地提出我们可以在RDS控制台中进行调整的设置的建议,以帮助防止发生此错误? Ideally, we moved to RDS thinking that if this was a mysql sizing or scaling issue that moving to RDS would solve the problem. 理想情况下,我们迁移到RDS,以为如果这是mysql大小调整或扩展问题,那么迁移到RDS可以解决问题。 As a last resort, this morning we then deleted about 20k rows of unessential data. 作为最后的手段,今天早上我们删除了约2万行不必要的数据。 Unfortunately, the issue persists and we continue to experience the issue. 不幸的是,问题仍然存在,我们继续遇到该问题。

A few questions: 几个问题:

  1. Are there any RDS settings we can adjust to avoid this issue? 我们可以调整任何RDS设置来避免此问题吗?
  2. Can this be solved by moving to a larger RDS instance, perhaps with more memory? 是否可以通过移动到更大的RDS实例(也许有更多的内存)来解决?
  3. Would we experience this issue if we moved to Aurora? 如果我们搬到Aurora,会遇到这个问题吗?

Well from your comment this is definitely a low on storage issue. 从您的评论中可以看出,这绝对是存储不足的问题。 Because 13 Gb is very less storage. 因为13 Gb的存储量很少。 you can check the free available storage in the dashboard. 您可以在信息中心中查看可用的免费存储空间。 Check this screenshot below in the "Storage" metric under monitoring if it goes ahead of the red line you will start getting Error 28. You will have to increase the storage of your RDS instance or free up some space. 在监视下的“存储”指标中检查以下屏幕快照,如果它超过了红线,则会开始出现错误28。您将必须增加RDS实例的存储或释放一些空间。 I will suggest increase the storage to avoid this issue in future. 我建议增加存储量以避免将来出现此问题。

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM