我打算设置两个Ubuntu服务器作为备份解决scheme,用户可以存储图像和文档。 我想到的是,如果用户在一个Ubuntu服务器上保存/更新特定目录(Samba共享目录,也许?)上的文件,它会将其同步到另一台服务器。
你们有什么感想? 有没有更好的解决scheme呢? 提前致谢!
编辑:build议创build可写目录并在Samba中设置它的访问权限? 用户安装了Mac OSX和Windows XP作为其操作系统。
rdiff进行备份
你有没有看过rdiff备份?
我们已经使用它从一个Ubuntu文件服务器同步超过400万个文件到另一个没有任何问题。 rdiff-backup的一个非常好的function是保持镜像副本和差异副本(可以configuration多长时间)。 当您备份源代码,更改的图像等等时,这一点非常方便,因为您始终可以将文件恢复到某个时间点。
以下是他们网站的描述:
http://rdiff-backup.nongnu.org
rdiff-backup将一个目录备份到另一个目录,可能通过networking。 目标目录结束了源目录的副本,但额外的反向差异存储在目标目录的特殊子目录中,因此您仍然可以恢复前一段时间丢失的文件。 这个想法是结合镜像和增量备份的最佳function。 rdiff-backup还保留子目录,硬链接,开发文件,权限,uid / gid所有权,修改时间,扩展属性,acls和资源分支。 而且,rdiff-backup可以通过pipe道以带宽有效的方式运行,比如rsync。 因此,您可以使用rdiff-backup和ssh安全地将硬盘驱动器备份到远程位置,并且只会传输差异。 最后,rdiff-backup很容易使用,并且设置有默认值。
rsync的
我的第二个select是rsync和一个cron工作,但频繁地设置你的愿望。
JungleDisk / Amazon S3
我的第三select(取决于您的EXACT需求)将通过JungleDisk或一些类似的程序异地备份到亚马逊的S3云。
我们实际上每小时通过rdiff-backup一次将超过400万个文件从我们的主Ubuntu文件服务器备份到一个从属Ubuntu文件服务器(相同位置)。
然后,我们通过rsync(或Jungledisk)每6小时备份一次到Amazon S3云。
这样我们就可以用主/备份来处理“简单的东西”,但是如果发生了灾难性的事情,我们仍然可以在云中备份Amazon S3备份。
希望这给你一些想法…
如果节点之间有良好的连接性和带宽,则可以考虑使用DRDB和心跳来阻止镜像数据。
我真的很喜欢glusterfs ,用了一段时间来做同样的事情,你正在做的事情。
关于glusterfs :
GlusterFS是一个集群文件系统,能够扩展到几个peta字节。 它将Infiniband RDMA或TCP / IP互连上的各种存储块集成到一个大型并行networking文件系统中。 存储砖可以由任何商品硬件制成,例如具有SATA-II RAID和Infiniband HBA的x86-64服务器)。
本教程将介绍如何使用服务器端复制来启动和运行。 请注意,“服务器”也可以是客户端…
// rkthkr
看看开源项目BackupPC 。 我用它来备份小型企业的服务器; 一些好处:
有很多不同的解决scheme。 他们都有优势,但不幸的是他们都有缺点。 这取决于你想要做什么。 最简单的是备份或热插拔文件服务器的单向镜像。 还有一个简单的共享数据存储允许您的文件服务器负载平衡,但是您仍然拥有一个数据存储。 更复杂的是双向同步和复制数据。 然后,当一个节点看不到另一个节点时,会发生什么情况。 如果他们不同步会发生什么?
最简单到复杂