Živá replikace běžícího Linuxu

Tomas

Živá replikace běžícího Linuxu
« kdy: 11. 09. 2012, 14:19:17 »
Ahoj,
resim nasledujici problem:
Mam dva debiany na dvou fyzickych strojich. Potreboval bych je mit co nejvice synchronizovane (proste presna kopie vcetne dat). To znamena, ze pri vypadku jednoho stroje se system prepne na druhy stroj a nikdo nic nepozna. Nevite nekdo jak zajistit takovouto synchronizaci? Predem dekuji za Vase rady a nazory.
Tom
« Poslední změna: 11. 09. 2012, 15:34:07 od Petr Krčmář »


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Live zalohovani beziciho linuxu
« Odpověď #1 kdy: 11. 09. 2012, 14:48:33 »
Asi bude zalezet take na tom, jaka data budete chtit synchronizovat. System sam by asi sel rsyncovat, i kdyz si nejsem jist, jak moc bude cilovy stroj rad, kdyz mu nekdo rsyncem za behu meni systemove soubory. Inteligentnejsi by asi bylo si prenest seznam balicku a zajistit, aby vzdy byly stejne nainstaloveny na cilovem stroji + syncnout /etc, asi s vyjimkou souboru specifickych pro dany stroj (hostname, nastaveni sitove adresy...). Ale data v otevrenych souborech se obecne syncuji spis blbe. A tak zalezi na tom, co je to za data, coz tu nepisete.

Tomas

Re:Live zalohovani beziciho linuxu
« Odpověď #2 kdy: 11. 09. 2012, 15:25:02 »
Dekuji za odpoved. Balicky se na strojich menit nebudou. Jde vlastne o uzivatelske soubory a databazi PostgreSQL nebo MySQL. Soubory bych asi klidne rsyncoval, ale netusim jak se to bude libit databazi. Tam asi spise pouziji replikaci DB. Spise me zajimalo jestli nekdo nevi o nejakem nastroji, ktery by to cloveku usnadnil. Predpokladam ze se s takovymto problemem potyka vice spravcu.
Tom

trubicoid2

Re:Živá replikace běžícího Linuxu
« Odpověď #3 kdy: 11. 09. 2012, 15:38:20 »
nu ty chces asi snapshot, ne? To umi treba lvm nebo xfs, btrfs, zfs a mozna i nektere dalsi fs?

Na prvnim stroji brat periodicky snapshoty a na druhej je kopirovat.

PCnity

  • *****
  • 685
    • Zobrazit profil
    • E-mail
Re:Živá replikace běžícího Linuxu
« Odpověď #4 kdy: 11. 09. 2012, 15:39:33 »
Pokial su to 2 stroje, urcite by som to riseil cez DRBD.


Tomas

Re:Živá replikace běžícího Linuxu
« Odpověď #5 kdy: 11. 09. 2012, 15:42:10 »
Hmm, tahle varianta me nenapadla. Muzes me trochu navest jak na to?

Tomas

Re:Živá replikace běžícího Linuxu
« Odpověď #6 kdy: 11. 09. 2012, 15:44:35 »
nu ty chces asi snapshot, ne? To umi treba lvm nebo xfs, btrfs, zfs a mozna i nektere dalsi fs?

Na prvnim stroji brat periodicky snapshoty a na druhej je kopirovat.

Muzes me navest trochu :-)

PCnity

  • *****
  • 685
    • Zobrazit profil
    • E-mail
Re:Živá replikace běžícího Linuxu
« Odpověď #7 kdy: 11. 09. 2012, 15:45:07 »
Snapshoty su na backup. Riesit synchronizaciu cez snapshoty je dost cudne.
Jednoznacne trba vyuzit bud zabudovanu funkcionalitu MySQL a PostgreSQL a nechat ich syncronizovat sa, alebo mat spravneu synchronizaciu na block device urovni.

Tomas

Re:Živá replikace běžícího Linuxu
« Odpověď #8 kdy: 11. 09. 2012, 15:47:07 »
Pokial su to 2 stroje, urcite by som to riseil cez DRBD.

Toto je asi pro me kanon na vrabce.

PCnity

  • *****
  • 685
    • Zobrazit profil
    • E-mail
