Added galera

This commit is contained in:
YuruC3 2025-05-09 21:34:33 +02:00
parent b69e0082af
commit ab72d8074c
10 changed files with 253 additions and 0 deletions

24
Galera/LB.conf Normal file
View File

@ -0,0 +1,24 @@
stream {
# Define all gluster nodes
upstream gluster_nodes {
# least_conn;
hash $remote_addr consistent;
server <GALERA_NODE>:3306; # fail_timeout=5s
server <GALERA_NODE>:3306; # fail_timeout=5s
server <GALERA_NODE>:3306; # fail_timeout=5s
server <GALERA_NODE>:3306; # fail_timeout=5s
}
# TCP traffic to gluster nodes
server {
listen 3306;
proxy_pass gluster_nodes;
proxy_bind <LB_IP> transparent;
# proxy_bind $remote_addr transparent;
# proxy_protocol on;
# set_real_ip_from $proxy_protocol_addr;
}
}

20
Galera/README Normal file
View File

@ -0,0 +1,20 @@
user for running script:
keepaliveddd
sudo adduser keepaliveddd
<SOME_SUPER_SECURE_PASSWORD>
#Galera nodes
'''
sudo apt install galera-4 mariadb-server
'''
#Load balancers
'''
sudo apt install keepalived nginx
'''
Of course change what needs to be changed in config files.

11
Galera/chck_nginx.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
check=$(pidof nginx)
if [ -z $check ]; then
exit 1
else :
exit 0
fi

View File

@ -0,0 +1,36 @@
global_defs {
enable_script_security
script_user keepaliveddd
}
vrrp_script track_nginx {
script "/etc/keepalived/chck_nginx.sh"
interval 10
}
vrrp_instance GLUSTER-LB {
state MASTER
interface eth1
virtual_router_id 30
priority 100
advert_int 1
unicast_src_ip <MASTER_NODE_IP>
unicast_peer {
<BACKUP_NODE_IP>
}
authentication {
auth_type PASS
auth_pass <CHANGE_TO_8-CHARACTER_PASSWORD>
}
track_script {
track_nginx
}
virtual_ipaddress {
<VIP>/<MASK> dev <DMZ_NIC>
}
}

View File

@ -0,0 +1,38 @@
global_defs {
enable_script_security
script_user keepaliveddd
}
vrrp_script track_nginx {
script "/etc/keepalived/chck_nginx.sh"
interval 10
}
vrrp_instance GLUSTER-LB {
state BACKUP
interface <KAD_NET>
virtual_router_id 10
priority 95
advert_int 1
unicast_src_ip <NODE_IP>
unicast_peer {
<BACKUP_NODE_IP>
}
authentication {
auth_type PASS
auth_pass <CHANGE_TO_8-CHARACTER_PASSWORD>
}
track_script {
track_nginx
}
virtual_ipaddress {
<VIP>/<MASK> dev <DMZ_NIC>
}
}

View File

@ -0,0 +1,36 @@
global_defs {
enable_script_security
script_user keepaliveddd
}
vrrp_script track_nginx {
script "/etc/keepalived/chck_nginx.sh"
interval 10
}
vrrp_instance GLUSTER-LB {
state BACKUP
interface <KAD_NET>
virtual_router_id 10
priority 90
advert_int 1
unicast_src_ip <NODE_IP>
unicast_peer {
<BACKUP_NODE_IP>
}
authentication {
auth_type PASS
auth_pass <CHANGE_TO_8-CHARACTER_PASSWORD>
}
track_script {
track_nginx
}
virtual_ipaddress {
<VIP>/<MASK> dev <DMZ_NIC>
}
}

View File

@ -0,0 +1,22 @@
# vim /etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="GLUSTER-NPM"
wsrep_cluster_address="gcomm://ADDRESSES,SEPARATED,WITH,COMA"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<THIS_NODE_IP>"
wsrep_node_name="GLUSTER-NODE-1"

View File

@ -0,0 +1,22 @@
# vim /etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="GLUSTER-NPM"
wsrep_cluster_address="gcomm://ADDRESSES,SEPARATED,WITH,COMA"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<THIS_NODE_IP>"
wsrep_node_name="GLUSTER-NODE-2"

View File

@ -0,0 +1,22 @@
# vim /etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="GLUSTER-NPM"
wsrep_cluster_address="gcomm://ADDRESSES,SEPARATED,WITH,COMA"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<THIS_NODE_IP>"
wsrep_node_name="GLUSTER-NODE-3"

View File

@ -0,0 +1,22 @@
# vim /etc/mysql/conf.d/galera.cnf
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="GLUSTER-NPM"
wsrep_cluster_address="gcomm://ADDRESSES,SEPARATED,WITH,COMA"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<THIS_NODE_IP>"
wsrep_node_name="GLUSTER-NODE-4"