Skip to main content

MariaDB Galera Cluster @OracleLinux9.5 using ClusterControl install-cc script without Internet connection (offline or air-gapped installation).

Download and install OS, choose 'Full ISO' packages selection:

  • (2025-02-12 -- ClusterControl is only compatible with x86_64 systems)
https://yum.oracle.com/oracle-linux-isos.html
For example, OracleLinux-R9-U5-x86_64-dvd.iso 

Leave installation media mounted to VM.

Setup

mbp3ncp1dbm1 - Monitoring, ClusterControl

mbp3ncp1dbn1 - Cluster Node 1, MariaDB
mbp3ncp1dbn2 - Cluster Node 2, MariaDB
mbp3ncp1dbn3 - Cluster Node 3, MariaDB

Preparations:

# Disableensure firewallno cockpit service running, it occupies port 9090, same as Prometheus uses.
Firewall with firewalld on ClusterControl
```bash
systemctl enable firewalld
systemctl start  firewalld
systemctl status firewalld
firewall-cmd --add-service=http       --permanent
firewall-cmd --add-service=https      --permanent
firewall-cmd --add-service=prometheus --permanent
firewall-cmd --reload

TODO:Firewall add rule TCP/3306 systemctl stopwith firewalld on the cluster nodes

systemctl enable firewalld
systemctl start  firewalld
systemctl status firewalld
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload

Add repositories which points to satellite to all nodes.

Install

Manually ```bashinstall MariaDB server to the node and let ClusterControl configure it.

dnf install MariaDB-server MariaDB-client galera-4 MariaDB-common MariaDB-backup
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
# commented below only on ClusterControl node:
# ln -s /opt/mysql/bin/mysql        /usr/bin/mariadb
# ln -s /usr/bin/mariadb            /opt/mysql/bin/mysql
# rest - everywhere
ln -s /usr/bin/mariadb            /usr/bin/mysql
ln -s /usr/sbin/mariadbd          /usr/bin/mysqld
ln -s /usr/bin/mariadb-admin      /usr/bin/mysqladmin
ln -s /usr/bin/mariadb-install-db /usr/bin/mysql_install_db

Prepare storage

export host="$(hostname)"
mkdir -p /mnt/${host}-data/data/mariadb/clusters/ncp/
# ? TODO: selinux context
# ? TODO: permissions

Deploy new cluster from ClusterControl dashboard

ref.

https://docs.severalnines.com/docs/clustercontrol/installation/offline-installation/