【发布时间】:2012-05-02 15:17:49
【问题描述】:
我已经在 amazon ec2 上运行了一个系统。系统使用三个数据库MySql、CouchDB 和ldap。 但现在我想使用亚马逊 ebs。谁能帮帮我吗。我是 Linux 新手。在我将数据库移动到不同的 ebs 卷后,是否需要更改与这些数据库连接的代码?
【问题讨论】:
标签: java linux amazon-ec2 amazon-ebs
我已经在 amazon ec2 上运行了一个系统。系统使用三个数据库MySql、CouchDB 和ldap。 但现在我想使用亚马逊 ebs。谁能帮帮我吗。我是 Linux 新手。在我将数据库移动到不同的 ebs 卷后,是否需要更改与这些数据库连接的代码?
【问题讨论】:
标签: java linux amazon-ec2 amazon-ebs
EBS 是 Amazon 针对 EC2 实例的分布式存储解决方案。向实例添加新 EBS 卷大致相当于向物理服务器添加新硬盘。它提供了更多可用存储空间,但它不是不同的服务器或任何东西,因此您不需要更改负责连接到数据库的代码。
我建议您先阅读本关于在 EBS 上安装 MySQL 的教程:
http://aws.amazon.com/articles/1663
如果您不熟悉从命令行工作,您也可以使用http://aws-portal.amazon.com/ 的 Web 管理控制台来创建和附加 EBS 卷,而不是使用命令行工具。不过,在新的 EBS 卷上启动并运行 MySQL 仍然需要一些命令行工作。
CouchDB 和 IDAP 的过程应该大致相似:关闭数据库服务,并创建数据文件的备份。同时,您创建一个新的 EBS 卷,将其附加到您的实例,使用 mkfs 准备它以供使用,然后挂载它。然后,将数据文件复制到新的 EBS 卷,更改配置以让服务器知道数据文件现在存储在哪里(即 EBS 卷上目录的路径),然后重新启动数据库服务。这应该可以解决问题。
您可以使用单个 EBS 卷并将所有数据文件放在该卷上,也可以使用三个单独的卷,每个数据库一个。后一种选择可能会稍微快一些。
希望这会有所帮助。这可能需要一些实验,但应该不会太难。当然,不要在生产系统上测试这个:)
【讨论】:
除了@Daan 所说的,您应该考虑将多个 EBS 卷条带化到软件 RAID 配置中。
如果您不这样做,您很可能会发现 EBS IO 性能对于适度繁忙的 MySQL 实例来说太差了。
有关如何执行此操作的详细信息,请查看
【讨论】: