我目前正在调查将基础架构迁移到Amazon EC2上运行,并试图找出设置MySQL服务的最佳方式。 我倾向于运行我们自己的MySQL实例,而不是使用Amazon的RDS,但我仍然在考虑实例本身的性能和成本的最佳方法。
为了获得持久的数据,MySQL数据需要位于EBS卷(带有某种forms的条带化RAID,例如RAID0或RAID10)上以提高持久性。 但是,EBS IO受networking接口(千兆,所以理论上的最大值为128 MB / s)的限制,而临时卷没有这样的问题。
我曾经看到过在一个实例上运行两个MySQL服务器的build议,在临时磁盘(我们也是RAID)上运行一个主服务器 ,一个从服务器存储到EBS卷的变化,但是这有一些额外的开销和复杂性(两台服务器)。
我想象的是使用某种forms的复制文件系统,以便我可以拥有
这将是优点
但是,我还没有看到一个适当的系统来复制从一个卷到另一个卷的所有变化。 有没有一个文件系统,或者其他的方法,这将做到这一点? 分布式文件系统,例如GlusterFS,DRBD等似乎集中于在服务器之间复制磁盘,他们可以被设置为在这里做我感兴趣的事情吗?
我也没有看到别人采取这种做法。 我是否有需要解决问题的解决scheme(即性能足够好,所以这个想法是多余的)? 计划中有缺陷吗?
在没有任何更好的答案的情况下, 看起来我们可以使用RAID1通过在临时驱动器和EBS驱动器的RAID0之上创build一个RAID1arrays来解决这个问题。 读取主要发生在短暂的RAID0性能应该是好的,而我们仍然有写入持久性存储以及短暂的。