У меня есть локальная сеть, в которой я использую экземпляр Sonatype Nexus для проксирования нескольких репозиториев yum. Все клиенты в локальной сети настроены на установку пакетов только из этой службы.
Единственная причина, по которой используется Sonatype Nexus, заключается в том, что поставщик конфигурации уже существовал в то время. Это не зеркало, поскольку он кэширует каждый пакет по запросу. Это желаемый эффект, поскольку я не хочу хранить каждый пакет во всех репозиториях yum, для которых выполняется проксирование.
Все идет нормально. Сейчас я бы хотел добавить вторичный кешна случай, если первый выйдет из строя или, возможно, будет медленным:
Mirror1 Mirror2 ...MirrorN
\ \ / \ /
+----\--------+----\-------------+
| \ \ /
| +-------------+---------+
| |
+--------------------------+ +--------------------------+
| CacheA | <==Sync==> | CacheB |
| Repo1, Repo2, ..., RepoN | | Repo1, Repo2, ..., RepoN |
+--------------------------+ +--------------------------+
| |
| +--------------+--+---+
| / / \
+---/--------+-----/----------\--+
/ / \ / \ \
ClientX ClientY ClientZ
Я не иметь использовать Sonatype Nexus. Я слышал о мякоть, мрепо, и выход в открытый космос и я не против попасть в один из них, если он имеет более функциональные готовые возможности для того, что мне нужно.
Как я могу настроить эти два кеша так, чтобы они в конечном итоге синхронизировались, без зеркалирования каждого прокси-репо? Конечным результатом является то, что я хотел бы сделать резервную копию только одного из них и иметь все пакеты, установленные клиентом.
Для синхронизации репозиториев целлюлоза наверняка справится со своей задачей.
Либо вы можете установить вторичный сервер и настроить его как узел с первичным в качестве сервера, затем вы можете привязать любое репо, которое вы хотите, к узлу и выполнить синхронизацию узла, которая затем синхронизирует полное репо. Это требует, чтобы оба сервера были целлюлозно.
Второй подход, также использующий целлюлозу, - вы можете настроить репозитории на вторичном сервере с использованием каналов, а затем синхронизировать эти каналы. Хорошая вещь в этом подходе заключается в том, что он работает с любым репозиторием yum, независимо от того, какая служба его предоставляет.
Я довольно много работал с целлюлозой, и, начиная с версии 2.4, она действительно превращается в действительно хороший продукт с мощным API.