Seite 1 von 2

Ausfallsicher Verteilung des phpBB

Verfasst: 02.07.2003 12:07
von JuMayr
Hallo zusammen
gibt es schon Überlegungen bezgl. einer Ausfallsicheren Verteilung des Boards auf mehrere Server.

Konkret habe ich folgenden Sachverhalt:

phpBB 2.x ist unter WIN NT mit dem IIS 4 und SQL-Server 7.0 installiert.

Um sicherzustellen, dass bei einem Ausfall des Server eine Verfügbarkeit des Board in wenigen Minuten wieder hergestellt werden kann habe ich folgende Überlegung:

1. Ich installiere das Board auch auf einem zweiten Server mit der gleichen Konfiguration (NT, IIS 4 und SQL 7).

2. Dann wird vom Server Nr. 1 eine DB-Replikation auf den Server Nr. 2 eingerichtet.
Somit müsste jeder Beitrag, jede Registrierung usw. von Server Nr. 1 auch auf Server Nr. 2 verfügbar sein.

3. Im Falle eines Ausfalls von Server Nr. 1 wird lediglich der Link im Frontend geändert und auf Server Nr. 2 umgeschaltet.

Ich würde mich freuen, wenn jemand seine Ideen / Anregungen / Tipps / Kritik usw. hier hinterlassen würde.

so long
Jürgen

Verfasst: 02.07.2003 12:11
von Onkel Sven
mmh ich hab mir sowas ähnliches schon mal überlegt. man könnt sogar dann vllt nen dritten unabhängigen server, von dem halbwegs sicher gestellt ist dass er immer läuft (großer hoster oder so) einbinden, der per script überprüft ob der primärserver verfügbar ist und wenn nicht gleich auf den backup verweist

Verfasst: 02.07.2003 12:15
von JuMayr
Ich habe auch schon mal darüber nachgedacht das Frontend zu verteilen und im Hintergrund einen DB-Cluster hinzustellen. Das ganze schiest aber über das Ziel hinaus.
Es geht eigentlich darum innerhalb von kurzer Zeit ein ausgefallenes Forum wieder ans Laufen zu bringen.
Geld für einen dritten Server ist leider nicht da:-(

Verfasst: 02.07.2003 12:16
von Acid
Da ´s ja scheinbar dein eigener Server is, könntest du mit cron jobs täglich Backups von ForumA machen und diese täglich auf ForumB einspielen, so das dieses immer up-to-date wäre. Das wäre eigentlich die einzige Möglichkeit, die mir einfällt..
Dann schreibst du noch ´ne Abfrage, das wenn ForumA nicht connecten kann auf ForumB umgeleitet wird.

Verfasst: 02.07.2003 12:19
von JuMayr
Stimmt.. sind zwei eigene Server.
Allerdings wäre mir bei einer täglichen (bzw. nächtlichen) Übertragung das Risiko der verlorenen Daten zu groß.

Wir erwarten ca. 5000 Posts pro Tag.

Aber im Prinzip wird durch die SQL-Server-Replikation genau das erreicht.
Jeder Änderung an DB 1 wird automatisch und sofort auf DB 2 gespiegelt.

Verfasst: 02.07.2003 12:40
von Onkel Sven
hier is auch schon ne diskussion zu dem thema

Verfasst: 02.07.2003 12:49
von JuMayr
super.. vielen Dank.
Der Link klingt schonmal vielversprechend.
Den werde ich jetzt mal in aller Ruhe durcharbeiten.

Bin natürlich auch weiterhin für alle Ideen offen.

so long
Jürgen

Verfasst: 02.07.2003 12:54
von Onkel Sven
sag bescheid, wenn du was brauchbares gefunden hast :grin: dann muss ich mir die arbeit net machen *kicher* wenn du was selba schreibst, meld dich wenn ich helfen kann

Verfasst: 02.07.2003 13:31
von JuMayr
werde ich machen...

Im Moment glaube ich, dass ich tatsächlich die SQL-Serverreplikation verwenden werde.

Jetzt muss ich nur noch einen Weg finden die Loginmaske durch eine NTLM-Authentifizierung zu ersetzen und dann ist heile Welt:-)

Fehlermeldung bei Beitrag in replizierter Tabelle

Verfasst: 29.07.2003 09:56
von JuMayr
Hallo zusammen.

Die Geschichte mit der Replikation klappt soweit sehr gut.
Ich habe auf den beiden Web-Servern jeweils eine Datenbank angelegt.
Die eigentliche Produktivdatenbank heißt forum_prod und die Backupdatenbank auf dem zweiten Server heißt forum_backup.

Die Daten werden auch in windeseile repliziert.

Wenn ich nun aber in der config.php von einer ODBC-Schnittstelle auf die andere umschalte (also von prod auf backup) dann kann ich zwar alle Beiträge lesen und betrachten, aber ich kann keine neuen Einträge in die Datenbank reinschreiben.

Folgende Fehlermeldungen kommen:

Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'topic_replies', table 'forum_backup.dbo.phpbb_topics'; column does not allow nulls. INSERT fails., SQL state 23000 in SQLExecDirect in c:\inetpub\wwwroot\phpBB2\db\mssql-odbc.php on line 154

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\phpBB2\db\mssql-odbc.php:154) in c:\inetpub\wwwroot\phpBB2\includes\page_header.php on line 464

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\phpBB2\db\mssql-odbc.php:154) in c:\inetpub\wwwroot\phpBB2\includes\page_header.php on line 466

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\phpBB2\db\mssql-odbc.php:154) in c:\inetpub\wwwroot\phpBB2\includes\page_header.php on line 467


Hat jemand eine Idee?

so long
Jürgen