Kamis, 28 Mei 2020

DRC-galera clouster

Cara Setup MySQL Gallera Cluster Di Linux Ubuntu
Solusi High Availability Database : PART 1

Buat kamu yang sering bermain database server pasti sudah tahu kan apa Mysql…Oracle…Postgresql…Mariadb dsj… Yup… Mysql adalah salah satu database opensource terpopuler yang banyak digunakan baik dari perusahaan/organisai skala kecil,medium hingga level besar dan enterprise sekalipun.
Nah sedangkan Galera Cluster adalah database cluster multi-master yang memiliki kemampuan replikasi dan sinkronisasi antar node DB yang awalnya menggunakan tekhnologi Oracle MySQL / InnoDB.
Cara Setup MySQL Gallera Cluster
Nah jika kita menggunakan Galera Cluster maka kita  dapat membaca dan menulis ke node manapun , dan jika terjadi kegagalan di salah satu node maka tidak akan terjadi gangguan dalam operasi dikarenakan adanya fitur failover dan High availability nya.
Pada tingkat tinggi, Galera Cluster bisa digunakan baik di MySQL atau MariaDB yang kemudian menggunakan Galera Replication Plugin untuk mengelola replikasi. Agar lebih spesifik, API replikasi MySQL telah diperluas untuk menyediakan semua informasi dan diperlukan untuk multi-master, replikasi sinkron yang benar. API yang diperpanjang ini disebut API Replika Write-Set, atau API wsrep.
Melalui API wsrep, Galera Cluster menyediakan replikasi berbasis-sertifikasi. Transaksi untuk replikasi, set-menulis, tidak hanya mengandung baris database untuk mereplikasi, tetapi juga termasuk informasi tentang semua kunci yang dimiliki oleh database selama transaksi. Setiap node kemudian mensertifikasi set-write yang direplikasi terhadap write-in lainnya dalam applier queue. Koleksi ini kemudian diterapkan, jika tidak ada kunci yang bertentangan. Pada titik ini, transaksi dianggap berkomitmen, setelah itu setiap node terus menerapkannya ke tablespace
Pada part 1 ini ayies akan kasih tahu cara setup Gallera Mysql di Linux Ubuntu. Next di part 2 kita akan lanjut ke setup Gallera jika menggunakan Mariadb… lalu lanjut ke part 3 dan selanjutnya kita bahas lebih mendalam yah guys…
Oke kita mulai. Pertama2 pastiin kamu memiliki minimal 2 server. Karena akan kita jadikan 2 node ini sebagai clustering DB Gallera aktif-aktif.
Pastikan kamu memiliki server dengan RAM minimal 1 GB agar proses bisa berjalan smooth. Gunakan Ubuntu versi apapun. Untuk praktek ini ayies menggunakan ubuntu 16.04 (Xenial).
Installasi Paket (Install diseluruh node)
  • Setup server menggunakan IP private (internal yah bukan IP public)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 44B7345738EBDE52594DAD80D669017EBC19DDBA
sudo add-apt-repository 'deb http://releases.galeracluster.com/galera-3/ubuntu/ xenial main'
sudo add-apt-repository 'deb http://releases.galeracluster.com/mysql-wsrep-5.6/ubuntu/ xenial main'
sudo apt-get update
sudo apt-get install galera-3 galera-arbitrator-3 mysql-wsrep-5.6
sudo apt-get install rsync
sudo nano /etc/mysql/conf.d/galera.cnf 
Isi Baris text berikut pada Node 1:
[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="ayies_db_cluster"
wsrep_cluster_address="gcomm://192.168.1.13,192.168.1.14"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="192.168.1.13"
wsrep_node_name="db_cluster1"
Dan baris berikut pada Node 2:
[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="ayies_db_cluster"
wsrep_cluster_address="gcomm://192.168.1.13,192.168.1.14"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="192.168.1.14"
wsrep_node_name="db_cluster2"
Oiyah Pastikan bind 127.0.0.1 jika ada di /etc/mysql/my.cnf di comment yah (#) .
Enable/allow beberapa port berikut difirewall (ubuntu menggunakan UFW).
sudo ufw allow 3306,4567,4568,4444/tcp
sudo ufw allow 4567/udp
Lakukan perintah berikut di semua DB server sebelum ke tahap selanjutnya
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
Lakukan di NODE 1
sudo /etc/init.d/mysql start --wsrep-new-cluster
Lakukan di node lainnya:
sudo systemctl start mysql

Tidak ada komentar:

Posting Komentar