Hallo, ein Bekannter fragte mich nach einer Mini Load Balacing Regel, ala [Switch] | ------------- | | [PC1] [PC2] Beide Rechner sollen also (sagen wir mal abwechseln) die http Aufrufe abarbeiten (kein Problem). Die Daten sind aber nicht statisch sondern werden aus einer mySQL DB generiert. Wie kann man nun im laufenen Betrieb die Daten abgleichen ? So dass Server [PC2] immer die Daten von PC1 hat ? rsync ? Geht das bei mySQL DBs im laufenen Betrieb ? cu stonki -- www.stonki.de: the more I see, the more I know....... www.proftpd.de: Deutsche ProFTPD Dokumentation www.krename.net: Der Batch Renamer für KDE www.kbarcode.net: Die Barcode Solution für KDE
Hallo Stefan, Stefan Onken schrieb:
Hallo,
ein Bekannter fragte mich nach einer Mini Load Balacing Regel, ala
[Switch] | ------------- | | [PC1] [PC2]
Beide Rechner sollen also (sagen wir mal abwechseln) die http Aufrufe abarbeiten (kein Problem). Die Daten sind aber nicht statisch sondern werden aus einer mySQL DB generiert. Wie kann man nun im laufenen Betrieb die Daten abgleichen ? So dass Server [PC2] immer die Daten von PC1 hat ? rsync ? Geht das bei mySQL DBs im laufenen Betrieb ?
Ich würde das evtl. (ohne jetzt sehr intensiv drüber nachgedacht zu haben) so machen: Ein schnelles RAID oder ein NAS (mit RAID) mit guter Verbindung an PC1 und PC2 anschließen. Ich würde also nicht versuchen die Daten der beiden PCs abzugleichen, sondern eher eine zentrale Datenbankhaltung anstreben. In jedem Fall kann es bei MySQL zu Inkonsistenzen führen, wenn bei der Synchronisation etwas schief geht (plötzlicher Verbindungsabbruch oder hohe Verzögerungsraten). PC1 versucht gerade mit PC2 abzugleichen und während er die Daten überträgt bricht PC2 unter hoher Last weg. PC1 hat noch nicht alle Daten von PC2 und wenn Du Pech hast, dann sind sogar einige Dateien durch den plötzlichen Verbindungsabbruch defekt. Aber genau zu dem Zweck willst Du ja den Abgleich machen... Es gibt mysqlhotcopy um live MySQL-DBs zu übertragen, aber Du hast dabei niemals die Garantie, dass die Kopie auch wirklich absolut identisch mit dem Original ist, weil das Original permanent aktualisiert und weiterbearbeitet wird. Du müsstest dazu die DB auf PC1 stoppen, Daten nach PC2 übertragen und dann wieder DB auf PC1 starten, damit beide mit einem identischen Stand arbeiten können. Hier gibt es eine Nachricht zum EA Cluster, der in Zusammenarbeit mit mysql entstanden ist, aber einige Tausend Euro kostet: http://www.mysql.com/newsletter/2003-04/a0000000157.html Gruß, Marc -- Studium: Computer Networking: http://cn.psychology4u.de Linux- und Netzwerkberatung: http://www.teamberatung.org Marc Mc Guinness: http://www.mcguinness.de UK Webdesign: http://www.psychology4u.de/telesat/
Am Donnerstag, 27. November 2003 00:50 schrieb Marc Mc Guinness:
Beide Rechner sollen also (sagen wir mal abwechseln) die http Aufrufe abarbeiten (kein Problem). Die Daten sind aber nicht statisch sondern werden aus einer mySQL DB generiert. Wie kann man nun im laufenen Betrieb die Daten abgleichen ? So dass Server [PC2] immer die Daten von PC1 hat ? rsync ? Geht das bei mySQL DBs im laufenen Betrieb ?
Ich würde das evtl. (ohne jetzt sehr intensiv drüber nachgedacht zu haben) so machen:
Ein schnelles RAID oder ein NAS (mit RAID) mit guter Verbindung an PC1 und PC2 anschließen. Ich würde also nicht versuchen die Daten der beiden PCs abzugleichen, sondern eher eine zentrale Datenbankhaltung anstreben.
ja, den Gedanken hatte ich. Ich dachte nur, dass ich im ersten Fall auch den Ausfall eines Rechners ueberleben wuerde, waehrend in Deinem Beispiel der SQL Server der Single Point of Failure ist. Aktuell geht es dabei um das Hosting von ca. 150 Domains auf Typo3 Basis (also ein Content Management, dass auf mysql 3.x, 4.x und PHP aufbaut). Da wollte ich eben die Last verteilen, aber dennoch im Falle eines Falles zumindest den rudimentaeren Betrieb weiter sichern.. cu stonki -- www.stonki.de: the more I see, the more I know....... www.proftpd.de: Deutsche ProFTPD Dokumentation www.krename.net: Der Batch Renamer für KDE www.kbarcode.net: Die Barcode Solution für KDE
participants (2)
-
Marc Mc Guinness
-
Stefan Onken