Apasih Data Base Replication ?
data base replcation adalah sebuah teknologi yang menyalin data dari satu server data base ke server database satunya, jadi seperti ini contohnya, jika kita membuat sebuah data base di server A maka secara langsung seolah olah kita juga telah membuat data base di server B, istilahnya seperti cloning gitu...
untuk topologinya kita membutuhkan 2 server seperti yang saya sebutkan, jadi bisa digambarkan seperti berikut
Konfigurasi
1. pertama tama kita harus setting dns, dengan menambahkan node1 pada zona forward dan reverse untuk mengkonversi dari server database replication nya atau bisa dibilang slave menjadi sebuah domain
2. kemudian buka postgresql.conf yang terletak di var/opt/rh/rh-postgresql95/lib/pgsql/data
nano /vat/opt/rh/rh-postgresql95/lib/pgsql/data/postgresql.conf
kemudian uncomment pada wal_level kemudian ubah menjadi hot_standby,uncomment juga pada synchronous_commit dan menjadi local
- WAL ( Write-Ahead Logging ) adalah sebuah metode untuk memastikan sebuah integritas data, dalam penggunaanya dengan semua modifikasi yang dilakukan pada system akan tercatat pada log sebelum modifikasi tersebut digunakan. pada lab ini wal_level yang saya gunakan dalah hot_standby, dengan diaturnya dengan level ini semua informasi akan tercatat di arsip ditambah dengan beberapa informasi yang diperlukan.
- Synchronous_commit adalah sebuah opsi atau pilihan yang memungkinkan pertukaran data pada server database dengan replikanya menjadi lebih cepat, disini saya mengaturnya menjadi local karena sinkornisasi yang saya buat adalah untuk master dan slave
uncomment pada bagian archive_mode dan ubah valuenya menjadi on untuk mengaktifkan, pada bagian archive_command lakukan juga uncomment dan isikan sebagai berikut
' cp xp /var/opt/rh/rh-postgresql95/lib/pgsql/arcive/%f '
scipt diatas berfungsi untuk melakukan pengarsipan pada database server kita
kemduian cari lagi syntak max_wal_senders lakukan uncomment dan isikan valuenya menjadi 2 iini berfungsi untuk menentukan jumlah maksimum dari proses walsender, lakukan juga uncomment pada wal_keep_segments dan ubah valuenya menjadi 10 ini bertujuan untuk menentukan besar logfile segment dalam satuan MB
setelah itu cari lagi syntak synchronous_standby_names lakukan uncomment dan berikan nama server replication anda sesuai dengan yang anda inginkan, jika sudah kemudian save
3. sekarang kita harus mengedit file pga_hba.conf yang terletak di var/opt/rh/rh-postgresql95/lib/pgsql/data/
nano var/opt/rh/rh-postgresql95/lib/pgsql/data/pga_hba.conf
kemdian tambahkan pada bagian bawah menjadi seperti berikut
skrip ini mendefinisikan 3 host yang digunakan yaitu host pertama yang merupakan host local dengan alamat ip loopback, kemudian host selanjutnya merupakan server database dengan ip 192.168.88.2/32 dan host satunya adalah server database replica dengan ip address 192.168.88.3/32, jika sudah kemudian save
4. lakukan restart layanan postgresql
systemctl restart rh-postgresql95-postgresql
5. selanjutnya masuk ke shell postgresql dengan command
su - postgres
dan buat user untuk replication
createuser --replication -P replica
Konfigurasi Node
1. pertama kita harus mengentikan layanan postgresql pada node kita terlebih dahulu dengan command
systemctl stop rh-postgresql95-postgresql
2. kemudian kita harus menghapus semua file yang berada di direktori /var/opt/rh/rh-postgresql95/lib/pgsql/data/
rm -rf /var/opt/rh-rh-postgresql95/pgsql/data/*
3. masuk kedalam shell postgres dan lakukan backup dari server data base kita dengan command
pg_basebackup -h 'ipserverdb' -U replica -D /var/opt/rh/rh-postgresql95/lib/pgsql/data/ -P --xlog
kemudian isikan password user replica yang sebelumnya telah kita buat
- pg_basebackup, untuk mengabil backup data yang berada pada Postgresql
- -h 192.168.88.2, untuk mendefinisikan host dari server database
- -U replica, untuk mendefinisikan user yang digunakan yaitu replica
- -D /var/opt/rh/rh-postgresql95/lib/pgsql/data/, untuk mendefinisikan dimana letak data yang akan dibackup
- -P, untuk mendefinisikan password
- --xlog untuk mencatat proses perpindahan data yang berlangsung
4. kemudian buka postgresql.conf
nano /var/opt/rh/rh-postgresql95/lib/pgsql/data/postgresql.conf
nyalakan mode hot_standby dengan uncommnet dan mengubah valuenya menjadi on
5. copy file recovery.conf.sample dan ubah menjadi recovery.conf
cp /opt/rh/rh-postgresql95/root/usr/share/pgsql/recovery.conf.sample /var/opt/rh/rh-postgresql95/lib/pgsql/data/recovery.conf
6. setelah itu edit file recovery.conf
nano /var/opt/rh/rh-postgresql95/lib/pgsql/data/recovery.conf
cari syntak restore_command kemudian uncomment, pada valuenya isikan sperti berikut
'scp 192.168.88.2:/var/opt/rh/rh-postgresql95/lib/pgsql/archive/&f &p
command ini berfungsi untuk mengambil segmen file wal yang akan di arsipkan, dicomamnd ini menggunakan scp (secure copy) yang diikuti dengan ip beserta direktory disimpannya file yang telah di copy
7. kemudian cari syntak standby_mode lakukan uncomment dan ubah valuenya menjadi on untuk mengaktifkan
8. setelah itu cari lagi syntak primary_conninfo lakukan uncomment dan isikan valuenya seperti berikut
host='ipserverdb' port=5432 user=replica password='password' application_name=re-node1
- host=192.168.88.2, alamat ip dari server database master
- port-5432, port default yang digunakan oleh postgresql
- user=replica, user yang digunakan yaitu replica
- password=anjay, password dari user replica
- application_name=re-node1, nama dari server replication yang sebelumnya telah kita setting
jika sudah kemudian save
9. lakukan start layanan postgresql
Check Server Master DB
1. nah untuk mengeceknya masuk ke shell postgres
su - postgres
kemudian gunakan command
psql -c "select application_name, stat, sync_priority, sync_state from pg_stat_replication;"
nah dapat kita lihat bahwa server slave kita, sudah tersinkronisasi dengan baik dengan server master database kita
Verifikasi
1. untuk verifikasi lakukan akses server master, menggunakan phppgadmin melalui browser. kemudian login, sebelumnya anda harus memiliki user terlebih dahulu, jika belum bisa dilihat dipostingan saya yang sebelumnya
2. kemdian buat schema baru dengan cara klik database > Schedule > Schemas, Create Schema
isikan nama schema, kemudian klik create
3. selanjutnya login ke server slave dengan cara yang sama yaotu melalui phppgadmin
dan taraaaaaa.... schema yang telah kita buat di server master, juga tersedia di dalam server replication kita
nah sekian tutorial kali ini mengenai reolication, sampai jumpa lagi dan semoga bermanfaat...
0 comments:
Post a Comment