Fórumok
Sziasztok,
2 szerver adott konyvtarat szeretnem szinkronizalni.
pelda:
a)
a szerver1-en levo fajlok:
file1
file2
b)
szinkronizacio szerver2-rol (atveszi a 2 fajlt es letrehozza szerver2-n)
c)
file3,file4 letrehozva szerver1-n
d)
szerver1 shutdown
e)
szerver2-n most letrehozom ujonnan a file4 fajlt
f)
szerver1 feljon
milyen parametereket kene az rsync-ben hasznalnom, hogy
a 2 rendszer kozt az adott konyvtar szinkronizalodjon?
(azaz, file4 atkerul a szerver2-re, es az ujonnan letrehozott file3 szerver2-rol atkerul szerver1-re)
Megoldhato ez?
Koszonom elore a magyarazatot.
ardi
Hozzászólások
Az rsync fölé ezt javaslom: http://man.cx/unison%281%29
Azt érzem kisebb problémának, hogy file3 valahogy visszakerüljön a server1-re - de mi a helyzet a file4-gyel? Az ebben a felállásban már mindkét gépen létezik - de eltérő tartalommal! Ekkor mi alapján mondjam azt, hogy a server1-en lévővel kell felülírni a server2-n lévőt és nem fordítva? Oké, hogy a server1 gépen van az újabb - de ettől még lehet, hogy az érdemi adat a régebbi állományban van! Ráadásul mi a teendő abban az esetben ha mondjuk file5 állomány csak az egyik gépen van meg. Ekkor mi történt? A másikról törölték, tehát a rendszer úgy hozható szinkronba, ha innen is törlésre kerül - vagy itt jött létre és így a helyes válasz az, hogy át kell másolni a másik szerverre is? Ezt neked rsync eldönteni nem fogja.
Megoldásra javaslatok:
- az rsync fusson percenként, hogy minél kisebb legyen az esélye annak, hogy az általad vázolt eset bekövetkezzen
- a szolgáltatás megnyitása _előtt_ fusson le egy rsync - ezzel kizárható az általad vázolt eset, mert előbb átkerül server1-re a server2-n létre hozott file3, file4, minthogy a server1-en egy újabb file4-et létre hozhatnának.
- hogy a file5 kapcsán vázolt helyzet semmiképp ne állhasson elő, egyszerre mindig csak egy szerveren futhat a szolgáltatás, annak a könyvtára az aktuális, azt kell mindig a másikra áttenni - ott meg csak az rsync miatt változhat a könyvtár szerkezet.
Az igazán nagyágyú egyébként az, ha drbd-t használsz aktív-aktív felállással és erre ocfs-t (Oracle Clustered FileSystem) ültetsz - ekkor a teljes szinkront automatikusan az alacsonyabb réteg biztosítja. De ez nem rsync-es megoldás... :-)
Igen, nem olvastam el rendesen, a file4 kérdéses. Ha jól értem, akkor a két gépen külön-külön lett létrehozva és az itt leírtakból az derül ki, hogy a régebbit kéne megtartani. Emlékeim szerint az unison kérdez ilyenkor és talán paraméterezhető hogy batch módban miképpen döntsön, de a jelen esetben még az se biztos hogy az ember jól dönt, nemhogy a script :D
+1 a drbd-re!
nalam drbd+zfs+heartbeat kombo fut.
lehet hogy sokkal bonyolultabb mint egy rsync szkript, viszont megcsinalni is sokkal nagyobb fun :)
Talan rosszul fogalmaztam, de en ugy ertettem, hogy mivel szerver1 ki volt kapcsolva, a szerver2-n letrehozott file4 az ujabb.
Tehat amikor szerver1 feljon, akkor annak kene atkerulnie szerver2-rol szerver1-re.
nezegetek most mas megoldasokat - a glusterfs avagy georeplication nem egyszerubb megoldas?
vmi olyasmit szeretnek - amit mar elkezdtem ezen a forumon, hogy a 2 gep kozott mukodik az ucarp es kozos vip (virtualis ip)-t hasznal a kettos.
Ha ftp-zek erre a vip-re, a fajlok a szerver1-re kerulnek - mivel ez master.
A slave csak szikronizalna.
Ha lemegy a szerver1, szerver2 lesz master, de amint feljon a szerver1, rogton masterre valt.
ardi
Erre a fenti kombo amit javasoltam tökeletesen alkamas,
röviden:
- a DRBD manageli a filerendszereket törödik azzal hogy szinkronban legyenek a ket gep között pl.:csinalsz rajta egy NFS vagy Samba share-t ( a te estedben lehtne ez egy master - slave mod a DRBD-ben)
- a heartbeat/pacemaker pedig azt felügyeli hogy a cluster elerhetö legyen, ö folyamtosan nezi hogy szerver1 pingelehetö-e ha nem atvalt szerver2-re
http://drbd.linbit.com/users-guide-8.3/s-heartbeat-config.html
http://drbd.linbit.com/users-guide-8.3/s-heartbeat-r1.html
sztem olvass utana szemely szerint ezt ajanlanam.
megnezem - koszonom.
ardi
EN rsync-kel nem csinalnek ilyet, de amugy lsyncd asszem tudja, amit szeretnel.
Igaz, nem erre valo.
GlusterFS, amennyiben fajlrendszer szinten gondolkozol. Redundans es jol skalazhato.
+1
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/