Avatar billede johnnydamtoft Nybegynder
15. august 2009 - 09:33 Der er 5 kommentarer

"Poor mans CA" Brug rsync til replikering mellem 2 eller flere lokationer (live)

Jeg har valgt at kalde dette for "Poor mans CA" (CA = Continues Access), da dette skal udføres på standalone Linux maskiner på forskellige lokationer.

Jeg har flere Linux maskiner, hvor jeg skal have replikeret data/filer mellem disse. Der skal udelukkende flyttes data fra "master" serveren til "slaverne", og på "slaverne" bliver filerne kun læst.
Dette skal ske løbene, og pt. udfører jeg rsync hvert 2 min.

Er der ikke en mulighed for at have en daemon kørene som løbene flytter filerne i stedet for at jeg skal køre rsync i crontab hvert 2 min, for at hente filer?
Avatar billede skau Nybegynder
15. august 2009 - 11:26 #1
Klienten kan ikke køre som en daemon, det er kun serveren der kan det.

Du kan muligvis selv scripte en wrapper der hele tiden scanner for ændringer og så kører rsync kommandoen når der er ændringer - men det er ikke noget rsync kan af sig selv ... hvis du er heldig er der måske nogen der allerede har gjort det.
Avatar billede johnnydamtoft Nybegynder
15. august 2009 - 12:22 #2
rsync kan jo allerede lave selve scanningen, og det gør den også i dag, så det kune er ændringerne jeg flytter.

Men der hvor jeg vil hen, er at kunne have en mere jævn sync mulighed, men en applikation der kørte heletiden og når der så lå en ny fil, skulle den flyttes med det samme. (i dag går der op til 2 min).

Jeg ved godt at 2 min er ok hurtigt, men der er jo altid mulighed for forbedringer. :)

Any ideas?
Avatar billede skau Nybegynder
15. august 2009 - 12:54 #3
Jeg forstår godt hvor du vil hen, men det er ikke rsync du skal bruge til sådan en løsning (det er ikke det det er lavet til) - hvilken linux distro bruger du, så kan jeg se om jeg kender et distribueret filsystem hvor man har mindst 2 kopier af data.

På den måde vil du få High availability på dine data (de er spredt rundt på dine linux bokse og man vil så skulle mounte filsystemet på de maskiner der har brug for adgang).

Fordelen er, at hvis du har mere end 2 maskiner vil det samlede diskforbrug være mindre - og ændringer skrevet til det distribuerede fs vil automatisk være tilgængeligt på alle klienter såsnart ændringerne er skrevet.
Avatar billede johnnydamtoft Nybegynder
15. august 2009 - 13:01 #4
Jeg benytter Debian.

Jeg har også selv tænkt på 2 alternative løsninger, hvor "master" skriver filen, men filerne ligger enten på et iSCSI/NAS/SAN eller NFS mountpoint hvor det kun er masterserveren, som har skrive rettigheder, og slaverne kan læse.

Men det vil kræve at alle mine servere står på én og samme lokation.

Jeg har pt. 10 servere, hvor master står i Holland. Resten stor i Holland, Belgien, Tyskland, Danmark og Sverige.
- Så måske jeg skulle vælge at samle maskinerne til at begynde med.
Avatar billede skau Nybegynder
15. august 2009 - 13:11 #5
Der er jo mange fordele ved at have stor geografisk spredning, du ksn desværre fra cron "kun" køre rsync 1 gang i minuttet, hvis det ikke er nok bliver du nok nødt til at tænke i nfs/iscsi/gfs eller nas løsninger - eller skrive et script der feks looper over: lav en hash værdi af dit dataområde, sammenholder det med forrige hashværdi og hvis de er ændrede så kør rsynk tilbage til start
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester