Administrasi Server
Aslamualaikum wr wb
2) Uncomment wal_level, setelah itu atur optionnya menjadi hot_standby. Kemudian Uncomment juga pada synchronous_type, dan ubah optionnya menjadi local
3) Lalu cari serta uncomment syntax archive_mode, kemudian atur optionnya menjadi on. Setelah itu uncomment syntax archive_command dan atur optionnya menjadi command atau perintah yang digunakan untuk perngarsipan.
Kedua opsi ini saling terkait, karena dengan mengaktifkan archive_mode dengan cara mengubah valuenya menjadi on, ini berguna untuk mengaktifkan WAL Segment akan dikirrim ke penyimpanan arsip dengan perintah yang didefinisikan pada opsi archive_command. Maksudnya adalah Wal Segment yang ditandakan dengan %p yaitu path dari file yang akan diarsipkan akan dikirim ke /var/lib/pgsql/archive/%f . %f ini mendefinisikan nama file dari WAL Segment tersebut.
archive_mode adalah opsi yang digunakan sebagai pengaturan mode arsip, Ketika archive_mode diaktifkan (on), WAL segmen dikirim ke penyimpanan arsip dengan mengatur archive_command. archive_mode tidak dapat diaktifkan saat wal_level disetel menjadi minimal.
archive_command merupakan command yang digunakan untuk mengarsip logfile segmen
% p dalam string digantikan oleh nama path dari file yang akan diarsipkan, dan % f diganti hanya dengan nama file.
4) Kemudian cari dan uncomment syntax max_wal_sender. Max wal sender ini digunakan untuk menuntukan jumlah koneksi maksimum dari standby server. karna disini saya hanya mempunyai dua server, yaitu master dan slave, maka disini sata mengatur valuenya menjadi 2. Kemudian uncomment juga oada baris wal_keep_segments. Wal keep segments ini merupakan besar logfile segments, satuannya MB. Pada contoh ini saya mengaturnya menjadi 10.
5) Masih di file yang sama, cari dan uncomment pada baris synchronous_standby_names, baris ini merupakan pendefinisian dari nama server standby manakah yang akan akan digunakan untuk Database Replication. Nama yang dimaksud yaitu berupa hostname
6) Cari syntax yang sudah di tandai pada gambar dibawah ini, Uncomment setiap local host yang ada, kemudian edit yang tadinya masih user pogtres, ubah menjadi replica, karna nanti pada tahap selanjutnya kita akan membuat user replica. Lakukan pengeditan pada ketiga host, 1 host dengan ip loopback, dan 2 sisanya merupakan ip dari sever master maupun slave (server db dan server db replica), dan jangan lupa ketiganya atur methodnya menjadi md5. Sedangkan pada baris local biarkan seperti default, cukup ganti nama user serta uncomment syntaknya saja.
7) Lalu restart service PostgreSQL agar konfigurasi yang kita lakukan tersimpan.
8) Lalu masuk ke shell postgres lalu buat user replica atau yang sesuai dengan konfigurasi yang telah kita buat di pg_hba.conf . Buat dengan tambahan option --replication agar user tersebut digunakan untuk replica.
2) Kemudian remove semuaaaa file yang ada pada directory /var/opt/rh/rh-postgresql95/lib/pgsql/data/
3) Lalu masuk ke shell postgres . Kemudian lakukan sinkronisasi dari node1 ke sever master database.
4) Setelah itu edit file konfigurasi PostgreSQL yaitu postgresql.conf yang terletak di /var/opt/rh/rh-postgresql95/lib/pgsql/data/
nyalakan hot_standby nya dengan cara uncomment pada baris tersebut, kemudian atur optionnya menjadi on.
5) Copy file recovery.conf.sample, kemudian ubah nama file tersebut menjadi recovery.conf
6) Edit file recovery.conf yang telah ter-copy tadi. Kemudian cari dan uncomment syntax restore_command. Restore command ini merupakan Perintah shell yang digunakan untuk mengambil segmen file WAL yang diarsipkan. Parameter ini diperlukan untuk pemulihan arsip, tapi opsional untuk streaming replikasi. Setiap %f dalam string diganti dengan nama file yang akan diambil dari arsip, dan setiap %p diganti dengan nama tujuan jalur salin pada server.
Pada command ini terdapat perintah scp (secure copy) dan dibelakangnya diikut oleh ip dari server master db serta tujuan pada directory mana file tersebut diletakan, ini berarti segmen file WAL yang diarsipkan di salin dari host tersebut ke destination directory yang telah ditentukan, Sedangkan maksud dari secure copy in dalah, proses penyalinannya secara secure, via ssh.
7) masih di file yang sama, uncomment pada baris standby_mode dan ubah optionnya menjadi on. Standy mode ini digunakan untuk Menentukan apakah akan memulai server PostgreSQL sebagai standby. Jika parameter ini aktif, server tidak akan berhenti untuk me-recovery saat akhir WAL yang diarsipkan tercapai, namun akan terus mencoba melanjutkan recovery (pemulihan) dengan mengambil segmen WAL baru menggunakan restore_command dan / atau dengan menghubungkan ke server utama seperti yang ditentukan oleh pengaturan primary_conninfo.
Lalu jangan lupa uncomment primary_conninfo, Primary conninfo ini digunakan menentukan string koneksi yang akan digunakan agar server standby terhubung dengan server primary (server master db). Edit baris tersebut menjadi seperti yang sudah saya tandai pada gambar dibawah ini
8) Karena tadi service postgresqlnya dimatikan, maka dari itu sekarang kita harus menjalankannya kembali.
1) Lakukan pengetesan pada client dengan cara mengakses database via web dengan phpPgAdmin. Login dengan user yang ada. pertama kita menggunakan masterdb lalu kita buat database.
2) setelah itu kita login menggunakan slave kita lalu cek apakah database yang sudah kita buat tadi ada pada database itu.
Lab 9.3 Replication Database with PostgreSQL
Aslamualaikum wr wb
Pada kali ini Saya ingin share sedikit cara Konfigurasi Replication pada database PostgreSQL pada centos 7. Pada kali ini ane hanya akan menshare cara konfigurasinya, dan sedikit menggunakannya saja. Kali ini Lab 9.xx akan ada 9 lab dan 3 aplikasi yang akan saya gunakan. Pastikan saja anda tidak bosan membacanya.
Pada Lab kali ini kita memerlukan 2 server yang akan menjadi master dan slave. Pastikan anda sudah mengkonfigurasi server sama seperti pada lab yang sebelumnya.
*Konfigurasi Master
1) Edit file konfigurasi postgresql yaitu postgresql.conf yang terletak di /var/opt/rh/rh-postgresql95/lib/pgsql/data/
Lalu kita edit listen_addresses menjadi '*' agar bisa diakses semua orang
2) Uncomment wal_level, setelah itu atur optionnya menjadi hot_standby. Kemudian Uncomment juga pada synchronous_type, dan ubah optionnya menjadi local
Write-Ahead Logging (WAL) adalah metode standar untuk memastikan integritas data. Konsep WAL adalah bahwa perubahan pada file data (di mana tabel dan indeks berada) harus ditulis hanya setelah perubahan tersebut dicatat, yaitu setelah catatan log yang menjelaskan perubahan telah terdapat pada penyimpanan permanen. wal_level menentukan berapa banyak informasi yang ditulis ke WAL. Disini saya mengaturnya menjadi hot_standby. Hot Standby adalah istilah yang digunakan untuk menggambarkan kemampuan untuk terhubung ke server dan menjalankan query read-only sementara server sedang berada dalam recovery arsip atau mode standby.
synchronous_commit (synchronous replication) adalah opsi yang memungkinkan transaksi antara server DB dan Replica selesai lebih cepat. Dengan synchronous commit, penundaan replikasi secara langsung mempengaruhi waktu penyelesaian transaksi pada master, dan dengan synchronous comit ini, master dapat melanjutkan dengan kecepatan penuh. Synchronous commit menjamin bahwa data ditulis ke setidaknya dua node sebelum pengguna atau aplikasi diberitahu bahwa transaksi telah dilakukan. Disini saya mengaurnya value nya menjadi local, karena saya membuat sinkronisasi antar master dan salve (local)
3) Lalu cari serta uncomment syntax archive_mode, kemudian atur optionnya menjadi on. Setelah itu uncomment syntax archive_command dan atur optionnya menjadi command atau perintah yang digunakan untuk perngarsipan.
Kedua opsi ini saling terkait, karena dengan mengaktifkan archive_mode dengan cara mengubah valuenya menjadi on, ini berguna untuk mengaktifkan WAL Segment akan dikirrim ke penyimpanan arsip dengan perintah yang didefinisikan pada opsi archive_command. Maksudnya adalah Wal Segment yang ditandakan dengan %p yaitu path dari file yang akan diarsipkan akan dikirim ke /var/lib/pgsql/archive/%f . %f ini mendefinisikan nama file dari WAL Segment tersebut.
archive_mode adalah opsi yang digunakan sebagai pengaturan mode arsip, Ketika archive_mode diaktifkan (on), WAL segmen dikirim ke penyimpanan arsip dengan mengatur archive_command. archive_mode tidak dapat diaktifkan saat wal_level disetel menjadi minimal.
archive_command merupakan command yang digunakan untuk mengarsip logfile segmen
% p dalam string digantikan oleh nama path dari file yang akan diarsipkan, dan % f diganti hanya dengan nama file.
4) Kemudian cari dan uncomment syntax max_wal_sender. Max wal sender ini digunakan untuk menuntukan jumlah koneksi maksimum dari standby server. karna disini saya hanya mempunyai dua server, yaitu master dan slave, maka disini sata mengatur valuenya menjadi 2. Kemudian uncomment juga oada baris wal_keep_segments. Wal keep segments ini merupakan besar logfile segments, satuannya MB. Pada contoh ini saya mengaturnya menjadi 10.
5) Masih di file yang sama, cari dan uncomment pada baris synchronous_standby_names, baris ini merupakan pendefinisian dari nama server standby manakah yang akan akan digunakan untuk Database Replication. Nama yang dimaksud yaitu berupa hostname
6) Cari syntax yang sudah di tandai pada gambar dibawah ini, Uncomment setiap local host yang ada, kemudian edit yang tadinya masih user pogtres, ubah menjadi replica, karna nanti pada tahap selanjutnya kita akan membuat user replica. Lakukan pengeditan pada ketiga host, 1 host dengan ip loopback, dan 2 sisanya merupakan ip dari sever master maupun slave (server db dan server db replica), dan jangan lupa ketiganya atur methodnya menjadi md5. Sedangkan pada baris local biarkan seperti default, cukup ganti nama user serta uncomment syntaknya saja.
7) Lalu restart service PostgreSQL agar konfigurasi yang kita lakukan tersimpan.
8) Lalu masuk ke shell postgres lalu buat user replica atau yang sesuai dengan konfigurasi yang telah kita buat di pg_hba.conf . Buat dengan tambahan option --replication agar user tersebut digunakan untuk replica.
*Konfigurasi Slave
1) Pertama, stop terlebih dahulu service postgresql pada server.
2) Kemudian remove semuaaaa file yang ada pada directory /var/opt/rh/rh-postgresql95/lib/pgsql/data/
3) Lalu masuk ke shell postgres . Kemudian lakukan sinkronisasi dari node1 ke sever master database.
pg_basebackup digunakan untuk mengambil base backup cluster database PostgreSQL yang sedang berjalan. Pg_basebackup membuat salinan biner dari file cluster database, sambil memastikan sistem dimasukkan ke dalam dan keluar dari mode backup secara otomatis
-h 172.16.11.70 merupakan pendifisian bahwa base bacup cluster database berasal dari host 172.16.11.70 (ip server master db)
-U merupakan pendifisian dari user, pada contoh ini usernya yaitu replica
-D /var/opt/rh/rh-postgresql95/lib/pgsql/data/ merupakan pendefinisan pada Directory mana file backup cluster database tersebut.
-P merupakan pendifinisian dari Password
--xlog digunakan untuk membuat catatan terhadap semua log yang dihasilkan selama backup
4) Setelah itu edit file konfigurasi PostgreSQL yaitu postgresql.conf yang terletak di /var/opt/rh/rh-postgresql95/lib/pgsql/data/
nyalakan hot_standby nya dengan cara uncomment pada baris tersebut, kemudian atur optionnya menjadi on.
5) Copy file recovery.conf.sample, kemudian ubah nama file tersebut menjadi recovery.conf
6) Edit file recovery.conf yang telah ter-copy tadi. Kemudian cari dan uncomment syntax restore_command. Restore command ini merupakan Perintah shell yang digunakan untuk mengambil segmen file WAL yang diarsipkan. Parameter ini diperlukan untuk pemulihan arsip, tapi opsional untuk streaming replikasi. Setiap %f dalam string diganti dengan nama file yang akan diambil dari arsip, dan setiap %p diganti dengan nama tujuan jalur salin pada server.
Pada command ini terdapat perintah scp (secure copy) dan dibelakangnya diikut oleh ip dari server master db serta tujuan pada directory mana file tersebut diletakan, ini berarti segmen file WAL yang diarsipkan di salin dari host tersebut ke destination directory yang telah ditentukan, Sedangkan maksud dari secure copy in dalah, proses penyalinannya secara secure, via ssh.
7) masih di file yang sama, uncomment pada baris standby_mode dan ubah optionnya menjadi on. Standy mode ini digunakan untuk Menentukan apakah akan memulai server PostgreSQL sebagai standby. Jika parameter ini aktif, server tidak akan berhenti untuk me-recovery saat akhir WAL yang diarsipkan tercapai, namun akan terus mencoba melanjutkan recovery (pemulihan) dengan mengambil segmen WAL baru menggunakan restore_command dan / atau dengan menghubungkan ke server utama seperti yang ditentukan oleh pengaturan primary_conninfo.
Lalu jangan lupa uncomment primary_conninfo, Primary conninfo ini digunakan menentukan string koneksi yang akan digunakan agar server standby terhubung dengan server primary (server master db). Edit baris tersebut menjadi seperti yang sudah saya tandai pada gambar dibawah ini
8) Karena tadi service postgresqlnya dimatikan, maka dari itu sekarang kita harus menjalankannya kembali.
*Verifikasi
2) setelah itu kita login menggunakan slave kita lalu cek apakah database yang sudah kita buat tadi ada pada database itu.




















0 komentar: