Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Ideen für eine parallele Installation eines DMS

Diskussion: Ideen für eine parallele Installation eines DMS im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hallo, ich habe hier folgendes Problem: wir haben ein DMS (KnowledgeTree), welches Produktiv eingesetzt wird. Das ist im Grunde ...

Antwort
Alt 05.11.08, 10:09   #1 (permalink)
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard Ideen für eine parallele Installation eines DMS

Anzeige

Hallo,

ich habe hier folgendes Problem:
wir haben ein DMS (KnowledgeTree), welches Produktiv eingesetzt wird.
Das ist im Grunde genommen eine Ansammlung von PHP Scripts, auf Basis von MySQL und Apache.
Das ganze läuft auf einem Linux auf einer IBM z Maschine.

Nunja, jedenfalls geht es nun darum in Zukunft sicher und komfortabel Updates des gleichen Einspielen zu können.
Der Normale Updateprozess des DMS ist im Grunde genommen eine Überschreibung des alten Ordners und die anschließende Ausführung eines Updatescripts, das wirkt mir aber zu unsicher, weil man keine Möglichkeit hat rückgängig zu machen.
Mal von Backups abgesehen, was nicht besonders elegant ist.

Deshalb soll ein Testsystem eingerichtet werden, also eine Parallele Installation der neuen Version, welche zum Testen genommen wird und die Produktiv-eingesetzte Version auch bei Fehlern nicht beeinflussen darf.

Wenn alles fehlerfrei getestet wurde soll einfach "umgeswitcht" werden.
Also ohne Ausfallzeit und ohne dass die User etwas merken.

Die erste und naheliegenste Möglichkeit, die mir einfiel ist einfach ein neuer Ordner für das Testsystem anlegen, eine neue Datenbank dafür anlegen und darin installieren.
Rechte für die Produktivdatenbank natürlich entziehen.
Das Problem was ich hier sehe ist, dass die Testumgebung eventuell den MySQL Server (den sich ja beide teilen) negativ beeinflusst und somit auch das Produktivsystem.

Ist es möglich auf Linux auch 2 MySQL Server parallel zu betreiben?

Eine weitere Möglichkeit wäre eine weitere VM anzulegen, als Klon der Produktivumgebung, dort zu updaten, testen und gegebenenfalls umzuswitchen.
Natürlich zieht eine VM nochmal extra Leistung/Speicher etc. und ist deshalb vllt. übertrieben.
Die Z is ohnehin nicht mehr die schnellste ;-)

Habt ihr noch weitere Vorschläge/Ergänzungen usw?

Würde mich freuen

Danke

boehmi ist offline   Mit Zitat antworten
Alt 05.11.08, 10:16   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Du kannst problemlos mehrere DB-Systeme parallel laufen lassen. Gibt nur einiges zu beachten:

- Du musst selbst kompilieren um jede DB in einen extra Ordner zu installieren.
- Die DBs müssen auf verschiedenen Ports und/oder Netzwerk-Interfaces laufen.
- Die DBs dürfen sich auf keinen Fall ihre Daten- oder Log-Verzeichnisse teilen.

Du könntest z.B. diese Anleitung nutzen um die Datenbanken zu kompilieren. Dabei musst du lediglich die Pfade beim configure-Befehl anpassen.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.11.08, 14:57   #3 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Vielen Dank für die Antwort.

In deinem Link ist im Configure Befehl der Parameter --sysconfdir=/etc enthalten,
kommt es da nicht zu Konflikten zwischen beiden Servern?

Kann man das Verzeichnis einfach auf ein beliebiges ändern?
boehmi ist offline   Mit Zitat antworten
Alt 09.11.08, 15:02   #4 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Deswegen schrieb ich ja, dass du die Pfade anpassen musst. Da kannst du natürlich beliebige wählen.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 09.11.08, 15:18   #5 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von bitmuncher
Deswegen schrieb ich ja, dass du die Pfade anpassen musst. Da kannst du natürlich beliebige wählen.
Jop, das habe ich mir schon gedacht, nur ich weiß ja nicht genau wofür er das sysconfigdir benötigt,
eventuell muss er ja auf andere Sachen in /etc zugreifen
und wenn ich dass dann auf ein beliebiges Verzeichnis ändere läufts nicht.


Und kannst du mir noch verraten, wie ich den client in /usr/bin hinbekomme,
habe die befürchtung dass der Original Client von der Install überschrieben wird?
Also so dass ich beide Clients über die Kommandozeile aufrufen kann, einma mysql und einma mysql_test ?

Hab leider keine Erfahrung damit.


//edit: Einfach die sachen /usr/local/mysql_test/bin umbenennen und dann nach usr/bin linken?
Wobei mysql_test mein geänderter Ordnername ist

Danke
boehmi ist offline   Mit Zitat antworten
Alt 09.11.08, 15:28   #6 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Ich würde dir folgendes empfehlen...

