Smi*_*ita 17 amazon-ec2 amazon-web-services ec2-api-tools
我的数据库保存在/ mnt,使用ec2实例附带的临时存储.要使用ec2 api工具进行备份,我们需要一个卷标识,但在aws控制台中,我只能找到8gb根存储的卷标识.
如果想要临时存储的备份,我该怎么办?有备份实例存储的替代方法吗?
Ste*_*pel 30
首先,除非您确切知道自己在做什么并且准备好始终进行时间点备份等,否则您永远不应该在亚马逊EC2中存储任何具有持久价值的东西,但是您的问题似乎表明您可能是误解了短暂存储的概念,Amazon EC2实例存储与Amazon EBS之间的差异以及对数据安全和备份要求的重大影响:
短暂存储将在停止/启动周期中丢失并且通常会消失,因此您绝对不希望在那里放置任何持久值,即只将临时数据放在那里,您可以承受丢失或轻松重建,如交换文件或严格在计算过程中使用的临时数据.当然,您可能会在那里存储大量索引,但必须准备好在因任何原因清除存储后重建这些索引(实例重新启动,硬件故障,......).
这些解释应阐明您无法使用仅适用于EBS卷(即EBS快照)的机制备份临时存储卷的原因.因此,您可以通过您选择的常规操作系统级备份工具备份前者,Duplicity是一个受欢迎的选择,可选择促进Amazon S3,例如我最简单地使用备份软件用于实时Linux服务器的回答.
临时存储或实例存储,就像一个/ tmp文件夹,其内容在重新启动后消失.当然,短暂的驱动器内容不会在软重启时被破坏,但是它们应该被视为它们,因为您无法实际控制或预测实例何时决定死亡.
已经指出了这一点.
我想指出的是,如果您正确地创建和配置AMI,您仍然可以使用短暂存储来大幅提高(读取)吞吐量,只要您还将EBS驱动器保留在实际存储中即可.
我目前使用的是带有bcache的Linux(Ubuntu Tahr)实例.这主要是因为bcache内核支持相对较新(IIRC,第一个bcache是3.10),你肯定想要尽可能最新的内核.此外,Tahr是Ubuntu的下一个LTS版本,当我的项目接近发布时它是最终的;)
Bcache的默认配置允许您从短暂存储的读取速度中受益,同时为您提供EBS的持久性:它需要一个快速缓存设备(临时SSD)并使用它来加速慢速设备(EBS),通过缓存设备写入(即同时写入短暂缓存和EBS).
这意味着如果实例崩溃或以其他方式停止,您仍然可以直接安装EBS卷而不使用缓存,并像访问仅使用EBS卷一样访问所有数据.您还可以重新配置现已擦除的临时设备,并将它们重新配置为EBS的缓存,以便重新享受非常快速的读取和搜索.
我的特殊设置是两个EBS设备,使用mdadm +两个短暂的SSD设备以条纹模式进行突袭,也以相同的方式进行搜索.然后我用bcache配置它们,使用短暂的数组作为缓存,将EBS数组作为"备份"设备.EBS驱动器可以是任何大小,您可以随时扩展它们(EC2有点棘手,因为您必须创建当前EBS卷的快照,然后根据该快照创建新的更大的 - 您无法调整大小现有的EBS卷).
当然,您必须创建一个在启动时在实例内运行的脚本,以配置临时存储并将其作为缓存设备附加到EBS支持的备份设备上.我鼓励阅读,并尝试使用mdadm和bcache.
为了记录,使用Cassandra压力工具进行测试,我获得了更好的读取性能,其中EBS卷使用临时驱动器进行了bcached,而不是简单地剥离短暂驱动器.这是因为bcache中使用的算法非常聪明.
使用临时驱动器作为缓存还可以减少网络流量并且具有成本效益,因为它可以减少EBS上的I/O,从而减少每月帐单.
另请注意bcache提供的不同类型的缓存:
归档时间: |
|
查看次数: |
17049 次 |
最近记录: |