7

我已经使用亚马逊的网络服务一年多了,但是我不太明白它是如何工作的。例如,当我从 EC2 控制台选择我选择的 AMI 并继续执行向导时,我会到达“存储配置选项卡”。这里有几个选项。

有根卷选项卡,然后是 EBS 卷选项卡。这两者有何不同?我可以为每个分配的最大大小是多少?如何配置 EBS 卷以与我的实例一起使用?例如,我决定创建 8 个 EBS 卷,每个卷具有 25 GB 的存储空间......现在对于自然存在于根设备上的 Postgresql 数据库之类的东西,我如何配置它以便数据库存储在所有 8 个 EBS 卷中?从某种意义上说,8 个 EBS 卷变成了一个 200 GB 的驱动器,而 postgres 数据库数据存储在整个驱动器上。

任何形式的澄清将不胜感激。

4

2 回答 2

10

您应该阅读EBS 与实例存储的优势我最近也在我的工作博客上写了一点关于这个的 PostgreSQL 角度。另请参阅用于新 EC2 实例的根设备以及相关边栏中列出的其他问题。

除非您仔细设置复制和定期备份,否则实例存储最终会吃掉您的数据。如果实例失败或终止,如果它位于实例存储中,您将无法取回数据。无论如何,您都需要良好的备份,这对于实例存储更为重要,并且您需要更加小心地设置近实时复制。

另一方面,EBS 更容易受到中断和故障的影响,使其在一段时间内不可用;您的数据可能仍然存在,但如果您在几个小时内无法访问它,您将无法进行故障转移,直到故障得到修复。所以无论如何你真的需要好的备份和复制。

快速回答,我将在帖子中留下详细的解释:

  • 根卷是 EBS 或实例存储,具体取决于 AMI 类型。

  • 在卷选项卡中,您可以添加其他卷。无论 AMI 类型如何,您都可以在创建卷时选择这些是 EBS 还是实例存储卷。不同的实例大小对实例存储卷的数量和大小有不同的限制,但对 EBS 卷的限制都相同。

  • 实例存储卷的最大大小由实例类型定义。请参阅您的实例的文档。EBS 卷的最大大小在 EBS 文档的第一段中:

    Amazon EBS 卷在特定的可用区中创建,大小可以从 1 GB 到 1 TB。

  • PostgreSQL 数据库并没有真正“自然地存在于根卷上”。它住在你放的地方。如果您使用的是安装包管理器的版本,它通常会放在/var/lib/pgsqlor/var/lib/postgres中,但您可以更改启动脚本选项以将其移动到其他位置,将其替换为指向所需位置的符号链接,或者在那一点。关于如何在 Stack Overflow、dba.stackexchange.com 和 serverfault 上移动 PostgreSQL 有很多讨论,所以我不会在这里重复所有这些。

  • 要组合多个 EBS 卷,请使用 Linux 的软件 RAID (md)。就 Linux 而言,EBS 就像任何其他磁盘一样,因此请参阅设置 Linux 软件 RAID 的常用文档。

就我个人而言,我对 EC2 的性能非常不满意,至少对 PostgreSQL 来说是这样。您可以获得一个非常快速的数据库运行,但价格非常昂贵。如果您想为短期工作启动一些大型数据库,这非常方便,但作为长期托管选项并不经济,您最好寻找提供更好 I/O 性能的 VPS 提供商。搜索 ServerFault、dba.stackexchange.com 等。

最后,提醒一下:高 I/O 实例上的实例存储似乎比其他选项更快……但如果您必须关闭或重新启动实例或实例失败,您将丢失实例存储卷上的所有数据,因此,如果您要使用实例存储,则必须有良好的备份和实时复制。

于 2013-04-16T23:32:36.727 回答
-1

较短的答案是:

为了快速和肮脏,您可以在所有 EC2 实例上拥有实例存储,并备份到 S3。EBS 优于实例存储的优势在于,当您终止该服务器时,EBS 将保留并可以重复使用,而实例存储则不会。

200Gb 空间很小,你可以为它获取一个存储设备(实例存储),然后备份到 S3 或复制整个 200Gb 的东西。很有可能,您不会使用 RAID 或 haddrive 复制来提高数据库的可靠性/可用性。

tl;博士

除非您需要在服务器之间传输卷,否则请使用实例存储。

于 2013-04-16T23:47:32.680 回答