{"id":119,"date":"2016-04-20T16:20:14","date_gmt":"2016-04-20T16:20:14","guid":{"rendered":"http:\/\/kloxo.web.id\/?p=119"},"modified":"2016-04-21T01:48:33","modified_gmt":"2016-04-21T01:48:33","slug":"spse-master-slave-streaming-replication-2","status":"publish","type":"post","link":"https:\/\/kloxo.web.id\/?p=119","title":{"rendered":"SPSE Master-Slave Streaming Replication #2"},"content":{"rendered":"<p>Melanjutkan catatan <a href=\"http:\/\/kloxo.web.id\/?p=94\">PostgreSQL 8.4 Upgrade ke 9.5 (SPSE Master-Slave Streaming Replication #1)<\/a>, pada langkah ini kita mulai mengaktifkan fitur hot_standy dan streaming replication pada Postgresql 9.5.<\/p>\n<p>Persiapan awal adalah menyiapkan 2 server yang sudah terinstall Postgresql 9.5, sudah dikonfigurasi dan berjalan dengan baik seperti petunjuk SPSE Master-Slave Streaming Replication #1.<\/p>\n<p>I. Konfigurasi Master Server<\/p>\n<p>Master-server adalah server utama yang diakses oleh pengguna, database dari server ini akan direplikasi dan dikirimkan secara realtime ke Slave-server<\/p>\n<p>1. nano \/var\/lib\/pgsql\/9.5\/data\/postgresql.conf<br \/>\n   cari dan sesuaikan menjadi baris berikut :<br \/>\n   listen_addresses = &#8216;localhost,192.168.100.194&#8217;<br \/>\n   ##sesuaikan 192.168.100.194 dengan ip master-server anda<br \/>\n   wal_level = hot_standby<br \/>\n   max_wal_senders = 1<br \/>\n   wal_keep_segments = 50<br \/>\n2. nano \/var\/lib\/pgsql\/9.5\/data\/pg_hba.conf<br \/>\n   tambahkan pada akhir file baris berikut :<br \/>\n   host replication postgres 192.168.100.195\/32 trust<br \/>\n   ##sesuaikan 192.168.100.195 dengan ip slave-server anda<br \/>\n3. service postgresql-9.5 restart<br \/>\n4. persiapan data awal yang akan direplikasi dan dicopy ke slave-server :<br \/>\n   su &#8211; postgres<br \/>\n   psql -c &#8220;SELECT pg_start_backup(&#8216;replbackup&#8217;);&#8221;<br \/>\n   tar cfP \/tmp\/db_file_backup.tar \/var\/lib\/pgsql\/9.5\/data<br \/>\n   psql -c &#8220;SELECT pg_stop_backup();&#8221;<br \/>\n   exit<br \/>\n5. scp \/tmp\/db_file_backup.tar root@192.168.100.195:\/tmp\/<\/p>\n<p>Sampai pada langkah ini, persiapan replikasi di master-server sudah selesai.<\/p>\n<p>II. Konfigurasi Slave Server<\/p>\n<p>Slave-server adalah server cadangan dan tidak diakses langsung oleh pengguna, database dari Master-server direplikasi secara realtime ke Slave-server ini.<\/p>\n<p>1. service postgresql-9.5 stop<br \/>\n2. mv \/var\/lib\/pgsql\/9.5\/data\/ \/var\/lib\/pgsql\/9.5\/data.old<br \/>\n3. tar xvfP \/tmp\/db_file_backup.tar<br \/>\n4. rm -f \/var\/lib\/pgsql\/9.5\/data\/postmaster.pid<br \/>\n5. nano \/var\/lib\/pgsql\/9.5\/data\/postgresql.conf<br \/>\n   cari dan sesuaikan menjadi baris berikut :<br \/>\n   hot_standby = on<br \/>\n6. cp \/usr\/pgsql-9.5\/share\/recovery.conf.sample \/var\/lib\/pgsql\/9.5\/data\/recovery.conf<br \/>\n7. nano \/var\/lib\/pgsql\/9.5\/data\/recovery.conf<br \/>\n   cari dan sesuaikan menjadi baris berikut :<br \/>\n   standby_mode = on<br \/>\n   primary_conninfo = &#8216;host=192.168.100.194 port=5432&#8217;<br \/>\n   #sesuaikan ip 192.168.100.194 dengan ip master-server anda<br \/>\n8. chown postgres.postgres \/var\/lib\/pgsql\/9.5\/data\/recovery.conf<br \/>\n9. service postgresql-9.5 start<\/p>\n<p>Sampai sini selesai sudah catatan Master-Slave Streaming Replication #2, periksa log untuk memastikan proses replication berjalan sukses :<\/p>\n<p>tail -f \/var\/lib\/pgsql\/9.5\/data\/pg_log\/postgresql-[hari].log<br \/>\n&#8212;database system is ready to accept read only connections&#8212;<\/p>\n<p>pengujian replikasi sudah berjalan dengan baik (update 21\/04\/206) :<br \/>\n1. di master-server :<br \/>\n   su &#8211; postgres<br \/>\n   psql<br \/>\n   CREATE TABLE rep_test (test varchar(40));<br \/>\n   INSERT INTO rep_test VALUES (&#8216;data satu&#8217;);<br \/>\n   INSERT INTO rep_test VALUES (&#8216;data dua&#8217;);<br \/>\n   INSERT INTO rep_test VALUES (&#8216;lalala&#8217;);<br \/>\n   INSERT INTO rep_test VALUES (&#8216;hello there&#8217;);<br \/>\n   INSERT INTO rep_test VALUES (&#8216;blahblah&#8217;);<br \/>\n   \\q<br \/>\n   exit<\/p>\n<p>2. di slave-server :<br \/>\n   su &#8211; postgres<br \/>\n   psql<br \/>\n   SELECT * FROM rep_test;<br \/>\n   #akan tampil data seperti yang diisikan ke database master-server <\/p>\n<p>Database slave-server sudah siap, lanjutkan dengan melakukan instalasi SPSE di slave-server dengan mengacu pada tuts <a href=\"http:\/\/kloxo.web.id\/?p=44\">Instalasi SPSE 3.6 SP2 dan SPSE 4.0<\/a> sehingga jika diperlukan slave-server siap diaktifkan mengganti tugas master-server.<\/p>\n<p>Untuk full-duplikasi SPSE, juga diperlukan folder \/home\/file\/file_production dilakukan rsync berkala (misalnya setiap 10 menit) sehingga konsistensi antara master-server dan slave-server terjaga.<\/p>\n<p>Selamat Mencoba D.W.Y.O.R&#8230;<\/p>\n<p>(referensi : https:\/\/opensourcedbms.com\/dbms\/setup-replication-with-postgres-9-2-on-centos-6redhat-el6fedora\/, https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-master-slave-replication-on-postgresql-on-an-ubuntu-12-04-vps)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Melanjutkan catatan PostgreSQL 8.4 Upgrade ke 9.5 (SPSE Master-Slave Streaming Replication #1), pada langkah ini kita mulai mengaktifkan fitur hot_standy dan streaming replication pada Postgresql 9.5. Persiapan awal adalah menyiapkan 2 server yang sudah terinstall Postgresql 9.5, sudah dikonfigurasi dan berjalan dengan baik seperti petunjuk SPSE Master-Slave Streaming Replication #1. I. Konfigurasi Master Server Master-server [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-linux-server"],"_links":{"self":[{"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":9,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":129,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/129"}],"wp:attachment":[{"href":"https:\/\/kloxo.web.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kloxo.web.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}