我在S3(这是我的主文件主机)托pipe200 GB的产品图像。
我需要将数据还原到其他地方吗?还是像S3一样安全?
我一直在尝试将S3存储桶安装到EC2实例,然后每晚做一次rsync备份。 问题在于它大约有三百万个文件,所以需要一段时间才能生成不同的rsync需求。 备份实际上需要大约3天才能完成。
任何想法如何做到这一点更好? (如果甚至有必要?)
我一直在研究这个,很有趣。
由于最终的一致性,您对S3的备份可能会因您所在的地区而失败; 基本的警告是,如果你这样做,在某些时候,你将有错误打开或查找文件作为在服务器之间的亚马逊同步的文件系统魔术,所以你的备份可能不可靠。
至于是否需要以另一种方式挽救,这取决于您的风险pipe理。 你相信亚马逊保存你的数据吗?
他们可能会失去一些东西或者存储系统的失败。 他们毫无疑问在合同中有条款,规定如果他们丢失了你的数据,那就是你的问题。 不是他们的。 另外,看到你的数据被安置在其他地方,你不知道他们会用它做什么。 执法部门想要你的数据? 你甚至可能不知道有人访问过它。
你相信吗? 如果数据不是您业务的关键,而且您愿意接受这种风险,则无需将其下载到异地存储。 如果您不愿冒险在亚马逊的存储服务器上安全地存储数据,则应该安排定期将其转存到您自己的存储中。
换句话说,我不认为有一个直接的答案,因为这取决于您的风险承受能力和业务需求。 很多人并不完全信任他们的收入,仅仅依靠云存储,个人而言,我觉得有点警惕…
要做得更好,在讨论和研究中,另一种考虑的方法是创build一个足够大的EBS卷来存储数据,将其附加到EC2实例,将数据保存在那里,然后可以卸载卷并将数据保存到S3 。 我正在研究是否将卷文件本身保存到S3或内容中,但在完成后可以删除EBS实例以节省存储成本。
编辑我看到在重读,你从S3保存到EC2实例,而不是反之亦然(虽然我不知道最终的一致性问题是否仍然可能导致问题)。 您正尝试将数据保存到EC2实例作为备份? 我认为在成本方面这不是一个合理的策略; 当考虑到长期存储这类数据以及虚拟机时间时,将备份备份到本地驱动器可能会更便宜。 使用驱动器成本,您可以将数据复制到本地磁盘作为备份。
我仍然会保持有关信任亚马逊和他们的存储的警告。 如果您希望将所有内容都保存在Amazon S3中,但却有更多的冗余,请将您的S3存储桶复制到不同的地区,如果它们发生故障影响到一个地区,则不应将其全部淘汰。 你会希望的 任何事情都是可能的。
这取决于您对数据的重视程度,您愿意为此付出多less费用以及您想要承受多less风险。
我已经使用s3cmd的 s3cmd sync来做到这一点。 它的操作有点类似于rsync,可以在S3和另一个你select的linux系统之间推送和拖动整个目录。
我看不出有什么理由不能将s3cmd sync到正在运行的EC2实例,甚至是您自己的开发人员工作站(或存储服务器)。
你可能想要build立一个VPC实例,然后你可以在你的VPC里面指定一个小型节点作为备份服务器的angular色,同时在Amazonnetworking内部以及在你的本地子网内部提供一个IP。
我的build议是你的数据是你的责任,而不是亚马逊的。 如果丢失数据不是什么大不了的事情,那就不要做自己的备份。 如果是的话,就像我一样,自己备份(至less)一个便宜的JBOD(并定期validation)。
你会发现亚马逊愿意为你的数据承担多大的责任,这一天他们失去了它。
如果你能负担得起(因为我这样做)是所有的数据存储在我的服务器,但从amazon s3拉。 所以如果亚马逊因为任何原因而失败(触摸木头),我可以直接从我的服务器上立即取得我的所有数据。 从我的服务器,我每月备份到我的本地驱动器。 因为我的网站在2TB以上。
虽然这是一个古老的线程,但它是谷歌S3备份时出现的第一件事,所以我想我会join它…
我自己做了一些研究,我发现Rclone https://rclone.org/ – 它是rsync-ish软件,旨在复制云文件存储服务,并支持其中的大部分。 没有隶属关系,我还没有使用它,所以我不能说这是好还是坏,但我认为这可能有助于某人。
在我看来,这是一个托pipe服务的机会,可以对云托pipe文件(S3,Google存储,Rackspace云文件等)进行“异地”备份。