tutorial postgresql 9.6 pada centos 7 part 3 (incremental backup with barman)

0
21

halo sobat sekolahlinux kali ini pada part3 saya akan membahas tentang bagaimana cara backup incrementar db postgresql, pada tutorial ini saya menggunakan barman dan juga centos 7 dan postgresql 9.6 untuk implementasinya, cara ini sudah saya terapkan pada client saya dan sejauh ini berjalan dengan baik, apa saja yang di perlukan untuk mengikuti tutorial kali ini bisa kalian lihat dibawah

  • node1 (master): 192.168.10.10
  • node2 (barman): 192.168.10.20
  • node3 (restoredb): 192.168.10.30

sebelumnya saya ingin menjelaskan kepada kalian kalau barman tidak bisa membackup db yang dalam keadaan standby/slave jadi kita harus membackup db atau node master, dan untuk restorenya pun kalian harus memiliki node terpisah, dan pada tutorial kali ini saya beranggapan kalau node1 kalian sudah terinstall postgresql dan sudah berjalan dengan baik, oke langsung saja tutorial ini kita mulai

install repo epel-release pada semua node

selanjutnya install repo postgresql 9.6 pada node2 dan node3

selanjutnya install postgresql pada node3 yang nantinya akan kita gunakan sebagai wadah untuk restore hasil backup

lalu jalankan perintah dibawah untuk generate db postgresql diawal

selanjutnya install barman pada node2

selanjutnya install rsync pada semua node (node1, node2, node3)

lalu selanjutnya implementasikan ssh-key auth untuk akses ssh pada node1, node2, node3 kurang lebih nantinya akan seperti dibawah.

  • node1 user: postgres= ssh barman@node2_barman_ip
  • node2 user: barman= ssh postgres@node1_master_ip
  • node2 user: barman= ssh postgres@node3_restoredb_ip
  • node3 user: postgres= ssh barman@node3_barman_ip

untuk turorial implementasi ssh-key bisa mengunjungi link dibawah

 

BACKUP

selanjutnya pada node1 masuk sebagai user postgres dan buka file pg_hba.conf

pada node1 masukkan ip address node2 pada pg_hba.conf, kira2 menjadi seperti dibawah ini

selanjutnya pada node2 barman buka file barman.conf

tambahkan baris dibawah ini atau pastikan paramaternya dan valuenya sudah aktif dan benar seperti dibawah

selanjutnya pada node2 masuk kedalam mode user barman, dan jalankan perintah dibawah

maka hasilnya akan seperti dibawah

lalu selanjutnya masih didalam mode user barman pada node2 buat folder berdasarkan hasil diatas

selanjutnya pada node1 masuk kedalam mode user postgres dan buka file postgresql.conf

lalu pastikan parameter didalam ini sudah sama seperti dibawah value nya (untuk archive command jika didalamnya sudah ada perintah lainnya kalian bisa menambahkan “&&” lalu command selanjutnya

masih di node1, masuk kedalam mode user postgres dan buat user barman, dengan command seperti dibawah

jika sudah save dan restart service postgresql pada node1

jalankan perintah dibawah dalam mode user barman pada node2

nanti hasilnya akan seperti dibawah

untuk check selanjutnya coba jalankan perintah dibawah ini pada node2 dalam mode user barman

maka hasilnya akan seperti dibawah

setelah itu jalankan perintah dibawah pada node2 untuk memulai backup db nya

maka hasilnya akan seperti dibawah

untuk melihat list hasil backup incremental kalian bisa menjalankan perintah dibawah pada node2

maka hasilnya akan seperti dibawah

berikut ini penjelasan dari hasil diatas

  • sekolahlinux : nama dari db postgres server yang didaftarkan di barman / server name
  • 20170607T022911 : backup id
  • Wed Jun  7 02:29:15 2017 : waktu dan tanggal backup dilaksanakan
  • Size: 36.2 MiB : base backup size
  • WAL Size: 318.3 KiB : size wall archive backup

untuk melihat detail hasil backup kalian bisa menggunakan command dibawah ini

maka hasilnya akan seperti dibawah

untuk melihat db postgresql server apa saja yg terdaftar di barman bisa dengan perintah dibawah

maka outputnya akan seperti dibawah

selanjutnya jika kalian ingin melakukan backup rutin kalian bisa menggunakan cron didalam mode user barman, contohnya seperti dibawah

contoh schedule seperti dibawah

 

RESTORE

sekarang kita akan melakukan proses restore, pertama coba jalankan perintah dibawah pada node2 pada mode user barman untuk melihat detail backup terakhir

hasilnya akan seperti dibawah

pada hasil diatas ada beberapa yang perlu kita cermati dan nantinya berguna untuk kita gunakan dalam proses restore diantaranya yaitu

  • Begin time : 2017-06-07 02:29:11.626667-04:00
  • Backup id :  20170607T022911
  • Server Name : sekolahlinux

sebelum menjalankan proses restore pastikan service postgresql pada node3 dalam keadaan stop atau mati, jika belum makan jalankan perintah dibawah

selanjutnya pada node2 pada mode user barman, kita akan restore hasil backup incremental ke node3 dengan command dibawah ini

  • barman recover –target-time “Begin time” –remote-ssh-command “ssh postgres@ip_address_node3” server_name backup_id /var/lib/pgsql/9.6/data

contohnya seperti dibawah

maka hasilnya akan seperti dibawah

sekarang pada node3 jalankan kembali service postgresql yang tadi kita stop atau berhentikan

jika sudah maka hasil backup dari node1 akan ada di node3, untuk bisa dikembalikan ke node1 maka kalian perlu dump db manual dari node3, lalu hasil dump di transfer dengan scp ke node1 untuk kemudian direstore manual

sekian tutorial postgres kali ini semoga bermanfaat 🙂

untuk detail dan jika kalian ingin mengoprek lebih jauh soal barman ini kalian bisa mengunjudi docs barmannya dibawah

Leave a Reply