复制文件系统和EC2 MySQL

我目前正在调查将基础架构迁移到Amazon EC2上运行,并试图找出设置MySQL服务的最佳方式。 我倾向于运行我们自己的MySQL实例,而不是使用Amazon的RDS,但我仍然在考虑实例本身的性能和成本的最佳方法。

为了获得持久的数据,MySQL数据需要位于EBS卷(带有某种forms的条带化RAID,例如RAID0或RAID10)上以提高持久性。 但是,EBS IO受networking接口(千兆,所以理论上的最大值为128 MB / s)的限制,而临时卷没有这样的问题。

我曾经看到过在一个实例上运行两个MySQL服务器的build议,在临时磁盘(我们也是RAID)上运行一个主服务器 ,一个从服务器存储到EBS卷的变化,但是这有一些额外的开销和复杂性(两台服务器)。

我想象的是使用某种forms的复制文件系统,以便我可以拥有

  • 一个临时卷的RAID0顶部的文件系统,以最大限度地提高性能
  • 从上面的所有更改立即复制到另一个由多个EBS卷支持的RAID1卷,以确保没有数据丢失

这将是优点

  • DB服务器的最佳IO性能; IO没有networking延迟
  • EBS卷上的IO减less(因为所有读取的IO将在临时卷上完成),因此降低了成本
  • 良好的数据安全性,因为它支持冗余的EBS卷

但是,我还没有看到一个适当的系统来复制从一个卷到另一个卷的所有变化。 有没有一个文件系统,或者其他的方法,这将做到这一点? 分布式文件系统,例如GlusterFS,DRBD等似乎集中于在服务器之间复制磁盘,他们可以被设置为在这里做我感兴趣的事情吗?

我也没有看到别人采取这种做法。 我是否有需要解决问题的解决scheme(即性能足够好,所以这个想法是多余的)? 计划中有缺陷吗?

在没有任何更好的答案的情况下, 看起来我们可以使用RAID1通过在临时驱动器和EBS驱动器的RAID0之上创build一个RAID1arrays来解决这个问题。 读取主要发生在短暂的RAID0性能应该是好的,而我们仍然有写入持久性存储以及短暂的。