我有一个局域网,目前我使用 Sonatype Nexus 的一个实例来代理几个 yum 存储库。局域网上的所有客户端都配置为仅从此服务安装软件包。
使用 Sonatype Nexus 的唯一原因是配置提供程序当时已经存在。它不是镜像,因为它会按需缓存每个包。这是理想的效果,因为我不想将每个包存储在所有被代理的 yum 存储库中。
到目前为止一切顺利。我现在想添加一个二级缓存,以防第一个出现故障或者运行缓慢:
Mirror1 Mirror2 ...MirrorN
\ \ / \ /
+----\--------+----\-------------+
| \ \ /
| +-------------+---------+
| |
+--------------------------+ +--------------------------+
| CacheA | <==Sync==> | CacheB |
| Repo1, Repo2, ..., RepoN | | Repo1, Repo2, ..., RepoN |
+--------------------------+ +--------------------------+
| |
| +--------------+--+---+
| / / \
+---/--------+-----/----------\--+
/ / \ / \ \
ClientX ClientY ClientZ
我不有使用 Sonatype Nexus。我听说过纸浆,回购, 和太空行走如果它具有更好的开箱即用功能,能够满足我的需要,我不介意购买其中之一。
我如何设置这两个缓存,以便它们最终同步,而无需镜像每个代理存储库?最终结果是我只想备份其中一个,并拥有客户端安装的每个包。
答案1
为了保持存储库同步,pulp 肯定可以胜任。
您可以将辅助服务器放置到位,并将其配置为节点,将主服务器配置为服务器,然后您可以将所需的任何存储库绑定到该节点并执行节点同步,然后同步完整存储库。这要求两个服务器都是 Publ。
第二种方法也是使用 Pull,即您可以使用 feed 在辅助服务器上配置存储库,然后同步 feed。这种方法的好处是,无论提供什么服务,它都可以与任何 yum 存储库配合使用。
我已经使用过很多 Publ 版本,从 2.4 版本开始,它已经成长为一款具有强大 API 的优秀产品。