tutorial postgresql 9.6 pada centos 7 part 2 (master–slave repmgr with auto promote master)

1
205

selamat sore sobat sekolahlinux, jika sebelumnya saya membuat tutorial replikasi master-slave dengan feature yg ada pada postgresql kini saya coba memberikan alternatif replikasi master-slave dengan repmgr berikut ini caranya.

pertama saya akan memberitahukan topologinya:

  • node1 (master): 192.168.10.10
  • node2 (slave): 192.168.10.20
  • node3 (slave): 192.168.10.30

jalankan perintah install postgresql 9.6 pada node1 & node2 & node3

implementasikan ssh authkey pada node1,node2,node3 untuk user postgres

untuk tutorialnya silahkan dilihat dilink dibawah ini

 

NODE1 MASTER

jalankan perintah ini untuk generate database

jika sudah save, lalu selanjutnya buka file repmgr.conf

lalu uncomment paramater dibawah dan rubah value nya menjadi seperti dibawah

selanjutnya buat beberapa symlink untuk command repmgr yang kita butuhkan

lalu buat masuk menjadi user postgres

buka file postgresql.conf

uncomment paramater dibawah dan rubah value nya seperti dibawah jika berbeda

jika sudah save, lalu buka file pg_hba.conf

lalu uncomment paramater dibawah dan rubah value nya menjadi seperti dibawah

restart service postgresql

lalu selanjutnya buat user & db repmgr pada mode user postgres

pada mode user postgres, buat schema dengan penamaan seperti dibawah, karena nama clusternya sekolahlinux maka saya buat scheme dengan nama repmgr_sekolahlinux seperti dibawah

selanjutnya daftarkan node1 menjadi master dengan perintah dibawah

selanjutnya untuk melihat apakah kita sudah berhasil mendaftarkan node1 menjadi master bisa dengan cara dibawah ini

maka hasilnya akan seperti dibawah

 

NODE2 SLAVE

pertama buka file repmgr.conf

lalu uncomment paramater dibawah dan rubah value nya menjadi seperti dibawah

selanjutnya buat beberapa symlink untuk command repmgr yang kita butuhkan

lalu buat masuk menjadi user postgres

jika sudah clone node1/master ke server node2/standby

nanti hasil dari command diatas akan seperti dibawah

restart service postgresql

selanjutnya mendaftarkan node2 menjadi standby pada mode user postgres

jika sudah selanjutnya coba cek apakah node2 sudah standby

dan hasilnya akan seperti dibawah ini

 

NODE3 SLAVE

pertama buka file repmgr.conf

lalu uncomment paramater dibawah dan rubah value nya menjadi seperti dibawah

selanjutnya buat beberapa symlink untuk command repmgr yang kita butuhkan

lalu buat masuk menjadi user postgres

jika sudah clone node1/master ke server node3/standby

nanti hasil dari command diatas akan seperti dibawah

restart service postgresql

selanjutnya mendaftarkan node3 menjadi standby pada mode user postgres

jika sudah selanjutnya coba cek apakah node3 sudah standby

dan hasilnya akan seperti dibawah ini

 

MANUAL PROMOTE & MANUAL SWITCH UPSTREAM & SWITCH MASTER

jika node master mati, untuk manual promote standby node menjadi master bisa dengan perintah dibawah

sedangkan untuk manual switch upstream kalian bisa mengikuti cara dibawah ini (ganti ip_node_master dengan ip address node master yang baru)

dan untuk switch master /  memaksa node standby menjadi master kalian mengikuti cara berikut, pertama pastikan paramater dibawah sudah aktif pada postgresql.conf

jika sudah jangan lupa restart postgresql service, lalu masuk dalam mode user postgres dan jalankan command dibawah pada node standby yang akan dijadikan master

 

AUTOMATION PROMOTE MASTER

jalankan perintah dibawah pada node1 & node2 & node3

buka file postgresql.conf

lalu uncomment paramater dibawah ini dan tambahkan repmgr_funcs, sehingga menjadi seperti dibawah

jika sudah save, kemudian buka file repmgr.conf

rubah dan tambahkan baris dibawah ini jika belum ada sehingga menjadi seperti dibawah

jika sudah jalankan perintah dibawah

restart service postgresql

jika sudah masuk menjadi user postgres dan buat folder repmgr

lalu jika sudah jalankan perintah dibawah dalam dalam mode user postgres (perintah dibawah ini wajib dijalankan jika ingin automation failover bekerja)

selanjutnya kita akan test dengan mencoba mematikan service postgresql pada node1/master

lalu coba lihat log /var/log/repmgr/repmgr-9.6.log pada node2 & node3 dengan perintah dibawah

maka pada node2 hasilnya (node2 akan mempromote dirinya secara otomatis sebagai master yang baru)

lalu pada node3 hasilnya akan seperti dibawah (node3 akan follow node2 sebagai upstream yang baru)

lalu jalankan perintah dibawah ini pada node2 untuk melihat status masing-masing node

jika kita lihat diatas node1 yang down statusnya masih master lalu bagaimana caranya untuk menghidupkan kembali node1, dan lalu kemudian menjadikannya standby dan menjadikan node2 sebagai upstream, kalian bisa menjalankan perintah dibawah ini pada node1

delete folder data yang sudah pada postgres sebelumnya

lalu jika sudah jalankan command dibawah ini pada node1 untuk clone node2

selanjutnya dalam mode user root restart postgresql

lalu masuk kembali menjadi mode user postgres

selanjutnya jalankan command dibawah ini pada node1 untuk follow node2 sebagai upstream

hasilnya akan seperti dibawah

selanjutnya jalankan perintah dibawah ini pada node1 agar node 1 bisa mengikuti kembali automation promote jika node lainnya mati

selanjutnya jalankan command dibawah ini pada node2/master yang baru untuk cek apakah node1 sudah menjadi standby

pada hasil diatas terlihat node1 berhasil menjadi standby dan berhasil menjadikan node2 sebagai upstreamnya 😀

ya kiranya sekian tutorial saya kali ini, jika kalian ingin mempelajarinya lebih lanjut silahkan menuju link dibawah

 

 

 

 

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here