Giriş

Verileri tek bir yerde saklamak genellikle riskli bir şeydir. Genellikle, bir felaketten, en kısa sürede kurtulmanızı sağlamak için bir planınızın olması tavsiye edilir..


Etkili bir olağanüstü durum kurtarma planı sağlamanın iyi bir yolu, aynı verilerin birden fazla sunucuda bulunması ve senkronize edilmesidir. Birincil / ana sunucunun başarısız olması durumunda veritabanı sunucuları genellikle birlikte çalışabilir ve böylece yüksek kullanılabilirlik yaratır. Birkaç veritabanı sunucusu aynı anda aynı verileri sunabilir, buna Yük Dengeleme denir.

Bu kılavuzda,’bir veritabanı sunucusunun kendisine okuma-yazma izinleri verilecek bir master-slave çoğaltmasının nasıl yapılandırılacağını, ikincisine ise ona salt okunur izinler verileceğini öğreneceksiniz..

Başlamadan önce

  • 2 Ubuntu 18.04 Sanal Özel Sunucular (VPS’ler) veya kök kullanıcısı olmayan, sudo ayrıcalıklarına sahip Özel Sunucular. Biri master, diğeri bekleme / slave sunucusu olarak çalışacak.
  • Her iki sunucuda PostgreSQL kurulu ve yapılandırılmış. Ubuntu 18.04 Üzerine PostgreSQL Veritabanı Sunucusunu Nasıl Yükleyebilirsiniz

adımlar

Önce PostgreSQL yapılandırma sayfasındaki dinleme adresini değiştirmeniz gerekir. Sunucunun tüm bağlantı noktalarını dinleyebilmesi gerekir.

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Özel Not: postgresql sürümü farklı olabilir ve bu nedenle yolunuz yukarıdakinden farklı olabilir.

Editörünüzde listen_addresses kelimesinde arama yapın veya sayıları ayarlayın ve 59. satıra ilerleyin.

Satırı açın ve sunucunun tüm IP adreslerini dinlemesini sağlayan localhost adını * olarak değiştirin. Aşağıdaki alıntıya bakması gerekiyor.


#——————————————————————————
# BAĞLANTILAR VE KİMLİK DOĞRULAMA
#——————————————————————————

# – Bağlantı Ayarları –

listen_addresses = ‘*’ # hangi IP adreslerini dinleyecek;
# virgülle ayrılmış adres listesi;
# varsayılan olarak ‘localhost’; herkes için ‘*’ kullanın

Değişiklikleri kaydederken düzenleyicinizi kapatın ve yapılan değişiklikleri karşılamak için postgresql hizmetini yeniden yükleyin

$ sudo systemctl yeniden başlatma postgresql

Örnek Veritabanı Oluşturma

Çoğaltma sınaması amacıyla, karakter adı verilen örnek bir tablo oluşturun.

Postgres veritabanınıza giriş yapın

$ sudo -i -u postgres psql postgres
# CREATETABLE karakterler (fname metni, character_id dizisi, datetimestamp, açıklama metni);

Şimdi yeni oluşturulan tablonuza örnek veriler ekleyin.

# INSERTINT Karakterler (fname, tarih, açıklama) VALUES (‘Griffin’, current_date, ‘Bu örnek bir karakterdir’);
INSERT01

Birincil Sunucu Yapılandırması

PostgreSQL, çoğaltma amacıyla özel izinlere sahip bir rol / kullanıcı gerektirir.

$ sudo -u postgres createuser -U postgres çoğaltma kullanıcısı -P -c 5 – replication

Özel Not: Burada kullanıcıKullanıcısı komut seçenekleri hakkında bilgi edinebilirsiniz. Ayrıca, bir üretim ortamında, bruteforcing veya kolay şifre tahmini gibi olaylardan kaçınmak için çoğaltma kullanıcısı şifresinin GÜÇLÜ olduğundan emin olun.

Daha sonra kümenizin bir alt dizini olacak bir arşiv dizini oluşturmanız gerekir.’s varsayılan ana dizini.

$ sudo mkdir -p /var/lib/postgresql/9.5/main/mnt/server/archivedir

Yapılandırın pg_hba.conf dosyası

$ sudo vim /etc/postgresql/9.5/main/pg_hba.conf

Çoğaltma bölümünde arama yapın, ardından aşağıdaki gibi görünmesi için çoğaltma kullanıcısına aşağıdaki girdiyi ekleyin. Bağımlı sunucu IP adresinizi değiştirmeyi unutmayın.

# Çoğaltma bağlantılarına izin ver
ana makine çoğaltma çoğaltıcısı 192.168.56.20/24 md5

Değişiklikleri kaydederken çık.

Düzenle postgresql.conffile

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Aşağıdaki ayarları düzenleyin. Düzenlediğiniz her ayarı kaldırmayı unutmayın.

listen_addresses = ‘*’
wal_level = hot_standby
archive_mode = açık
Archive_commend = ‘testi! -f mnt / sunucu / archivedir /% f && cp% p mnt / sunucu / archivedir /% f ‘
max_wal_senders = 3

Değişiklikleri kaydederken çıkın ve postgresql hizmetini yeniden başlatın

$ sudo systemctl yeniden başlatma postgresql

