我想跨多个EC2节点(networking/应用程序服务器)使用单个EBS存储。 我已经阅读了关于快照分享的一些文章,但是这并不适合我们所需要的。
我们使用文件系统来存储数据库logging附件,所以如果创build了一个这样的附件,我们需要它立即可用于所有节点(服务)。 到目前为止,只有NFS似乎是可行的,但configuration和维护是一个痛苦。
另一个select可能是将这些附件存储在S3上,但是这会使我们不能对这些数据进行任何分析。
在AWS中进行扩展时,这一定是非常普遍的问题,那里有什么解决scheme?
实例之间还没有直接共享EBS的方法。 但! 有其他select:
最可扩展的方式:S3。 最复杂的是:分布式文件系统(如GlusterFS)。 解决scheme之间有点儿:1个主节点安装了lyncd和slave节点。 lsyncd几乎以实时模式pipe理所有文件更新。 这个变体的缺点是所有的文件更新操作必须在主节点完成。
对于小项目(1-5个节点),我会考虑lsyncd解决scheme,对于更大的项目,我会去S3。
如何不使用直接文件系统访问,而是将数据库logging附件存储在可从多个EC2实例访问的服务后面? 一个MySQL数据库,或者像Cassandra这样的“NoSQL”选项将是不错的select。
我不明白为什么在S3上存储附件会阻止你对数据进行分析; 你能详细谈谈。