Sziasztok,
Van egy éles gép meg egy backup gép. Mindkettőn FreeBSD fut. Külön szerver teremben vannak. Az lenne a feladat, hogy a backup gépet max. 1-2 nap késéssel olyan formában tartsam, hogy szükség esetén gyorsan át lehessen oda tenni az éles szolgáltatást.
A gépen NAGYON sok adat van. Főleg clipart képek, termékek képei, és sok felhasználó nálunk tárolt fotói és videói. Több millió állomány, sok 10 ezer könyvtárban. De vannak más adatok is (napló fileok, adatbázisok stb.) Állományok száma szerint nézve, az állományok nagy része sosem változik. Egyszer le lett töltve és ott van. Inkább az a jellemző hogy új állományok jönnek létre. Van egy kisebb részük ami folyton változik. Namost az van, hogy a backup gépen és az éles gépen is ugyan olyan user id-vel ugyan azok a felhasználók vannak fölvéve. Az összes szolgáltatás (pl. apache) úgy van beállítva, hogy minimális változtatással a backup szerverből éles szervert lehessen varázsolni. Ez fontos, mert ha az éles szerver tönkremegy, akkor nagyon gyorsan át kell tudnunk állni a backup gépre.
Csak annyi a bökkenő, hogy a működéshez szükséges állományok több különböző user tulajdonát képezik. Valahogy úgy kellene szinkronizálni ezeket a könyvtárakat a gépek között, hogy a jogosultságok (és a file tulajdonosok!) megmaradjanak.
Korábban erre cpdup-ot használam, ami elég gyors volt. De ez csak gépen belüli mentésre működött. Most hogy a backup egy másik gépen van, eszembe jutott az rsync. Biztonságos is kellene hogy legyen, tehát lehetne rsync + SSH. Viszont ehhez az kellene, hogy az rsync root jogokkal jelentkezzen be a backup gépre. Ehhez engedélyezni kellene a root ssh logint, amitől azért eléggé tartok.
Szóval a kérdések:
* Mekkora biztonsági kockázat lenne rsync+SSH úgy, hogy a backup gépre root-ként jelentkezik be? (Ez elég hülye kérdés...)
* Mennyire lesz hatékony az rsync? Ha van 20 millió kis file, és a nagy részükben nincsen változás, akkor mennyi idő alatt képes szinkronizálni 100MBit kapcsolaton, és mekkora forgalmat generál? Tudom, próbáljam ki. De akkor is, nagyon érdekelne hogy ez így elméletben mennyire működőképes.
* Talán az állományok tárolásának módját megváltoztatva nagyobb hatékonyságot tudnék elérni. Például, valamilyen distributed filesystem ami alapból két gépre ír, de csak egy gépről olvas. Így nem kellene végigolvasni az összes könyvtárat, hanem csak azokat szinkronizálná amik ténylegesen írva lettek. Ennek további előnye lenne, hogy nagyon up-to-date mentésem lenne az éles szerverről (egy két óra eltérés max.) Valaki csinált már ilyet? Érdemes ezt két gép esetén is megvalósítani? (Egyelőre nem lesz 10 gépem.) Ha érdemes, akkor milyen csomagot tegyek föl, ami erre való?
Köszi,
Laci