• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Install dan Konfigurasi MariaDB Galera Cluster di Debian 10

Last Updated on 13 April 2020 By tommy Leave a Comment

Saat website/aplikasi anda menjadi populer, kebutuhan database juga meningkat. Selain upgrade hardware database MySQL alternative lainnya menggunakan cluster. Salah satu yang populer digunakan adalah Galera Cluster, beberapa kelebihannya

– True Multi-master, Active-Active Cluster Read and write to any node at any time.
– Synchronous Replication No slave lag, no data is lost at node crash.
– Tightly Coupled All nodes hold the same state. No diverged data between nodes allowed.
– Multi-threaded Slave For better performance. For any workload.
– No Master-Slave Failover Operations or Use of VIP.
– Hot Standby No downtime during failover (since there is no failover).
– Automatic Node Provisioning No need to manually back up the database and copy it to the new node.
– Supports InnoDB.
– Transparent to Applications Required no (or minimal changes) to the application.
– No Read and Write Splitting Needed.
– Easy to Use and Deploy

Untuk kebutuhan server sendiri disarankan minimal 3 server dengan spesifikasi yang sama/mirip, spesifikasi ini sangat penting sama antar server agar tidak menjadi titik lemah dari cluster. Karena semua server di galera cluster dianggap sama, maka bila ada server yang paling kecil didalamnya, dia akan mengikuti standar tersebut.

Disini saya akan membuat 3 buah server/cloud untuk Galera Cluster

64 GB Memory
2x 512 SSD

Ketiga server memiliki IP dan dinamai

192.168.1.1 cluster01
192.168.1.2 cluster02
192.168.1.3 cluster03

Install MariaDB

Install MariaDB di masing-masing server, gunakan versi yang sama. Diketiga server jalankan

apt update; apt upgrade -y
apt install mariadb-server -y
systemctl stop mariadb

di repository Debian 10, versi MariaDB yang digunakan adalah 10.3, disini sudah termasuk galera, jadi tidak perlu di install terpisah.

Server Database 1

Buat baru file /etc/mysql/mariadb.conf.d/galera.cnf, tambahkan konfigurasi

[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
 
wsrep_cluster_name="jaranguda_cluster"
wsrep_cluster_address="gcomm://192.168.1.1,192.168.1.2,192.168.1.3"
 
wsrep_sst_method=rsync
 
wsrep_node_address="192.168.1.1"
wsrep_node_name="cluster01"

jalankan galera_new_cluster dari terminal. Ingat hanya jalankan perintah ini satu kali. Di server selanjutnya hanya menjalankan systemctl start mariadb
Cek status server cluster

mysql  -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

outputnya

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Server Database 2

Buat baru file /etc/mysql/mariadb.conf.d/galera.cnf, tambahkan konfigurasi

[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
 
wsrep_cluster_name="jaranguda_cluster"
wsrep_cluster_address="gcomm://192.168.1.1,192.168.1.2,192.168.1.3"
 
wsrep_sst_method=rsync
 
wsrep_node_address="192.168.1.2"
wsrep_node_name="cluster02"

jalankan mariadb

systemctl start mariadb

Cek status server cluster

mysql  -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

outputnya

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

Server Database 3

Buat baru file /etc/mysql/mariadb.conf.d/galera.cnf, tambahkan konfigurasi

[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
 
wsrep_cluster_name="jaranguda_cluster"
wsrep_cluster_address="gcomm://192.168.1.1,192.168.1.2,192.168.1.3"
 
wsrep_sst_method=rsync
 
wsrep_node_address="192.168.1.3"
wsrep_node_name="cluster03"

jalankan mariadb

systemctl start mariadb

Cek status server cluster

mysql  -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

outputnya

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Testing Cluster

Dari server 1 buat database dan table baru

CREATE DATABASE jaranguda;
CREATE TABLE jaranguda.cluster ( `id` INT NOT NULL AUTO_INCREMENT , `pesan` TEXT NOT NULL , PRIMARY KEY (`id`));
INSERT INTO `cluster` (`id`, `pesan`) VALUES (NULL, 'hello');

dari server 2 dan 3, coba jalankan

mysql -e "select * from jaranguda.cluster"

hasilnya di kedua server

+----+-------+
| id | pesan |
+----+-------+
|  1 | hello |
+----+-------+

Catatan

Setelah terinstall galera cluster, sekarang muncul pertanyaan, bagaimana cara untuk konek ke cluster tersebut, karena ada 3 ip yang digunakan. Cara pertama yang tidak perlu ribet tetapi reliabilitynya dipertanyakan menggunakan IP tables untuk rotating ketiga IP tersebut. Cara lainnya adalah dengan menggunakan HaProxy, sangat disarankan karena HaProxy memiliki health check untuk monitoring sederhana status cluster anda.

Tulisan menarik lainnya

  • Install dan Konfigurasi Deluge Torrent di Fedora

    Install deluge su -c "dnf install deluge deluge-daemon deluge-web deluge-gtk" dari console, aktifkan remote access…

  • Install nginx HHVM MariaDB WordPress di Debian 8 Jessie

    Sebelum menginstall apapun di Debian, sebaiknya lakukan terlebih dahulu update dan upgrade sistem anda. apt-get…

  • Install dig di Debian

    Tool dig mempermudah untuk mengecek DNS record melalui terminal Linux. bash: dig: command not found…

  • Install dan Konfigurasi CodeIgniter 3 di Fedora Linux

    Disini diasumsikan anda sudah menginstall Apache, MySQL/MariaDB, phpMyAdmin dan PHP di komputer anda. Bila belum…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Alief on Password Router Huawei HG8245H5 Indihome

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.1m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.8k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153k views
  • Cara Reset Password ZTE F609 Indihome 147.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java