如何采取AWS的备份EC2实例/临时存储?(How do I take a backup of aw

2019-06-24 19:19发布

我有我的数据库保存在/ mnt,使用自带的EC2实例存储短暂。 要充分利用我们所需要的卷ID EC2 API工具备份,但在AWS控制台我能找到的只有8GB存储根的卷ID。

我应该怎么做,如果要临时存储的备份? 是否有备份实例存储任何替代?

Answer 1:

First and foremost, you should never store anything of lasting value on ephemeral storage in Amazon EC2, except if you know exactly what you are doing and are prepared to always have point in time backups etc. - your question seems to indicate that you might be mistaken about the concept of ephemeral storage, the respective difference between Amazon EC2 Instance Storage an Amazon EBS and the significant implications regarding data safety and backup requirements:

Ephemeral storage will be lost on stop/start cycles and can generally go away, so you definitely don't want to put anything of lasting value there, i.e. only put temporary data there you can afford to lose or rebuild easily, like a swap file or strictly temporary data in use during computations. Of course you might store huge indexes there for example, but must be prepared to rebuild these after the storage has been cleared for whatever reason (instance reboot, hardware failure, ...).

  • That's one of the many reasons Eric Hammond excellently summarized in You Should Use EBS Boot Instances on Amazon EC2), which outlines the history of and differences between the two storage concepts and assesses the few remaining possible benefits of ephemeral storage (mainly being plentiful and free).

Problem/Solution

These explanations should clarify why you are unable to backup the ephemeral storage volumes with a mechanism that solely applies to EBS volumes (i.e. EBS snapshots). Accordingly, you can backup the former via regular operating system level backup tool of your choice, with Duplicity being a popular choice optionally facilitating Amazon S3 for example, as addressed in my answer to Easiest to use backup software for live linux server.



Answer 2:

短暂的存储,或实例存储,按原样,就像一个/ TMP文件夹,其内容在重新启动后消失。 当然,短暂的驱动器的内容不被破坏的软重启,但他们应该被视为如果他们成功了,因为你不能切实控制或当您的实例决定死预测。

这已经指出。

我想指出的是,如果你创建并适当地配置您的AMI,您仍然可以使用临时存储将显着提高(读)吞吐量,只要你还留着EBS驱动的实际存储。

我正在使用的那一刻是BCACHE的Linux(Ubuntu的塔尔羊)的实例。 这主要是因为BCACHE内核支持是相对较新的(IIRC,第一个与BCACHE为3.10),并且你肯定会想近期内核成为可能。 此外,塔尔羊是Ubuntu的下一个LTS版本,当我的项目已接近推出它的最后;)

BCACHE在其默认的配置,让您从临时存储的读取速度,同时给你EBS的持久性中获益:它需要一个快速缓存设备(临时SSD)并用它来加快慢速设备(EBS),通过缓存装置写入(即,同时写入临时缓存和EBS)。

这意味着,应该实例崩溃或以其他方式停止,仍可以直接挂载EBS卷不具备高速缓存,并访问所有数据,否则你将只使用EBS卷。 您还可以重新配置,现在抹短暂的设备和重新配置它们作为缓存到EBS取回享受非常快的读取,并寻求。

我的特定的设置是二EBS设备,使用的mdadm + 2台短暂SSD设备还突袭中相同的方式在条纹模式搜查。 然后,我和BCACHE配置它们,用短暂的数组作为高速缓存,以及EBS数组作为“备份”设备。 EBS的驱动器可以是任何尺寸,并且可以随时展开它们(有点棘手使用EC2,因为你要创建当前EBS卷的快照,然后创建基于快照的新的较大的 - 你不能调整现有EBS体积)。

当然,你必须创建您的实例中,在启动时运行配置临时存储和连接它作为您的EBS支持的备份设备上的高速缓存设备的脚本。 我鼓励阅读起来,并用,试验的mdadm和BCACHE 。

为了记录在案,与卡桑德拉压力测试工具,我得到比我做条带化只是短暂的驱动器短暂驱动bcached EBS卷读取性能较好 。 这是因为在BCACHE使用的算法,这是非常聪明的。

使用作为高速缓存也减少了网络流量和短暂的驱动器具有成本效益,因为它减少了I / O上EBS,因此您的每月帐单。

还要注意不同类型的高速缓存BCACHE规定:

  1. 回写:使用SSD作为读/写设备,只有当页面需要从缓存中驱逐写入备份设备。 这不是 EC2临时设置有用,因为它会使您的备份设备上的崩溃无用或停止。
  2. 通过写:所有的写是在这两个缓存和备份。 这确保了备份设备始终是高达最新的高速缓存设备,它可以始终不具备高速缓存设备使用。 有用的EC2。
  3. 写身边:所有直接写入到备份设备,并且直到读请求发生于那些数据在未来一段时间内不会被写入高速缓存设备。 只读取缓存在高速缓存设备上。 这是安全的,因为写透,如果你知道你写不太可能在不久的将来要读是非常有用的。 这避免了填充不经常被请求的数据高速缓存设备,从而有对请求哪些数据更多的空间。 一对夫妇的例子可能是文件上传服务器,在那里你如果你知道你的整个数据集比临时存储大小显著较大写了很多记录数据等的系统,这是最有可能是最有效的选择在大NUMER的使用情况。


Answer 3:

如果你能够配置软件RAID镜像,您可以在EBS支持的磁盘连接到该实例,配置镜像,然后等待复制完成。 我已经成功地使用这种方法后,我已经创建的实例移动“短命”的数据到EBS(我不想关闭和重启)。

一旦你对EBS的数据,备份与EBS图像。

这种方法效果特别好,当你有不同的相同的情况下运行数据的多个副本,但你只需要其中的一个持久化到EBS(在我的情况下,使用Couchbase服务器,该CB数据是在短暂的驱动器,但我有一个的情况下,镜像到EBS这样我所有的群集上的数据在EBS结束了)。



Answer 4:

任何文件级备份解决方案(不是基于EBS快照)可以备份你的临时存储。 这就是说,你应该考虑何时使用临时存储,并有很好的理由来使用它的持久性数据。 对于某些应用,像卡桑德拉,这是推荐的配置。 在这种情况下,您的备份解决方案将主要从临时存储到将快照或直接到S3 EBS卷转储数据。 在某些情况下,你可以定义复制,并确保在短暂的设备的所有数据也被复制到EBS卷。



文章来源: How do I take a backup of aws ec2 instance/ephemeral storage?