Pt42-Cluster amb balanceig

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Guillem Solà i Boeck (host A10BPC22)

Crear un cluster de MariaDB amb 3 nodes i 1 balançejador de càrrega

Disseny preliminar

  • node1 →192.168.56.101
  • node2 →192.168.56.102
  • node3 →192.168.56.103
  • haproxy →192.168.56.100

Requeriments

  • Necessitarem tenir instal·lat el programa rsync, que és en el qual es recolza Galera per a fer la sincronització entre nodes amb yum install rsync -y
  • Farem servir un script simple per a fer la configuració de la xarxa: adreça IP i nom de host
NEWIP=$1
NEWHOSTNAME=$2

rm -f /etc/udev/rules.d/70-persistent-net.rules

cat > /etc/sysconfig/network-scripts/ifcfg-enp0s8 <<DELIMIT
DEVICE=enp0s8
ONBOOT=yes
BOOTPROTO=static
IPADDR=$NEWIP
DELIMIT

cat > /etc/sysconfig/network <<DELIMIT
NETWORKING=yes
HOSTNAME=$NEWHOSTNAME
DELIMIT

cat > /etc/hostname <<DELIMIT
$NEWHOSTNAME
DELIMIT
  • Necessitarem instal·lar MariaDB 10.x ja que incorpora el sistema Galera que permet muntatge de clústers. Com que CentOS 7 inclou per defecte el repositori per a MariaDB 5, haurem d'afegir manualment el repositori de la versió 10 com s'indica a la pàgina oficial.
  • OPCIONAL: podem optar per instal·lar les network-tools i l'editor de text nano si ens hi sentim més còmodes. Encara que hi ha l'editor vi per defecte i també tenim la comanda ip a per a saber l'adreça IP d'aquella màquina en cas de necessitar-ho.

Creació i configuració del cluster

Una vegada acomplerts els requeriments, actualitzarem el sistema amb yum update -y i instal·larem MariaDB 10.x amb yum install MariaDB (parar atenció amb les majúscules, perquè sinó, instal·larem la versió 5). Mentre s'instal·la, aprofitant que podem obrir vàries connexions SSH, podem desactivar el SELinux per a evitar problemes per culpa de permisos: posarem disabled a la línia 6 de l'arxiu.

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


Creació i configuració del cluster

El primer que farem serà la instal·lació de MariaDB versió 10, engegar el servei amb systemctl start mariadb i executar mysql_secure_installation. Una vegada posat a punt, aturarem el servei systemctl stop mariadb per a configurar l'arxiu /etc/my.cnf.d/server.cnf i deixarem la secció [galera] de la següent manera:

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.56.200,192.168.56.201,192.168.56.202"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0
wsrep_cluster_name="ClusterM10"
wsrep_node_address="192.168.56.200"
wsrep_sst_method=rsync

Una vegada configurat l'arxiu, apagarem la màquina i farem els 2 clons per a node2 i node3: engegarem les màquines una per una i configurarem

Comprovació

Instal·lació i configuració del balancejador de càrrega amb HAProxy

Comprovació