带有RAID0(分条)和恢复快照的EBS

我们在EC2上有一个MySQL数据库,并在那里查看磁盘IO性能。 目前,我们有一个单一的EBS卷与XFS和采取快照备份。 似乎很多人通过用软件RAID分割多个EBS卷来看到显着的性能提升。 如果这样做,如何拍摄快照并确保文件系统的一致性? 在我看来,从多个快照恢复文件系统可能会非常棘手。

绝对添加RAID。 EBS卷将很快成为瓶颈。 我们使用8个驱动器运行良好 – 可pipe理性和性能之间的平衡很好。 我最近做了一些m1.large实例的testing,发现8个驱动器后性能下降了。

我使用ec2-consistent-snapshot创build快照: http : //alestic.com/2009/09/ec2-consistent-snapshot

这是传递多个卷的最佳方式。 它使Hugh Perkins概述的过程自动化。 它刷新表,locking文件系统,启动快照,然后再把一切正确。 我发现我们的系统数据库通常locking不到1秒。 我们在主机和从机上都这样做。

如果要为实时系统EBS卷快照:

  • 使用xfs可以在快照过程中冻结文件系统
  • 在快照过程中通过打开一个mysql会话locking表并发出'flush lock with read lock',并保持该会话处于打开状态,直到每个卷的ec2-create-snapshot都返回。

请参阅使用Elastic Block Store在Amazon EC2上运行MySql以获取有关此过程的更多详细信息。

或者,您可以考虑:

  • 将数据复制到不同的机器上,然后快照,这可能是一个简单的任务,并且避免影响主机。
  • 转储整个数据库转储文件,并将其保存到s3,或保存到不同的ebs卷