Sunday, May 21, 2017

Lab 9.3 Konfigurasi Replication Postgresql Centos 7


Asalamualaikum wr wb


pada kali ini saya akan share tentang tutorial yaitu Konfigurasi  Replication Postgresql pada CentOS 7 yang merupakan postingan lanjutan dari postingan sebelumnya yaitu Lab 9.2 Konfigurasi Cara Install phpPgAdmin di Centos 7 jadi bagi yang belum cukup mengerti pada lab ini di harapkan untuk mengunjungi link yang telah saya sediakan.

sedikit penjelasan saja apa itu replication? replication adalah suatu istilah yang digunakan untuk membuat lebih dari satu server dengan database yang isinya sama banget.. jadi yang satunya sebagai server master yang lainnya sebagai server cadangannya.. dan hal ini berguna pada disaat ada salah satu servernya mati maka dengan otomatis ia akan mengganti ke server lainnya.. menurut saya seperti itu.. jika ada yang berpendapat berbeda gk papa.. gk masalah.. :v

untuk penjelasannya cukup itu saja karena alasan mempercepat waktu jadi kita mulai saja konfigurasinya.

Topologi



Konfigurasi Master


1. karen kita ingin mensetting database replication maka file yang akan kita setting ada di /var/lib/pgsql/data/postgresql.conf jadi kita edit dah file tersebut..


2. setelah terbuka.. kita cari ke baris 59 yang ada tulisan listen_address disitu kita uncomment lalu kita ubah dari 'localhost' menjadi '*' fungsi dari sintaks ini adalah mengijinkan ip address yang diperbolehkan mengakses database nya, karena saya milihnya '*' jadi semua ip address dapat mengakses database tersebut.


3.  selanjutnya kita cari ke baris 177 yang ada tulisan wal_level disitu kita uncomment dan kita ubah jadi hot_standby sintaks ini berguna untuk memilih mode apa saja yang ingin di jalankan untuk databasenya.. berhubung judul pada postingan kali ini replication jadi kita pilihnya hot_standby yang berarti si server utama ini akan mengsingkronkan database ke semua host replica dan sintaks ini mengijinkan host membaca database pada postgresql.


4. selanjutnya pergi ke baris 180 lalu cari tulisan synchronous_commit lalu kalian ubah menjadi local sintaks ini berguna untuk memilih kemana server master ini disngkronkan. berhubung ini masternya, jadi kita singkron kan aja ke masternya..


5. sekarang kita pergi ke baris 210 yang ada tulisan archive_mode lalu disitu uncomment dan kita ubah menjadi on yang berarti kita mengaktifkan sinkronisasi cache direktori database tersebut. sinstaks ini sangat diperlukan pada settingan replication karena jika kita merubah isian settingan database, maka akan terkirim log nya ke file yang kita tentukan. Dan Replication settings akan menampilkan tabel database berdasarkan archive dari mode ini. menurut ane sih seperti itu..


6. kita pergi ke baris 212 yang ada sintaks archice_command lalu disitu kita uncomment dan ubah sesuai dengan direktori yang ingin kalian tempatkan file segment nya. disini saya menaruhnya di /var/lib/pgsql/archive/


7. selanjutnya ke baris 228 yang ada tulisan max_wal_senders disitu kalian uncomment dan ubah menjadi 2 karena sintaks ini berguna untuk menentukan server mana saja yang dipakai dalam replication, karena disini saya hanya memiliki 2 server, jadi saya pilih 2


8. lalu pergi ke baris 230 yang ada tulisan wal_keep_segment disitu kalian uncomment dan ubah menjadi 10, arti sintaks ini adalah Menentukan jumlah minimum segmen file log yang tersimpan di direktori pg_xlog, jika server siaga perlu mengambilnya untuk streaming replikasi.


9. selanjutnya pergi ke baris 242 yang ada tulisan synchronous_standby_names disitu kalian uncomment dan ubah menjadi nama hostname pada server slave kalian atau cadangan atau sesuka kalian juga boleh kok :v arti sintaks ini adalah Menentukan daftar nama siaga yang dipisahkan koma yang dapat mendukung replikasi sinkron


10. setelah kita selesai mensetting postgresql.conf sekarang kita setting juga pg_hba.conf nya.


11. setelah terbuka kalian pergi ke palih bawah. lalu kalian ubah deh seperti pada gambar yang telah saya tandai.


untuk kejelasannya disini saya menggunakan md5 yang berarti memberikan password agar ip networknya yang kalian catumkan disaat mengakses database harus memasukkan user replica beserta password nya.. dan kenapa /32 padahal ip host replikasi kan /24? itu dikarenakan kita memakai IPV4, maka berapapun class atau subnettingnya, harus diisi dengan /32. dan juga saya mengisikannya berupa host tunggal. 

