«

»

Şub 08

Galera ile Database (MariaDB) Clustering (Veritabanı Kümeleme)

Kullanılan bileşenler:

  • 3 adet Rpi (2 adet Rpi4 1 adet Rpi3)
  • Rpi OS Lite
  • Mariadb
  • Galera

Amaç:

Bağımsız n+1 mariadb database’ine sahip veritabanlarının senkronizasyonunu sağlamak. Max sayı için 10’u geçmese iyi olur densede henüz test etme şansım olmadı, test edince güncel veriler ile performans ve farklı modlardaki çalışma mantığını ilerleyen zamanlarda ekleyeceğim inşallah.

 

Hostlar sırasıyla aşağıdaki ipleri static alsın:

192.168.1.202

192.168.1.203

192.168.1.204

201 (1. host) hostunda yapılacaklar:

cat /proc/cpuinfo | grep Serial

Serial : 100000000903a2f3

sudo pico /etc/hosts dosyasının içine:

192.168.1.202 100000000903a2f3

192.168.1.203 100000001aeafbd0

192.168.1.204 00000000ac70ad1e

sudo apt install mariadb-server

sudo mysql_secure_installation ile root şifresi belirlenir.

sudo apt install phpmyadmin web tarafında db kontrol arayüzü kurulur.

sudo apt install software-properties-common

sudo nano /etc/mysql/conf.d/galera.cnf dosyasının içine:

[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=”h4ck3r_cluster”

wsrep_cluster_address=”gcomm://192.168.1.202,192.168.1.203,192.168.1.204″

# Galera Synchronization Configuration

wsrep_sst_method=rsync

# Galera Node Configuration

wsrep_node_address=”192.168.1.202″

wsrep_node_name=”100000000903a2f3″

202 (2. host) hostunda yapılacaklar:

cat /proc/cpuinfo | grep Serial

Serial : 100000001aeafbd0

sudo pico /etc/hosts dosyasının içine:

192.168.1.202 100000000903a2f3

192.168.1.203 100000001aeafbd0

192.168.1.204 00000000ac70ad1e

sudo apt install mariadb-server

sudo mysql_secure_installation ile root şifresi belirlenir.

sudo apt install phpmyadmin web tarafında db kontrol arayüzü kurulur.

sudo apt install software-properties-common

sudo nano /etc/mysql/conf.d/galera.cnf dosyasının içine:

[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=”h4ck3r_cluster”

wsrep_cluster_address=”gcomm://192.168.1.202,192.168.1.203,192.168.1.204″

# Galera Synchronization Configuration

wsrep_sst_method=rsync

# Galera Node Configuration

wsrep_node_address=”192.168.1.203″

wsrep_node_name=”100000001aeafbd0

203 (3. host) hostunda yapılacaklar:

cat /proc/cpuinfo | grep Serial

Serial : 00000000ac70ad1e

sudo pico /etc/hosts dosyasının içine:

192.168.1.202 100000000903a2f3

192.168.1.203 100000001aeafbd0

192.168.1.204 00000000ac70ad1e

sudo apt install mariadb-server

sudo mysql_secure_installation ile root şifresi belirlenir.

sudo apt install phpmyadmin web tarafında db kontrol arayüzü kurulur.

sudo apt install software-properties-common

sudo nano /etc/mysql/conf.d/galera.cnf dosyasının içine:

[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=”h4ck3r_cluster”

wsrep_cluster_address=”gcomm://192.168.1.202,192.168.1.203,192.168.1.204″

# Galera Synchronization Configuration

wsrep_sst_method=rsync

# Galera Node Configuration

wsrep_node_address=”192.168.1.204″

wsrep_node_name=”00000000ac70ad1e

Bu işlemle tamamlanınca 3 hosttada:

sudo systemctl stop mysql

sudo systemctl status mysql

ile mysql servislerinin stopped olması kontrol edilir.

İlk hostta:

sudo galera_new_cluster komutu ile galerayı aktif edeceğiz ve aşağıdaki komutla clusterdaki value değeri 1 olarak görülecek.

v2x@v2xcharge:~ $ mysql -u root -p -e “SHOW STATUS LIKE ‘wsrep_cluster_size'”

Enter password:

+——————–+——-+

| Variable_name | Value |

+——————–+——-+

| wsrep_cluster_size | 1 |

İkinci hostta:

sudo systemctl start mysql

mysql -u root -p -e “SHOW STATUS LIKE ‘wsrep_cluster_size'”

value değeri 2 olması gerek.

Üçüncü hostta:

sudo systemctl start mysql

mysql -u root -p -e “SHOW STATUS LIKE ‘wsrep_cluster_size'”

value değeri 3 olması gerek.

Sonrasında phpmyadmin üzerinden herhangi bir host üzerinden vt oluşturulup senkronizasyon durumu kontrol edilebilir.

 

Umarım bir faydamız dokunur 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

AlphaOmega Captcha Classica  –  Enter Security Code
     
 

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>