Ubuntu Server 的文件同步

Ubuntu Server 的文件同步

我计划设置两台 Ubuntu 服务器作为备份解决方案,供人们存储图像和文档。我的想法是,如果用户在一台 Ubuntu 服务器上的特定目录(可能是 Samba 共享目录?)上保存/更新文件,它会将其同步到另一台服务器。

你们觉得怎么样?有没有更好的解决方案?提前谢谢!

编辑:建议在 Samba 中创建可写目录并设置其访问权限吗?用户安装了 Mac OSX 和 Windows XP 作为其操作系统。

答案1

rdiff-备份

您曾经看过 rdiff-backup 吗?

我们用它将超过 400 万个文件从一个 Ubuntu 文件服务器同步到另一个,没有任何问题。rdiff-backup 的一个非常好的功能是它同时保留镜像副本和差异副本(您可以配置保留时间)。当您备份源代码、更改的图像等内容时,这非常有用,因为您始终可以将文件还原到某个时间点。

以下是他们网站上的描述:

http://rdiff-backup.nongnu.org

rdiff-backup 可以将一个目录备份到另一个目录,可能通过网络。目标目录最终会成为源目录的副本,但额外的反向差异会存储在该目标目录的一个特殊子目录中,因此您仍然可以恢复一段时间前丢失的文件。其理念是结合镜像和增量备份的最佳功能。rdiff-backup 还保留子目录、硬链接、dev 文件、权限、uid/gid 所有权、修改时间、扩展属性、acls 和资源分支。此外,rdiff-backup 可以通过管道(如 rsync)以带宽高效的方式运行。因此,您可以使用 rdiff-backup 和 ssh 将硬盘安全地备份到远程位置,并且只会传输差异。最后,rdiff-backup 易于使用,设置具有合理的默认值。


同步

我的第二选择是 rsync 和一个 cron 作业,设置为您想要的频率。


JungleDisk / Amazon S3

我的第三个选择(取决于您的确切需求)是通过 JungleDisk 或类似程序进行异地备份到 Amazon 的 S3 云。

http://www.jungledisk.com


实际上,我们每小时通过 rdiff-backup 将超过 400 万个文件从主 Ubuntu 文件服务器备份到从属 Ubuntu 文件服务器(同一位置)。

然后,我们每 6 小时通过 rsync(或 Jungledisk)备份一次到 Amazon S3 云。

这样,我们可以只使用主/备份来处理“简单的事情”,但如果发生灾难性的事情,我们仍然可以在云中拥有 Amazon S3 备份。

希望这能给你一些想法...

答案2

如果节点之间有良好的连接性和带宽,你可以考虑使用灾难恢复数据库心跳阻止镜像您的数据。

答案3

我很喜欢集群文件系统并且已经使用它一段时间来做你想做的事情。

关于集群文件系统

GlusterFS 是一个集群文件系统,能够扩展到数 PB。它通过 Infiniband RDMA 或 TCP/IP 互连将各种存储块聚合到一个大型并行网络文件系统中。存储块可以由任何商用硬件制成,例如带有 SATA-II RAID 和 Infiniband HBA 的 x86-64 服务器。

教程描述如何使用服务器端复制启动和运行。请注意,“服务器”也可以是客户端...

//rkthkr

答案4

对此有很多不同的解决方案。它们都有优点,但不幸的是它们都有缺点。这取决于你想做什么。最简单的方法是使用单向镜像进行备份或热交换文件服务器。同样简单的是共享数据存储,允许在文件服务器之间进行负载平衡,但你仍然只有一个数据存储。更复杂的是双向同步和复制数据。然后你会遇到一个问题,当一个节点看不到另一个节点时会发生什么。如果它们不同步会发生什么?

从最简单到最复杂

  • 计划 rsync
  • 存储区域网络
  • NBD 和镜像
  • 集群文件系统,如 lustre、glustrefs、GFS、OCFS2。

相关内容