Slave sunucu yapılandırması

İlk olarak, bağımlı sunucunuzdaki postgresql hizmetini durdurun.

$ sudo systemctl stop postgresql

Yedekleme kazanıldığından beri postgresql dizinindeki ana dosyayı başka bir adla yeniden adlandırın’t Aynı klasördeki mevcut dosyaları değiştirme.

$ sudo mv /var/lib/postgresql/9.3/main /var/lib/postgresql/9.3/main_old

Pg_basebackup yardımcı programını çalıştırın. IP’yi ana sunucu IP adresinizle değiştirin.

$ sudo -u postgres pg_basebackup -h 192.168.56.20 -D /var/lib/postgresql/9.5/main -U çoğaltma kullanıcısı -v -P –xlog-method = stream

İstendiğinde ana sunucunuzda belirlediğiniz çoğaltma kullanıcısı parolasını girin.

Düzenle postgresql.conf dosyası

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Hot_standby ayar seçeneğini arayın ve üzerinde.

Değişiklikleri kaydederken çık.

Şimdi veri kurtarma durumunda kullanılacak kurtarma ayarlarını sağlamanız gerekiyor.

$ sudo cp -avr /usr/share/postgresql/9.5/recovery.conf.sample /var/lib/postgresql/9.5/main/recovery.conf

Kurtarma dosyasını düzenleyin

$ sudo vim /var/lib/postgresql/9.5/main/recovery.conf

Standby_mode öğesini arayın ve seçeneği şu şekilde değiştirin: üzerinde sunucunun bekleme modunda kalmasını sağlamak için.

Primary_conninfo öğesini arayın ve ana sunucu ayrıntılarını ekleyin

birincil_bağlantısı = ‘ana bilgisayar = 192.168.56.20 bağlantı noktası = 5432 kullanıcı = çoğaltma kullanıcısı ş[email protected]%’

Değişiklikleri kaydederken çık.

Slave sunucunuzda postgresql hizmetini başlatın

$ sudo systemctl başlangıç ​​postgresql

Test-Çoğaltma

Oluşturduğunuz tabloda ana sunucunuza gidin. Yeni bir giriş ekle.

$ sudo -u postgres psql postgres

# INSERTINTO karakter (fname, tarih, açıklama) DEĞERLER (‘Sanchez’, current_date, ‘Bu bir aile adamı karakteri’);
INSERT01

Postgres veritabanındaki bağımlı sunucunuza geri dönün ve verileri görüntüleyin

$ sudo -u postgres psql postgres
# SELECT * FROMkarakter
fname | character_id | tarih | açıklama
———+————–+———————+—————————-
Griffin | 1 | 2018-10-22 00:00:00 | Bu örnek bir karakter
Sanchez | 2 | 2018-10-2200: 00: 00 | Rick ve Morty karakteri
(2 sıra)

Sonuç

Slave sunucunuzdaki verileri ana sunucunuza ekledikten sonra görüntüleyebildiyseniz, PostgreSQL master-slave çoğaltmanızı başarıyla ayarladığınız anlamına gelir.

Ana sunucu aniden çalışmayı durdurduğunda bir yük devretme başlatmanın iki yolu vardır; pg_ctl komutunu kullanabilir veya bağımlı sunucunuzda bir tetikleyici dosyası konumu ayarlayabilirsiniz’s /etc/postgresql/9.5/main/postgresql.conf dosyası. Dosyada, trigger_file = ‘/tmp/postgresql.trigger.5432’line öğesini arayın ve açıklamayı kaldırın.

Bu en iyi 3 web barındırma hizmetlerine göz atın

FastComet

Başlangıç ​​fiyatı:
$ 2.95


Güvenilirlik
9.7


Fiyatlandırma
9.5


Kullanıcı dostu
9.7


Destek
9.7


Özellikleri
9.6

Yorumları oku

FastComet’i ziyaret edin

A2 Hosting

Başlangıç ​​fiyatı:
$ 3,92


Güvenilirlik
9.3


Fiyatlandırma
9.0


Kullanıcı dostu
9.3


Destek
9.3


Özellikleri
9.3

Yorumları oku

A2 Hosting’i ziyaret edin

ChemiCloud

Başlangıç ​​fiyatı:
$ 2.76


Güvenilirlik
10


Fiyatlandırma
9.9


Kullanıcı dostu
9.9


Destek
10


Özellikleri
9.9

Yorumları oku

ChemiCloud’u ziyaret edin

İlgili Nasıl Yapılır Makaleleri

  • Ubuntu 18.04 VPS veya Özel Sunucuda MySQL Çoğaltması ile Yüksek Kullanılabilirlik Nasıl Oluşturulur
    orta düzey
  • Ubuntu 18.04 VPS veya Adanmış Sunucuda phpMyAdmin Güvenliği
    orta düzey
  • Ubuntu 18.04 Linux VPS Üzerinde MYSQL 8.0 Kurulumu ve Veritabanı Oluşturma
    orta düzey
  • Ubuntu 18.04 VPS veya Adanmış Sunucuda MySQL Veritabanınızı Yedekleme
    orta düzey
  • Ubuntu 18.04 VPS Sunucusuna veya Adanmış Sunucuya LLMP Yığını Yükleme
    orta düzey
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me