![镜像 svn 存储库](https://linux22.com/image/796768/%E9%95%9C%E5%83%8F%20svn%20%E5%AD%98%E5%82%A8%E5%BA%93.png)
我有一个 svn 存储库,我想将其复制到多台机器上,以提高可用性。现在,当我的 vps 出现故障时,我无法连接到存储库,这非常烦人。最简单(也是最广泛的)解决方案是设置两台相同的机器,让它们像克隆一样工作。我想知道是否有其他替代方案(涉及两台机器)。理想情况下,我会在不同的数据中心有两个 vps,这样如果一个出现故障,我就可以依赖另一个。谢谢。
我需要一个既可用于读取又可用于写入的镜子,而不仅仅是用于读取。
Svn Repos 基于 berkley-db
答案1
你至少可以思考一下一些不同的 解决您的烦恼(未问问题)
- 根据要求,您可以使用 RO SVN 镜像(1 个实例)进行构建同步(ASF 文档为了它)
- 你可以用 svnadmin (dump|load)|svnrdump 重建任意数量的镜像(甚至是 RW),但需要大量的手工工作
- 如果您的存储库是 FSFS,则可以使用任何工具创建 FS-tree 的远程副本,从而形成存储库(rsync 是不错的选择,也许 scp)
- 您可以在本地使用具有 SVN-bridge 的 SCM(DVCS),并在 SVN 离线时与本地存储库一起工作,并在 SVN 在线时进行同步(Git+git-svn 或 Mercurial+hgsubversion)
解决方案 3 详细信息
从 FS(文件系统)视图来看,SVN 存储库只是文件系统中的子树。如果您在任何其他位置创建并启动新的 SVN 服务器(使用svnserve --root
或使用 Apache SVNParentPath
- 没关系),则出现在 repo-root 内部并将结构视为存储库的任何数据都将作为存储库提供。您只需找到将文件从一个位置传输到另一个位置的方法
答案2
您可以查看 WANdisco Subversion 解决方案,它出于 HA/DR 目的执行这种 Subversion 存储库克隆。