Re:Živá replikace běžícího Linuxu
« Odpověď #9 kdy: 11. 09. 2012, 15:48:52 »
Konfiguracia DRBD na debiane je otazka 1 hodina aj s integrovanim do heartbeat konfiguracie.
Usetris si tym kopu starosti... Mas 1 zdielany disk + automaticky fencing. Doslovne sietovy RAID1.

Tomas

Re:Živá replikace běžícího Linuxu
« Odpověď #10 kdy: 11. 09. 2012, 15:50:10 »
Konfiguracia DRBD na debiane je otazka 1 hodina aj s integrovanim do heartbeat konfiguracie.
Usetris si tym kopu starosti... Mas 1 zdielany disk + automaticky fencing. Doslovne sietovy RAID1.

Diky, mrknu na to. Je pravda, ze to je systemove reseni.

tadeas

Re:Živá replikace běžícího Linuxu
« Odpověď #11 kdy: 11. 09. 2012, 15:56:22 »
Nebylo by lepší to řešit na aplikační úrovni? Databáze tohle umí a uživatelské soubory se dají dát na sdílené úložiště.

Re:Živá replikace běžícího Linuxu
« Odpověď #12 kdy: 11. 09. 2012, 16:16:45 »
No lenze DRBD je na urovni blokovych zariadeni. Takze neviem ked budes menit na jednom stroji FS ktory je cez DRBD replikovany na druhy stroj, ci to na druhom stroji na FS uvidis

PCnity

  • *****
  • 685
    • Zobrazit profil
    • E-mail
Re:Živá replikace běžícího Linuxu
« Odpověď #13 kdy: 11. 09. 2012, 16:24:04 »
DRBD mozes nastavit tak aj tak... Lenze v takom pripade (multi-primary) musis mat na to vhody filesystem. Ja napriklad mam MySQL na xfs pod ktorym je DRBD (single-primary). Heartbeat mi v pripade vypadku prave primarnej nody prv mountuje fs a potom pusti mysql na druhej.
Aj tak si myslim ze je lepsie vyuzit na to moznosti aplikacie (mysql a postgres), pokial sa sama dokaze replikovat.

DRBD je skvele pre NFS cluster pokial clovek nema zaujem experimentovat s network file systemami ala lustrefs.

Na prvy dotaz hore by som odpovedal:

1) Nahodit 2 drbd [single primary] s ext4/xfs
2) Datadir jednej [mysql] databazy premigrovat na 1. drbd
3) Datadir druhej [postgres] databazy premigrovat na 2. drbd
4) Na jednej node by defaultne bezal prve drbd + service
5) Na druhej node by defaultne bezalo druhe drbd + service
6) Nahodit heartbeat

V pripade problemu jednej z node, ta druha do pol minuty preberie jej miesto... A to s PLNE aktualnymi datami. DRBD mas v defaultnom nastaveni tak ze caka na commit na lokalnych diskoch a aj na diskoch 2. nody. Cize ziaden dataloss.

Tomas

Re:Živá replikace běžícího Linuxu
« Odpověď #14 kdy: 11. 09. 2012, 16:35:57 »
DRBD mozes nastavit tak aj tak... Lenze v takom pripade (multi-primary) musis mat na to vhody filesystem. Ja napriklad mam MySQL na xfs pod ktorym je DRBD (single-primary). Heartbeat mi v pripade vypadku prave primarnej nody prv mountuje fs a potom pusti mysql na druhej.
Aj tak si myslim ze je lepsie vyuzit na to moznosti aplikacie (mysql a postgres), pokial sa sama dokaze replikovat.

DRBD je skvele pre NFS cluster pokial clovek nema zaujem experimentovat s network file systemami ala lustrefs.

Na prvy dotaz hore by som odpovedal:

1) Nahodit 2 drbd [single primary] s ext4/xfs
2) Datadir jednej [mysql] databazy premigrovat na 1. drbd
3) Datadir druhej [postgres] databazy premigrovat na 2. drbd
4) Na jednej node by defaultne bezal prve drbd + service
5) Na druhej node by defaultne bezalo druhe drbd + service
6) Nahodit heartbeat

V pripade problemu jednej z node, ta druha do pol minuty preberie jej miesto... A to s PLNE aktualnymi datami. DRBD mas v defaultnom nastaveni tak ze caka na commit na lokalnych diskoch a aj na diskoch 2. nody. Cize ziaden dataloss.
Diky, uz na tom pracuju.