Natív PostgreSQL replikáció

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Failover követelményei)
(Replikáció követelményei)
9. sor: 9. sor:
 
=== Replikáció követelményei ===
 
=== Replikáció követelményei ===
 
A replikációnak több követelménye van, ami nem csak az PostgreSQL verziószámára terjed ki:
 
A replikációnak több követelménye van, ami nem csak az PostgreSQL verziószámára terjed ki:
* a replikációban részt vevő operációs rendszereknek azonos architektúrájúnak kell lennie. Azonos architektúrának számít, ha mind amd64, x386 stb. Látszik hogy nem szabad keverni 32 és 64 bites rendszereket, csak tisztán az egyiket, ill. tisztán a másikat használhatjuk.
+
* a replikációban részt vevő operációs rendszereknek azonos architektúrájúnak kell lennie
 
* legalább PostgreSQL 9.0
 
* legalább PostgreSQL 9.0
  +
  +
Azonos architektúrának számít, ha mind amd64, x386 stb. Látszik hogy nem szabad keverni 32 és 64 bites rendszereket, csak tisztán az egyiket, ill. tisztán a másikat használhatjuk. Törekedni kell a PostgreSQL-t is azonos verzión tartani. Ha frissítjük, célszerű először a slave rendszerrel kezdeni, mert valószínűbb, hogy egy új rendszer képes feldolgozni egy régebbi üzeneteit, mint fordítva.
  +
 
=== Failover követelményei===
 
=== Failover követelményei===
 
* közvetlen kapcsolat a két szerver között
 
* közvetlen kapcsolat a két szerver között

A lap 2012. november 11., 14:01-kori változata

Tartalomjegyzék

1 Bevezetés

A PostgreSQL 9.0-ás verziójától kezdve támogatja a natív replikációt, ami talán ez az egyik legjobban várt funkciója hosszú idők óta. Eddig is léteztek más replikációs megoldások (PgPool II, Slony, stb.), amelyek akár többlet funkcionalitással is rendelkezhettek (load balancing), mégsem jelentenek igazi megoldást a problémáinkra. A jelen szócikk ezen témakörbe nyújt egy kis betekintést.

A replikáció konfigurálásához két debian Linux operációs rendszert használok csomagból telepített PostgreSQL 9.1 verziókkal. A két szerver közvetlenül is össze lesz kötve egymással, ez a failover szempontjából fontos. Több szerver esetén a közvetlen összeköttetések nagyon megbonyolítanák a beállításokat, akkor célszerűbb switch-eken keresztül összekapcsolni a rendszereket.

Teszthalo.png

2 Követelmények

2.1 Replikáció követelményei

A replikációnak több követelménye van, ami nem csak az PostgreSQL verziószámára terjed ki:

  • a replikációban részt vevő operációs rendszereknek azonos architektúrájúnak kell lennie
  • legalább PostgreSQL 9.0

Azonos architektúrának számít, ha mind amd64, x386 stb. Látszik hogy nem szabad keverni 32 és 64 bites rendszereket, csak tisztán az egyiket, ill. tisztán a másikat használhatjuk. Törekedni kell a PostgreSQL-t is azonos verzión tartani. Ha frissítjük, célszerű először a slave rendszerrel kezdeni, mert valószínűbb, hogy egy új rendszer képes feldolgozni egy régebbi üzeneteit, mint fordítva.

2.2 Failover követelményei

  • közvetlen kapcsolat a két szerver között
  • egy virtuális IP cím

A fent ismertetett felállás szerint a két szerver közvetlen kapcsolatban kell álljon egymással. Ez azért jó, mert a kapcsolat csak a két oldaltól függ, vagyis nagyon stabilnak tekinthető. Ha egy switchen keresztül kapcsolódnának egymáshoz, a switch kiesése működésképtelenné tenné a rendszert.

3 Replikáció fajtái

3.1 Master - slave

3.2 Master - master avagy multi master

3.3 Streaming

3.4 Nem streaming

3.5 Aszinkron

3.6 Szinkron

4 Streaming szinkron replikáció konfigurálása

5 Magas rendelkezésre állás virtuális IP-vel

5.1 Mi az a virtuális IP cím?

5.2 Hogyan tudom konfigurálni?

5.3 Automatikus failover

6 Teljesítménytesztek

6.1 Streaming szinkron replikáció

6.2 Streaming szinkron replikáció failoverrel

6.3 A failover tesztelése

Személyes eszközök