• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Brainstorming - Daten von Webservern auf gleichem Stand halten

Themenstarter #1
Guten Abend,

ich benötige von euch mal geistige Ergüsse zu dem Thema den Inhalt von Webservern auf einem gleichen Stand zu halten / zu synchronisieren. Was es dort für Konzepte oder interessante Konstrukte gibt.

Ich habe aktuell einen Webserver im LAN, der seinen Inhalt auf drei bis vier andere Webserver an anderen Standorten synchronisiert werden soll.

Habe gesehen, dass es im Internet einige Hinweise auf csync2 in Kombination mit lsyncd gibt. Habt ihr damit Erfahrungen oder gibt es besseres?

Erstmal soll es nur One-Way (Master -> Many) und nicht andersrum.

Grußß
 

m4rkus

Well-Known Member
#4
Du könntest auch mittels git arbeiten.

Dein Rechner pushed Änderungen in ein zentrales repository, welches die Webserver (automatisch / gesteuert durch bspw. ein Config-Mgmt-System) auschecken.
Vorteil: Du kannst verschiedene Branches machen (Entwicklung / Testing / Staging / Produktion), hättest vollständige Versionierung und die volle Kontrolle über "Wer hat wann was geändert".

Gruß
Markus
 

gadean

Well-Known Member
#6
@Crest Keine Ahnung, ich hab mich mit syncthing noch nicht intensiver beschäftigt, hab davon nur gehört und ein wenig rum gespielt. Fand den Gedanken interessant eine Datenmenge über P2P auf mehrere "Nodes" zu verteilen bzw. abzugleichen.
 

Illuminatus

in geheimer Mission
#8
zentraler nfs share von dem alle webserver lesen ?
Eher nicht, denn was soll dann der Vorteil sein? Es geht doch darum dass die Standorte ihre lokalen Clients ohne Abhängigkeit zur Zentrale mit Content versorgen können.
Vielleicht dachtest du anstelle von einem NFS Share an einen cachenden Reverse Proxy?

Jedenfalls bin ich auch ein Freund von rsync.
 

peterle

Forenkasper
#9
Wie merkt denn der Server, daß Daten verändert wurden und schickt genau diese Änderungen weiter, wenn ihr das mit rsync oder git löst?
 

Crest

rm -rf /*
Mitarbeiter
#10
Mit git indem man einen Commit durchführt. Die Slaves können sowohl ihren Master pollen als auch nen Hook im Master die Daten zu den Slaves pushen kann. Falls ein Slave down ist kann ein Hook ihn nicht erreichen. Dafür benötigst du nen Retrymechanismus, der im einfachsten Fall auf Polling hinaus läuft. Der Hook im Master reduziert in diesem Fall die Latenz der Replikation.
 

m4rkus

Well-Known Member
#11
Wie oben geschrieben kann man das natürlich auch sinnvoll mit anderen Lösungen kombinieren, wie zum Beispiel Ansible oder Puppet.

Die Host-Definition enthält dann neben "Webserver" halt auch das git Repository und so kümmert sich die Automatisierungslösung um die Aktualisierung.

Gruß
Markus
 

CommanderZed

OpenBSD User
Mitarbeiter
#14
Ich mache so etwas mit cron + rsync, funktioniert sehr gut, ggf. auch über schmalbandigere Leitungen und sogar zwischen Linux und Windows Rechnern.

Wenn da noch was Datenbankmäßiges laufen hast muss man das ggf. noch nen bisschen scripten.