Repository Mirror#

A DNF/Yum repository mirror hosts rpm packages from which the cluster’s systems retrieve and installs OS and application updates from. Having a local repository mirror has multiple benefits and faciliates scheduled patching in addition to reducing network traffic to the internet. A DNF/Yum repository mirror can also be the only system in the cluster that needs an output bound internet connection.

The repository mirror has been configured to mirror all of the repositories used in these guides. All nodes in the cluster will need to be individually configured based on their role.

../_images/topology.png

Operating Systems#

These guides are compatible with AlmaLinux 8 and Rocky Linux 8. Other solutions are available for Red Hat Enterprise Linux.

Access Controls#

The node hosting the repository mirror should only be accessed directly using SSH by system administrators. Standard cluster user accounts should not be able to SSH into the repository mirror node.

Hostnames#

These guides use the following example Hostnames and FQDN for the node hosting the repository mirror. FQDNs can be provided by utilizing a DNS server or installing a hosts file on the system itself.

Note

An example /etc/hosts file has been provided: hosts

Server#

The repository mirror is deployed on the following node:

Hostname

FQDN

Function

Type

IPv4 Address

mirror

mirror.engwsc.example.com

Repository Mirror

VM Guest

192.168.1.88

Clients#

The nodes utilizing the repository mirror for updates are the following:

Hostname

FQDN

Function

Type

IPv4 Address

nfs01

nfs01.engwsc.example.com

NFS Storage

Bare-Metal

192.168.1.50

vmm01

vmm01.engwsc.example.com

VM Manager 1

Bare-Metal

192.168.1.51

vmm02

vmm02.engwsc.example.com

VM Manager 2

Bare-Metal

192.168.1.52

user01

user01.engwsc.example.com

User Node 1

Bare-Metal

192.168.1.60

user02

user02.engwsc.example.com

User Node 2

Bare-Metal

192.168.1.61

user03

user03.engwsc.example.com

User Node 3

Bare-Metal

192.168.1.62

user04

user04.engwsc.example.com

User Node 4

Bare-Metal

192.168.1.63

comp01

comp01.engwsc.example.com

Compute Node 1

Bare-Metal

192.168.1.64

comp02

comp02.engwsc.example.com

Compute Node 2

Bare-Metal

192.168.1.65

comp03

comp03.engwsc.example.com

Compute Node 3

Bare-Metal

192.168.1.66

comp04

comp04.engwsc.example.com

Compute Node 4

Bare-Metal

192.168.1.67

idm

idm.engwsc.example.com

Identity Management

VM Guest

192.168.1.80

gitlab

gitlab.engwsc.example.com

GitLab CE

VM Guest

192.168.1.81

slurm

slurm.engwsc.example.com

Slurm Controller

VM Guest

192.168.1.82

graylog

graylog.engwsc.example.com

Graylog Open

VM Guest

192.168.1.83

ansible

ansible.engwsc.example.com

Ansible Control Node

VM Guest

192.168.1.84

influxdb

influxdb.engwsc.example.com

InfluxDB

VM Guest

192.168.1.85

grafana

grafana.engwsc.example.com

Grafana

VM Guest

192.168.1.86

docker

docker.engwsc.example.com

Docker Host

VM Guest

192.168.1.87

Each client may have a different set of repositories enabled depending on the nodes configuration. The following is a list of repositories that should be enabled for each node:

Hostname

Repositories

nfs01

baseos, appstream, extras, influxdb

vmm01

baseos, appstream, extras, influxdb

vmm02

baseos, appstream, extras, influxdb

user01

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

user01

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

user03

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

user04

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

comp01

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

comp02

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

comp03

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

comp04

baseos, appstream, extras, epel, epel-modular, powertools, influxdb

idm

baseos, appstream, extras, influxdb

gitlab

baseos, appstream, extras, gitlab_gitlab-ce, influxdb

slurm

baseos, appstream, extras, powertools, influxdb

graylog

baseos, appstream, extras, epel, mongodb-org-6.0, elasticsearch-7.x, graylog, influxdb

ansible

baseos, appstream, extras, powertools, epel, epel-modular, influxdb

influxdb

baseos, appstream, extras, influxdb

grafana

baseos, appstream, extras, grafana, influxdb

docker

baseos, appstream, extras, influxdb

Guides#

The following guides are required to deploy the repository mirror:

  1. Repository Mirror Server OS Installation Guide

  2. Repository Mirror Server Deployment Guide

The following guides are required to configure systems to utilzie the repository mirror:

  1. Repository Mirror Client Deployment Guide