Erinevus lehekülje "PgPool II" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
(Sissejuhatus)
3. rida: 3. rida:
 
Süsteem mida asume seadistama koosneb kolmest serverist
 
Süsteem mida asume seadistama koosneb kolmest serverist
  
Ühendusport tcp  
+
Ühendusport tcp  
 
   9898        5432        5432   
 
   9898        5432        5432   
 
   _____      _____        _____
 
   _____      _____        _____

Redaktsioon: 11. aprill 2016, kell 11:19

Sissejuhatus

Süsteem mida asume seadistama koosneb kolmest serverist

Ühendusport tcp 
 9898         5432         5432  
 _____       _____        _____
|     |     |     |      |     |
| PG2 |     | DB1 |      | DB2 |
|_____|     |_____|      |_____|
   |           |            |
   |___________|____________|
         192.168.0.0/24

Pgpooli serveri seadistus


Paigaldame PgPool II paki.

# sudo apt-get install pgpool2

Pgpooli esmaseks seadistuseks tuleks määrata ära PgPool II PCP seadistuses kasutaja (näiteks postgres mis on vaikimisi kasutaja), mille kaudu hakkab PgPool II suhtlema erinevate andmebaasidega.

Tekitame postgres kasutaja MD5 parooli.

# /usr/sbin/pg_md5 postgres
e8a48653851e28c69d0506508fb27fc5

Seejärel tekitame faili /etc/pgpool2/pgpool.conf järgneva sisuga

pcp_port = 9898
log_destination = 'syslog'
sr_check_user = 'postgres'
sr_check_password = 
health_check_period = 10
health_check_user = 'postgres'
health_check_password = 
recovery_user = 'postgres'
recovery_password = 

Lisame postgresql master ja slave serverid DB1 ja DB2 PgPooli külge. Selleks kirjutame pgpool.conf faili

backend_db1 = '192.168.0.5'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/9.5/main'
backend_flag0 = 'ALLOW_TO_FAILOVER'  

backend_db2 = '192.168.0.6'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/9.5/main'
backend_flag0 = 'ALLOW_TO_FAILOVER'


Juhul kui Te ei tea kus asub PostgeSQL andmebaasi andmete hoiustamise koht serveris, siis saate lihtsa SQL päringuga selle teada.

SHOW data_directory;

Käivitame PgPool II koos debugeerimise logiga.

# pgpool -f /etc/pgpool2/pgpool.conf -n -d > /var/log/pgpool/pgpool.log 2>&1 &

Kontrollime kas PgPool II töötab, greppides porti 9898.

netstat -ant | grep 9898

Vajadusel saame peatada PgPool II järgneva käsuga.

# pgpool -m fast stop

DB1 (master) seadistamine

Muudame DB1 masina PostgreSQL parameetreid /etc all asuvas failis: postgresql.conf

listen_addresses = '*'
wal_level = hot_standby
max_replication_slots = 5
max_wal_senders = 5 

Seejärel kontrollime DB1 masina võrgureegleid failis: /etc/postgresql/9.5/main/pg_hba.conf

host replication all 192.168.0.0/16 trust #Lubame DB2 yhenduse 

DB2 (slave) seadistamine

Muudame DB2 masina PostgreSQL parameetreid /etc all asuvas failis: postgresql.conf

listen_addresses = '*'
wal_level = hot_standby
hot_standby = on
hot_standby_feedback = on 

Alustame DB1 andmebaasi kloonimist DB2 masinasse. Liigume PostgreSQL andmebaasi andmete hoiustamise kataloogi postgres kasutajaga.

# sudo su postgres
# cd ~/9.5

Kustutame "main" kataloogi.

# rm -rf main

Kloonime DB1 andmebaasi DB2 masinasse. NB! Kloonimine võib võtta rohkem aega mahult suuremate andmebaaside puhul.

# pg_basebackup -v -D main -R -P -h 192.168.0.5

Kui andmebaas on kloonitud siis kontrollime taastefaili: ~/9.5/main/recovery.conf

Taatefailis määrame ära masina "slave" nime DB2 ning "master" andmebaasi ühenduse info.

standby_mode = 'on'
primary_slot_name = 'db2'
primary_conninfo = 'user=postgres host=192.168.0.5 port=5432 sslmode=prefer sslcompression=1 krbsrvname=postgres'  

Kontrollimiseks kas replikatsioon töötab

select * from pg_stat_replication;