Konfigurasi PostgreSQL Replication di CentOS 7 - Hallo sobat oprekers, kali ini www.dimasrio.com akan menjelaskan bagimana cara melakukan konfigurasi postgresql replication (master - slave) di centos 7. Replication merupakan salah fitur yang disediakan postgres untuk membuat database replika (mirror) dengan melakukan proses copy dari satu database master ke database lainnya.
Konfigurasi PostgreSQL Replication
Pada contoh kasus ini saya menggunakan 2 buah host sebagai berikut:
Host Master:
Hostname : node1.centz7zone.net
IP : 192.168.137.101
Host Slave:
Hostname : node2.centz7zone.net
IP : 192.168.137.102
Step 1 - Set hostname
Set hostname pada masing-masing server node1 dan node2.nano /etc/hosts
192.168.137.101 node1.centz7zone.net node1
192.168.137.102 node2.centz7zone.net node2
Step 2 - Install PostgreSQL
Install atau compile postgresql pada masing-masing server node1 dan node2.
Install PostgreSQL Source di CentOS 7
Step 3 - Konfigurasi DB Master
Pada tahap ini kita akan melakukan setup pada database master dengan ip 192.168.137.101.
Buat sebuah role dengan nama replicator. User ini nantinya akan digunakan untuk melakukan replikasi.
su - postgresOutput :
psql
CREATE USER replicator REPLICATION LOGIN ENCRYPTED PASSWORD 'password';
nano /opt/pgdata/postgresql.conf
listen_addresses = '192.168.137.101'Buat direktory untuk menyimpan hasil archive.
wal_level = hot_standby
archive_mode = on
archive_command = 'cp -i %p /opt/pgdata/archive/%f'
max_wal_senders = 3
wal_keep_segments = 8
mkdir /opt/pgdata/archive/Setelah selesai konfigurasi pada postgresql.conf, selanjutnya kita buat koneksi untuk role replication pada pg_hba.conf.
chown postgres. /opt/pgdata/ -R
host all all 192.168.137.0/24 md5Sampai disni konfigurasi pada master sudah selesai.
local replication postgres trust
host replication replicator 192.168.137.102/32 md5
Step 4 - DB Slave Replication
Matikan service postgres sebelum konfigurasi pada slave.
systemctl stop postgresqlBackup instance yang sudah ada.
mv /opt/pgdata/ /opt/pgdata_originalSelanjutnya copy instance dari server master menggunakan pg_basebackup.
mkdir /opt/pgdata
chown postgres. /opt/pgdata -R
chmod 0700 /opt/pgdata -R
su - postgresOutput :
pg_basebackup -h 192.168.137.101 -D /opt/pgdata -U replicator -v -P
nano /opt/pgdata/postgresql.conf
listen_addresses = '192.168.137.102'Masih di dalam user postgres, buat sebuah file recovery.conf.
wal_level = hot_standby
hot_standby = on
max_wal_senders = 3
wal_keep_segments = 8
nano /opt/pgdata/recovery.confTambahkan perintah berikut pada recovery.conf.
standby_mode = 'on'
primary_conninfo = 'host=192.168.137.101 port=5432 user=replicator password=password'
restore_command = 'cp //opt/pgdata/archive/%f %p'
trigger_file = '/tmp/postgresql.trigger.5432'
chown postgres. /opt/pgdata/recovery.confSampai di sini konfigurai slave sudah selesai.
Untuk memastikan bahwa konfigurasi sudah berhasil jalankan perintah berikut pada db master.
select * from pg_stat_replication;Output :
Step 5 - Testing
Setelah semua konfigurasi selesai, langkah terakhir adalah testing. Untuk memastikan bahwa database replication sudah berjalan dengan baik buatlah sebuah database baru pada master. Pastikan pada database slave juga terbuat otomatis.
Video Tutorial :
Demikian tutorial singkat kali ini mengenai konfigurasi postgresql replication di centos 7. Semoga bermanfaat bagi kita semua dan selamat mencoba..!!!
EmoticonEmoticon
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.