AWS 上的 LAMP 服务器硬盘空间不足。有其他选择吗?

AWS 上的 LAMP 服务器硬盘空间不足。有其他选择吗?

我在 AWS EC2 上的 EBS Ubuntu 实例上有一个简单的 LAMP 堆栈。

它已经运行了一段时间了,但现在我的硬盘空间开始不足了。

我有什么选择?

我已经附加了一个 EBS 卷并将日志等移动到其中,但 MySQL 数据库仍在继续增长。

我是否应该将数据库移动到附加卷?不过,我对此非常担心。数据库速度目前是 LAMP 堆栈中的性能瓶颈,将数据库移动到 EBS 可能会造成相当大的性能损失(如果将文件移入和移出卷的速度可以作为参考的话?)

答案1

您绝对应该将数据库移动到 EBS 块。这些卷不仅比本地存储更快,而且它们也是持久的。因此,如果/当 EC2 实例停止时,该实例的根文件系统将保持完整,并且在实例重新启动时将继续可用。

来自EBS 上的亚马逊帮助页面

在几乎所有情况下,Amazon EBS 卷的延迟和吞吐量都比 Amazon EC2 实例存储好得多。您还可以将多个卷附加到一个实例,并在这些卷之间进行条带化。这是提高 I/O 速率的一种方法,尤其是当您的应用程序对数据集执行大量随机访问时。

确切的性能取决于应用程序(例如随机 I/O 与顺序 I/O 或大请求大小与小请求大小),因此最佳衡量标准是针对卷对您的实际应用程序进行基准测试。由于 Amazon EBS 卷需要网络访问,因此您将在更大的实例中看到更快、更一致的吞吐量性能。

此后,如果您仍然遇到 I/O 瓶颈,您可能需要考虑使用亚马逊 RDS

答案2

这里有两个选项:

选项1:

将 MySQL 数据库从 EC2 移至远程数据传送系统。它仍然运行 MySQL,你甚至可以选择版本。他们提供移民帮助

缺点:您需要为额外的实例付费,因为 RDS 实例的收费与 EC2 相同。您还必须忍受一些停机时间。

选项 2:

增加 EBS 卷的大小。

通过 Web 界面,您可以通过以下方式执行此操作: - 停止实例 - 创建卷的快照 - 从快照创建卷,并在提示时指定更大的大小 - 从卷创建 AMI - 启动新 AMI 的实例

但是,我遇到了无法启动新实例的问题。通过 API,您可以按照以下步骤执行此操作Eric Hammond 的说明在这里

缺点:再次,停机。

相关内容