Webanwendung high available machen
Hallo ML, wir haben eine Webanwendung (Apache, MySQL, SLES 10 und perlskripte), die für unseren internen Arbeitsablauf sehr wichtig ist. Daher möchte ich diese HA machen. Ich kenne mich bisher nicht sehr gut in diesem Bereich aus. In der aktuellen Linux-Magazin habe ich einen Artikel darüber gelesen, und in "The definitive guide to SuSE Linux Enterprise Server" das entsprechende Kapitel. Von daher eine grundsätzliche Frage: - Könnt Ihr mir gute Literatur/Quellen zum Einstieg in dieses Thema empfehlen ? einige etwas spezifischere Fragen: - Soll ich Heartbeat1, Heartbeat2 oder Pacemaker benutzen ? - Wenn ich eine active/passive-Lösung anvisiere, brauche ich dann ein Cluster-FS ? Ich möchte am Anfang nicht direkt mit zu vielen Unbekannten arbeiten. - Wenn ich DRBD einsetze (was wohl einem RAID1 über's Netz entspricht), werden zwei Partitionen über's Netz synchronisiert, oder ? Spreche ich dann trotzdem von einem shared storage ? - Synchronisiert mir dann der DRBD die Partition (/var), auf der die MySQL läuft ? Wenn dann im failover die zweite MySQL startet, hat die dann wg. DRBD die aktuelle DB? Was ist mit Ordnern wie /etc/apache2 oder /srv/www, die ja sinnvollerseise auch synchronisiert würden ? - Müssen die services (Apache, MySQL) eigentlich clusterfähig sein, oder wird das alles durch das DRBD gemanaget ? - kann ich HA auch mit virtuellen Maschinen machen ? Hoffe, Ihr könnt mir ein bißchen Licht in's Dunkel bringen. Bernd -- Bernd Lentes Systemadministration Institut für Entwicklungsgenetik HelmholtzZentrum münchen bernd.lentes@helmholtz-muenchen.de phone: +49 89 3187 1241 fax: +49 89 3187 3826 http://www.helmholtz-muenchen.de/idg Aufsichtsratsvorsitzende: MinDir'in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 Zeit ist keine Schnellstrasse zwischen Wiege und Grab, sondern Platz zum Parken in der Sonne -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 08.11.2010 15:47, schrieb Lentes, Bernd:
Hallo ML,
wir haben eine Webanwendung (Apache, MySQL, SLES 10 und perlskripte), die für unseren internen Arbeitsablauf sehr wichtig ist. Daher möchte ich diese HA machen. Ich kenne mich bisher nicht sehr gut in diesem Bereich aus. In der aktuellen Linux-Magazin habe ich einen Artikel darüber gelesen, und in "The definitive guide to SuSE Linux Enterprise Server" das entsprechende Kapitel. Von daher eine grundsätzliche Frage: - Könnt Ihr mir gute Literatur/Quellen zum Einstieg in dieses Thema empfehlen ?
einige etwas spezifischere Fragen: - Soll ich Heartbeat1, Heartbeat2 oder Pacemaker benutzen ? - Wenn ich eine active/passive-Lösung anvisiere, brauche ich dann ein Cluster-FS ? Ich möchte am Anfang nicht direkt mit zu vielen Unbekannten arbeiten. - Wenn ich DRBD einsetze (was wohl einem RAID1 über's Netz entspricht), werden zwei Partitionen über's Netz synchronisiert, oder ? Spreche ich dann trotzdem von einem shared storage ? - Synchronisiert mir dann der DRBD die Partition (/var), auf der die MySQL läuft ? Wenn dann im failover die zweite MySQL startet, hat die dann wg. DRBD die aktuelle DB? Was ist mit Ordnern wie /etc/apache2 oder /srv/www, die ja sinnvollerseise auch synchronisiert würden ? - Müssen die services (Apache, MySQL) eigentlich clusterfähig sein, oder wird das alles durch das DRBD gemanaget ? - kann ich HA auch mit virtuellen Maschinen machen ?
Hoffe, Ihr könnt mir ein bißchen Licht in's Dunkel bringen.
http://www.pro-linux.de/news/1/12987/supportfirma-fuer-drbd-gegruendet.html http://www.drbd.org/download/related/ könnte helfen ist aber noch Beta Vielleicht reicht es im ersten Schritt aber auch das System zu virtualisieren und immer ein aktuelles Vollback der kompletten VMware da zu haben.Das mache ich mit diversen Entwicklerbüchsen. Wenn da jemand mal richtig abräumt dauert es max. eine Stunde und das System ist wieder da. Dir ist klar das HA auch dafür sorgt das Datenfehler HA sind? Will sagen ein brauchbares versionsweises Backup brauchst du trotzdem. Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ralf Prengel schireb:
http://www.pro-linux.de/news/1/12987/supportfirma-fuer-drbd-ge gruendet.html http://www.drbd.org/download/related/ könnte helfen ist aber noch Beta
Vielleicht reicht es im ersten Schritt aber auch das System zu virtualisieren und immer ein aktuelles Vollback der kompletten VMware da zu haben.Das mache ich mit diversen Entwicklerbüchsen.
Na ja, ist schon mehr als ein Entwicklungssystem. Ich möchte mich ehrlich gesagt auch mit der Frage HA beschäftigen.
Dir ist klar das HA auch dafür sorgt das Datenfehler HA sind? Will sagen ein brauchbares versionsweises Backup brauchst du trotzdem.
Ja, RAID schützt ja auch nicht vor Löschen und ist kein Ersatz für ein backup. Bernd-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 8. November 2010 schrieb Lentes, Bernd: (...)
Von daher eine grundsätzliche Frage: - Könnt Ihr mir gute Literatur/Quellen zum Einstieg in dieses Thema empfehlen ? Clusterbau; Michael Schwartzkopff; O'Reilly -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Bernd, wie wäre es denn für den anfang mit http://www.keepalived.org/ http://dev.mysql.com/doc/refman/5.1/de/replication.html Ich meine über HA wird ja viel gesprochen. Aber ich denke wei einer Webanwendung ist ein einfach keepalived loadbalancing die einfachste sache. Ebenso geht es mit einer slave db recht einfach, diese kann man auch einfach mit keepalived splitten, fällt die master auf können dann alle Zugriffe auf den slave gehen. RO Zugriffe können natürlich immer auf den Slave gehen. Grüsse Jörg -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Jörg Stephan schrieb:
-----Original Message----- From: Jörg Stephan [mailto:ml@johestephan.de] Sent: Monday, November 08, 2010 4:43 PM To: opensuse-de@opensuse.org Subject: Re: Webanwendung high available machen
Hallo Bernd,
wie wäre es denn für den anfang mit
http://dev.mysql.com/doc/refman/5.1/de/replication.html
Ich meine über HA wird ja viel gesprochen. Aber ich denke wei einer Webanwendung ist ein einfach keepalived loadbalancing die einfachste sache. Ebenso geht es mit einer slave db recht einfach, diese kann man auch einfach mit keepalived splitten, fällt die master auf können dann alle Zugriffe auf den slave gehen. RO Zugriffe können natürlich immer auf den Slave gehen.
Hallo Jörg, Wenn ich die MySQL repliziere, schützt mich das aber nicht vor einem Ausfall des Servers, auf dem neben der MySQL auch der betr. Apache + Skripte läuft, oder ? Ich möchte ja nicht nur die MySQL vor Ausfall schützen, sondern die gesamte Webanwendung. Bernd-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Lentes, Bernd schrieb:
Jörg Stephan schrieb:
fällt die master auf können dann alle Zugriffe auf den slave gehen. RO Zugriffe können natürlich immer auf den Slave gehen.
Wenn ich die MySQL repliziere, schützt mich das aber nicht vor einem Ausfall des Servers, auf dem neben der MySQL auch der betr. Apache + Skripte läuft, oder ? Ich möchte ja nicht nur die MySQL vor Ausfall schützen, sondern die gesamte Webanwendung.
Dafür wird ja auch im Normalfall eine dedizierte DB-Maschine und mehrere (oder je nach Bedarf auch nur ein..) Webserver eingesetzt. Die MySQL und der Apache müssen ja nicht auf dem gleichen Knoten laufen. -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 ------------------------------ http://www.tty1.net/smart-questions_de.html -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Wenn ich die MySQL repliziere, schützt mich das aber nicht vor einem Ausfall des Servers, auf dem neben der MySQL auch der betr. Apache + Skripte läuft, oder ? Ich möchte ja nicht nur die MySQL vor Ausfall schützen, sondern die gesamte Webanwendung.
Je nach grösse der Anwendung würde ich davon abraten Mysql und apache auf einem server zu betreiben. Um eine Webanwendung relativ sicher zu machen bedarf es im Normalfall 5 (+1) Server. 1x Loadbalancer [LB] (evtl +1 mit heartbeat) 2x Webserver 2x Datenbank der LB verteilt zu gleichen teilen jede Webanfrage an die 2 Webserver. Fällt einer komplett aus kann der andere immernoch in Ruhe weiterarbeiten. Dieses Szenario löst keepalived von alleine (dafür wurde es ja geschrieben :-) ) Die Datenabank hat einen slave, also macht vorrangig der Master die ganze arbeit, fällt der Master aus, so kannd er Slave die Ip übernehmen und selber zum Master werden. Das kann die DB auch soweit alleine. Denkbar ist anstatt der vielen rechner auch 2x Xen Server mit ordentlichem Raid. Die Lösung ist natürlich ver- dreifach, zehnfach , tausendfach bar. Und irgendwann zwischen 2fach und 1000fach ist das Ding dann 100% ausfallsicher. Bzw gibt es gewisse Unternehmen die versprechen das nur 1 ping-paket verloren geht grüsse Jörg -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 8. November 2010 15:47 schrieb Lentes, Bernd
Hallo ML,
wir haben eine Webanwendung (Apache, MySQL, SLES 10 und perlskripte), die für unseren internen Arbeitsablauf sehr wichtig ist. Daher möchte ich diese HA machen. Ich kenne mich bisher nicht sehr gut in diesem Bereich aus. In der aktuellen Linux-Magazin habe ich einen Artikel darüber gelesen, und in "The definitive guide to SuSE Linux Enterprise Server" das entsprechende Kapitel. Von daher eine grundsätzliche Frage: - Könnt Ihr mir gute Literatur/Quellen zum Einstieg in dieses Thema empfehlen ?
einige etwas spezifischere Fragen: - Soll ich Heartbeat1, Heartbeat2 oder Pacemaker benutzen ? - Wenn ich eine active/passive-Lösung anvisiere, brauche ich dann ein Cluster-FS ? Ich möchte am Anfang nicht direkt mit zu vielen Unbekannten arbeiten. - Wenn ich DRBD einsetze (was wohl einem RAID1 über's Netz entspricht), werden zwei Partitionen über's Netz synchronisiert, oder ? Spreche ich dann trotzdem von einem shared storage ? - Synchronisiert mir dann der DRBD die Partition (/var), auf der die MySQL läuft ? Wenn dann im failover die zweite MySQL startet, hat die dann wg. DRBD die aktuelle DB? Was ist mit Ordnern wie /etc/apache2 oder /srv/www, die ja sinnvollerseise auch synchronisiert würden ? - Müssen die services (Apache, MySQL) eigentlich clusterfähig sein, oder wird das alles durch das DRBD gemanaget ? - kann ich HA auch mit virtuellen Maschinen machen ?
Hoffe, Ihr könnt mir ein bißchen Licht in's Dunkel bringen.
Also ich habe sowas nicht im Einsatz. Aber Novell selber hat doch sowas: http://www.novell.com/de-de/products/highavailability/ ich würde mir das da anschauen und dann schauen, wo die unterschiede sind und dieses dann nachbauen oder erwerben. Gruß Sebastian PS: Sorry für die PM, diese webmailgeschichte ist nicht schön.
Bernd
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Axel Birndt
-
Bernd Nachtigall
-
Jörg Stephan
-
Lentes, Bernd
-
Ralf Prengel
-
Sebastian Gödecke