Postgresql Master Slave Replication Kurulumu

Master – Slave Mimarisi

Replication işlemi Master/ Slave yani Primary ve standby mimarisinde hizmet veren bir veri tabanı cluster’I oluşturulmasına yarar. Postgresql server’da Master / Master yapıda bir replication işlemi sağlanamamaktadır. Bazı third party uygulamalar ile Oracle veri tabanı RAC mimarisine yakın aktif aktif mimari kurulumu yapıldığı idda edilse’de şu anda production ortamlarda kullanıma hazır böyle bir çözüm bulunmamaktadır. Postgresql veri tabanında maksimum yapılabilecek şey ; standby sunucusunu read-only sorgulara izin verecek şekilde açmak ve raporlama vb işler için standby veri tabanını kullanmaktır

Centos 7 işletim sistemi üzerine Postgresql Master / Slave mimarisinde replication kurulumu için yapılması gereken işlemler şu şekildedir;

Öncelikle her iki sunucu üzerinde de postgresql-12 servisleri kurulu olmalıdır. Bu makalede kurulum işlemleri yapılmayacak olup test için daha önceden kurulan test1 sunucusunun vmware clone’u alınarak devam edilecektir. Sıfırdan kurulum için http://www.veritabaniegitimleri.com/2020/04/19/postgresql-12-kurulum-adimlari-centos-7-uzerine/ linkinde bulunan video ders izlenebilir veya http://www.veritabaniegitimleri.com/2020/04/21/postgresql-12-2-kurulum-adimlari/ dökümanı takip edilebilir.

Kurulum Adımları

İki sunucunun da host dosyası aşağıdaki gibi düzenlenir.

  • Master sunucuda postgresql.conf dosyası vi editörü ile açılarak listen_address parametresi ‘*’ değerine set edilir.

Replication işlemleri için aşağıdaki komut ile bir kullanıcı oluşturulur.

createuser –replication -P -e replicator

Pg_hba.conf dosyasına replication için gerekli aşağıdaki satır eklenir. Ve postgresql servisleri yeniden başlatılır.

Daha sonra standby sunucuya geçilir.Postgresql servisleri durdurulduktan sonra PGDATA dizini altındaki bütün dosyalar silinir ve Masterdan pg_basebackup ile PGDATA dizininin standby’a kopyalanması işlemi yapılır. Aşağıdaki komut standby sunucu üzerinde çalıştırılır.

pg_basebackup -h 192.168.192.173 -D /database/data -U replicator -P -v  -R -X stream -C -S test2

Dosyalar taşındıktan sonra master sunucuya psql ile bağlanıp standby slot’un eklenip eklenmediği kontrol edilir.

Daha sonra standby sunucuda postgresql servisleri başlatılır.

Standby sunucuda aşağıdaki komut ile primary sunucudan wal’ların alınmasını sağlayan wal_receiver processin durumu gözlenebilir.

psql -c “\x” -c “SELECT * FROM pg_stat_wal_receiver;”

Ve primary sunucuda replication işlemi aşağıdaki komut ile gözlemlenir.

psql -c “\x” -c “SELECT * FROM pg_stat_replication;”

Replication’I test etmek için primary sunucuda bir veri tabanı yapıp standby’da veri tabanının oluşturulup oluşturulmadığına bakılır.

Primary

Standby

Veysel YUKSEL
Latest posts by Veysel YUKSEL (see all)

Veysel YUKSEL

RDBMS ve NoSQL veri tabanı yönetimi ve Big Data teknolojileri.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir