Barman RSYNC backup

Barman RSYNC Backup yöntemi streaming backup yönteminden farklı olarak  aşağıdaki özellikleri kullanabilmektedir.

İncremental Backup

Data deduplication

Network compression

Parallel Backup

Network bandwith limitleme

Barman RSYNC backup yöntemi ile  yukarıdaki özelliklerden çoğu kullanılmaktadır. Streaming  Backup yönteminden biraz daha karışık gözükse de  fazla da karışık değildir. Bunu yazının ilerleyen zamanlarında beraber göreceğiz.

İlk olarak iki sunucu üzerinde firewalld ve selinux u disable ediyoruz ya da sadece belirli portlara izin verebilirsiniz.

İlk olarak  ssh key oluşturup barman den postgresql e ,postgresql den barman a kopyalamak gerekiyor. Bu işlem için Ssh Key Oluşturma ve SSH key’i Farklı Makineye Kopyalayarak Bağlanmak isimli yazıma göz atabilirsiniz.

Ssh keylerimizi oluşturup birbirleri arasında şifresiz şekilde bağlantı sağlandığını test ettikten sonra bir sonraki adıma geçiyoruz.

Streming Backup da ki gibi kullanıcıları oluşturmamız gerekiyor.

CREATE USER barman WITH SUPERUSER;

Kullanıcımız oluşturulduktan sonra aşağıdaki gibi  pg_hba.conf ‘u değiştiriyoruz.

vi /var/lib/pgsql/12/data/pg_hba.conf

local        all              barman             trust
local   replication    barman             trust

Postgresql.conf üzerinde aşağıdaki değişiklikleri yapalım.

vi /var/lib/pgsql/12/data/postgresql.conf

archive_mode= on
Archive_command= 'rsync -a %p barman@barman_ip :/var/lib/barman/12remote/incoming/%f '( Belirtilen /var/lib/barman/12remote/incoming/  dizini yerine archive'ı nereye almak istiyorsanız orayı yazabilirsiniz.)

 

Postgresql de yapılan değişikliklerin  işlenebilmesi için aşağıdaki şekilde servisi restart ediyoruz.

systemctl restart postgresql-12.service

Postgresql de işlerimizi tamamladıktan sonra  rsync  yöntemi ile kullanacağımızdan dolayı aşağıdaki gibi  ssh-server.conf-template konfigurasyon dosyamızı 12remote.conf şeklinde kopyalıyoruz.

cp /etc/barman.d/ssh-server.conf-template /etc/barman.d/12remote.conf

[12remote]

; Human readable description
description =  "Example of PostgreSQL Database (via SSH)"

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SSH options (mandatory)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ssh_command = ssh postgres@postgresql_ip

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; PostgreSQL connection string (mandatory)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
conninfo = host=postgresql_ip user=barman dbname=postgres port=5434

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Backup settings (via rsync over SSH)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
backup_method = rsync

 

Yukarıdaki gibi  değişiklikler yapıldıktan sonra kaydedip çıkıyoruz ve aşağıdaki komut yardımı ile  yukarıda  postgresql e verdiğimiz isimle işlemlerimiz olmuş mu kontrol edelim.

barman check 12remote

Komutu çalıştırdığınızda aşağıdaki gibi ekran gelmesi gerekiyor.

Konfigürasyonumuzda problem olmadığını gördükten sonra backupımızı alabiliriz.

barman backup 12remote --wait

Yukarıda görüldüğü gibi yedeğimiz  alındı. Yukarıdaki resime dikkat edildiğinde 4 jobs’ı görmekteyiz. 4 jobs ,4 paralel anlamına gelmektedir. Paralel almak istiyorsanız oluşturduğumuz 12remote.conf dosyası içerisinde ki parametrelere bakabilirsiniz.

Alınan backupları aşağıdaki şekilde listeleyebilirsiniz.

 barman list-backup 12remote

Backupları belirli zamanlarda almak için crontab a backup scriptlerinizi ekleyerek düzenli olarak almasını sağlayabilir ve işlem sonucunu kendinize mail olarak atabilirsiniz.

 

Linux mail yapılandırması ve mail atmak  ile ilgili detaylar için aşağıdaki yazıma göz atabilirsiniz.

Relay Hakkı Olan Sunucu Konfigürasyonu ve Mail Atmak

 

Loading