12. selanjutnya kita restart service postgresql nya. bagi yang belum megaktifkan cukup ganti restart menjadi start lalu enable.


13. selanjutnya kita masuk ke bash postgresql nya..


14. selanjutnya kita buat user replica nya karena pada file setting pg_hba.conf kita telah memasukkan nama user nya replica jadi kita buat deh user replica nya beserta passwordnya


15. setelah itu kita allowkan service postgresql nya pada firewall nya agar dapat diakses oleh server replication lainnya.

firewall-cmd --add-service=postgresql --permanent
firewall-cmd --relaoad

Konfigurasi Slave

1. pertama kita nonaktikan postgresql pada server node nya.


2. selanjutnya kita hapus semua data yang ada pada postgresql nya yang ada pada direktori /var/lib/pgsql/data/ agar bertujuan di saat kita membackup file replication kita itu tidak tercampur aduk atau bertabrakan dengan file node nya.


3. selanjutnya kita masuk ke bash posgresql nya.. lalu kita lakukan backup yang kita ambil konfigurasi replicanya dari server master. disini kita akan mencoba mensingkronisasikan dari master ke slavenya.. setelah selesai kita exit.


untuk sedikit penjelasan.. 
-h yang artinya host, 192.168.137.2 adalah ip server masternya 
Pg_basebackup digunakan untuk mengambil basis backup dari cluster database PostgreSQL 
-U replica adalah usernam replica
-D /var/lib/pgsql/data/ merupakan direktori yang akan di taruh backupan server masternya
-P  atau Progress yang berguna untuk mengaktifkan tampilan pengambilan file backup atau bisa dibilang proses downloadnya. 

4. setelah selesai proses backupnya.. sekarang kita edit postgresql.conf yang telah kita dapatkan dari server master.


5. selanjutnya kalian pergi ke baris 251 yang ada tulisan hot_standby disitu kalian uncomment dan ubah menjadi on yang berarti kita mengaktifkan sintaks ini.


6. selanjutnya kita copy kan konfigurasi recovery.conf.sample ke recovery.conf yang nantinya kita akan gunakan untuk mengatur semua database tersebut ada di server master. lalu kita buka deh recovery.conf nya. untuk catatan keadaan di dalam bash postgresql nyaa.


7. selanjutnya kita pergi ke baris 44 yang ada tulisan restore_command disitu kita uncomment lalu kita masukkin deh ip servernya serta direktori archivenya yang sebelumnya telah kita setting pada server masternya agar kita dapat archive tersebut dari server masternya.


8. selanjutnya pergi ke baris 116 yang ada tulisan standby_mode disitu kita uncomment lalu ubah menjadi on yang berarti posgresql servernya akan bekerja dengan standby.


9. selanjutnya kita pergi ke baris 123 yang ada tulisan primary_conninfo disitu kita uncomment lalu kita tambahkan host=ipservermasterkalian port=5432 user=replica password=rahasia application_name=hostnameservernodenya sintaks ini berguna untuk mengkoneksikan atau menghubungkan ke replication server master nya atau bisa dibilang memberikan informasi koneksi ke master servernya.


10. setelah selesai mensetting nya.. kita keluar dari bash postgresql nya.. lalu kita aktifkan dan jalankan postgresql nya..


Veritifikasi

1. untuk veritifikasi pada server masternya kita masuk ke bash postgresql nya.. lalu ketikkan perintah psql -c "select application_name, state, sync_priority, sync_state from pg_stat_replication;" nanti otomatis ia akan tampil tentang daftar dari application name nya, state nya sync_priority nya serta sync_state nya.. jika pada application name nya sudah ada hostname server slave nya serta di state ada streaming, di sync_priority nya 1 serta sync_state nya itu sync berarti antara server master dengan server slave nya tersebut telah tersingkronisasi..


2. setelah mencoba pada server masternya. sekarang kita coba ke client nya dengan mengakses web phpPgAdmin si server master nya dan si server slave nya.. lalu kita buat sebuah table baru pada phpPgAdmin si server masternya.. setelah itu kita coba akses phpPgAdmin si server slave nya.. lalu kalian lihat pada database yang telah di buat table baru pada server masternya.. muncul gk tuh di server slavenya..? yang pastinya muncull dong :v


setelah lamanya kita ngeconfig tentang lab kali ini yaitu replication postgresql centos 7 akhirnya selesai juga dan hasilnya sangat memuaskan.. jadi cukup sekian dari saya
mohon maaf bila ada kesalahan.
terima kasih bagi yang mengunjungi blog saya.
semoga bermanfaat :)

Lorem ipsum is simply dummy text of the printing and typesetting industry.


EmoticonEmoticon