目前,在数据中心,我们有6个盒子。 其中的每一个都运行LAMP堆栈,并且每个都需要备份。 显而易见的解决办法是将所有这些备份到一台机器,然后插入一个驱动器,然后将其备份。
问题是,我们的一些员工(读取:将插入驱动器的人)是懒惰的。 所以我的任务是编写一个脚本来备份我们每台机器的本地数据,以便能够像上面那样在异地备份数据。 但是,数据中心的收费标准是百分之九十五,而这些备份则耗费公司资金。
我的问题,对于中小型企业:我们应该使用什么样的方式来备份我们的数据? 目前,购买另一台机器进行备份是非常不可能的,但会被考虑在内。
您目前如何在异地运行备份?
如果您对目前的安排感到满意,那么您可能只能通过用涓stream或类似的方法来限制进行非现场复制的进程所使用的带宽量。 将带宽限制在明显低于您的收费数据速率的范围内。
我个人(在工作中)使用rsync进行全部备份,因为同步协议在限制数据传输量方面非常有效。 最重要的是它有一个自己的传输节stream选项,我们使用这个选项是为了不使输出的ADSL线路饱和(如果一个备份运行开始,而我们中的一个在这个线路上执行远程pipe理任务,这将是不方便的)。
那里已经有TON的备份问题了。 我刚刚回答了一个问题。 大声笑
O'Reilly的书“备份和恢复”是一本很棒的书,如果你想了解总体战略和一些可能性。
你开始之前需要一个计划。 而且该计划需要有意义,并且(希望)可以扩展。
你可能想要考虑和考虑的一些具体的事情是:
Jungledisk
rdiff进行备份
rsync(总是个人喜欢的)
好的,您的第一步应该是评估您真正想要的内容,并在创build备份解决scheme之前创build备份计划。 狗厌倦了摇摆。
如果我在这种情况下,我会这样做。
如果机器是在kickstart中创build的,并且pipe理良好,并且可以从文档重新创build它们,那么很好。 如果没有,则将它们半年一次的图像放到USB驱动器上。 您可以使用clonezilla并在短时间内完成。 如果其中一台机器着火,或者其他什么,这将使你相对迅速的周转。
您将要定期备份configuration和数据。 不知道有多less数据,我会说评估每个服务器的需求,并确定您的备份目标将需要什么。 一旦你有了这些,你可以更好地了解你可以放在哪里。
评估。 计划。 build立。 testing。 请按照这个顺序。
嗯。 那么,我们的解决scheme是在数据中心有一个单独的备份服务器,但是没有异地备份。 这对我们来说很便宜,因为我们租用了整个机架,但只使用了2/3(我们对数据中心提供商超级舒适 – 这个空间甚至可以是免费的)。 我向我的老板提出了异地备份,但是他认为这是太昂贵的带宽方式。 他也认为我们数据中心遭到破坏的可能性太小了。 我耸耸肩,说“这是你的电话”。
至于备份服务器本身,这也是便宜的。 这是消费级硬件与非RAID驱动器。 期望的是,如果驱动器出现故障,那么当天我会在那里一个新的,我们会立即重build备份。 但是备份服务器的软件确实会被发送到非现场,因为与其他所有数据相比,这个数据非常小。 这也是一些使用Rsync的自定义shell脚本。 我通过制作目录的tarball并旋转tarball来进行增量备份。
从技术上讲,这是“足够的”。 它已经保存了我们的皮革几次。
我个人喜欢backuppc它是免费的,它汇集数据,非常可定制的,使用基本的Linux工具,可以备份所有种类的操作系统,Web界面,而且相当简单的configuration。
我使用rsync到中央备份服务器; 使用硬链接进行一些“旋转备份”以节省磁盘空间:
cd /backup/ for i in $( seq 0 4 | sort -r) do mv cur.$i cur.$[$i+1] done rm -rf cur.5 & cp -al cur cur.0
由于rsync会将一个新文件移动到一个旧文件的顶部 – 硬链接将节省大量永不改变的文件的磁盘空间(它们都引用一个inode),但是每个目录的副本都应该包含每个文件只是符号链接到文件)
rsync有一个带宽限制器,压缩内置:
-z, --compress compress file data during the transfer --bwlimit=KBPS limit I/O bandwidth; KBytes per second
我每晚备份23台机器到一台服务器。 需要2小时左右循环所有的机器 – 但我使用本地机器。
现在有一些非常便宜的2TB硬盘 – 而且你可以很容易地设置一个RAID 1,把你的备份硬盘镜像到一个额外的硬盘上,这个硬盘就成了你的“非现场”旋转硬盘。