Du installierst 2 MySQL, eine in /usr/local/mysql und die andere in /usr/local/mysql_test. Die Konfigurationen und Datenverzeichnisse legst du auch innerhalb dieser Verzeichnisse ab. Damit hast du eine saubere Trennung der Daten und Software beider DBs. Einen der Clients verlinkst du nach /usr/bin. Wichtig ist ja nur, dass der Client min. die Version des Servers hat. Mit dem Client kannst du also auf beide Server zugreifen. Alternativ rufst du den Client immer mit dem vollen Pfad auf.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 09.11.08, 16:06   #7 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von bitmuncher
Mit dem Client kannst du also auf beide Server zugreifen.
Stimmt.. da hatte ich gerade total den Denkfehler.

Danke für die Hilfe
boehmi ist offline   Mit Zitat antworten
Alt 09.11.08, 16:15   #8 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Naja, ganz so'n Denkfehler ist das nicht. Du musst halt drauf achten nicht über localhost auf die DB zuzugreifen, wenn du einen Client nutzt, der nicht mit der DB kompiliert wurde. Nutzt du localhost, wird der Client- und Server-Abschnitt der my.cnf ausgewertet, die zum Client gehört, um darüber den lokalen Socket usw. zu ermitteln. Ansonsten nutzt er aber eh TCP und dann ist es egal, welchen Client du hast. Vorsicht auch beim Linken von PHP o.ä.. Immer bedenken, dass das PHP gegen die beim Kompilieren angegebene MySQL gelinkt ist.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 09.11.08, 17:08   #9 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Mh ich möchte schon über localhost drauf zugreifen.
Ich dachte jetzt eigentlich dass ich einfach z.b. mit mysql -P andererPort auf den anderen Server zugreife?
Und bei PHP genauso einfach einen anderen Port beim Connecten angebe.
boehmi ist offline   Mit Zitat antworten
Alt 09.11.08, 17:14   #10 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Dann wirst du um 2 PHP-Versionen vermutlich nicht herum kommen, damit der richtige Socket genutzt wird. Sonst versucht PHP ggf. den falschen lokalen Socket zu benutzen. Weiss allerdings nicht wie es bei einer expliziten Port-Angabe reagiert und ob da ggf. TCP für die Verbindung benutzt wird. Müsste man einfach mal evaluieren.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 09.11.08, 17:31   #11 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Ich würde dir die Virtualisierungslösung empfehlen. Hast du schon nen VMware ESX Server laufen oder wie kann ich mir das vorstellen? 2 VMs wird er ja wohl locker packen oder? Gerade mit dem transparent page sharing sollte das bei gleich OSs kein Thema sein.

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 10.11.08, 10:31   #12 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von Serow
Hast du schon nen VMware ESX Server laufen oder wie kann ich mir das vorstellen?
Naja das Linux läuft als Gast in einem z/VM System.
Natürlich kriegt der das gebacken aber trotzdem zieht er ja den anderen Services Leistung weg.

Ich soll halt so viele wie möglich Lösungsansätze finden und detailiert aufzeigen was zu machen wäre,
und mein Teamleiter möchte dann mit mir zusammen abstimmen welche der Lösungen nun durchgesetzt wird.

Weiß denn wer, wie ich PHP zwingen kann TCP als Verbindung zum MySQL zu benutzen?
Eventuelle Performanceverluste sind weniger wichtig.
Ich kann es leider gerade nicht einfach ausprobieren, ob es vllt. wie o.g. klappt.
boehmi ist offline   Mit Zitat antworten
Alt 10.11.08, 19:51   #13 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Du kannst bei einem MySQL Verbindungsaufbau (mysql_connect) als Host sowohl einen Port mit angeben, als auch direkt einen Pfad zum Socket angeben.
Damit solltest du wohl in der Lage sein, zwei MySQL Server zu unterhalten.

Socket: mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
Port (TCP/IP): mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');

http://de.php.net/manual/en/function.mysql-connect.php (Siehe Beispiele)

mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 10.11.08, 19:53   #14 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Wenn man localhost verwendet wird trotzdem der lokale Socket genutzt, der in der my.cnf steht.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 10.11.08, 19:54   #15 (permalink)
Themenstarter
 
Registriert seit: 11.08.05
boehmi Leistung: Facit NTK
boehmi eine Nachricht über ICQ schicken
Likes: 0
Standard

Was ist wenn ich den socket aus der my.cnf lösche?

Verhält es sich bei 127.0.0.1 genauso wie bei localhost?
boehmi ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Ideen für eine parallele Installation eines DMS
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tutorial: Mit PHP-Code die Ausgabe eines PHP-Scripts in eine pdf-Datei exportieren Athelstan (Web-) Design und webbasierte Sprachen 4 26.01.09 01:05
Hat noch irgendwer eine CompuSEC Version 4.24 Installation? NovitA Cryptography & Encryption 4 16.02.08 11:33
Hab eine frage bezüglich der richtigkeit eines programms onix Code Kitchen 1 07.10.07 16:38
Parallele Programmabläufe? m00nk Code Kitchen 3 06.12.06 20:22
Installation eines neuen Betreibssystems! Mano Windows 2 17.09.03 21:32


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61