# ISPConfig 3 Multiserver Cluster



## Knoepfchen (23. Aug. 2012)

Hallo Leute,

ich habe eine Frage ob folgendes in irgend einer Form mit ISPConfig möglich ist:

Da ich ein fauler Mensch bin möchte ich gerne ISPConfig zur Verwaltung einer Infrastruktur verwenden. Dabei soll das ganze wie folgt aussehen:

Es gibt mehrere KVM Hosts auf denen entsprechend virtuelle Maschinen laufen. Für jeden Dienst heißt Webserver, Mailserver, DNS-Server und Datenbankserver gibt es auf dem Host eine virtuelle Maschine. Jede virtuelle Maschine hat eine öffentliche IP und eine IP aus einem privaten Netzwerk. Nun ließe sich ja dort ISPConfig in einem Multiserver Setup einrichten. Die Kommunikation der SQL Server läuft dann halt im internen Netzwerk.

Nun möchte ich das ganze aber auch als Cluster betreiben. Heißt es gibt mehrere der KVM Hosts mit der gleichen VM "Landschaft" und diese werden alle komplett verwaltet. Heißt auf KVM Host 1 liegt z.B. die Webserver VM 1, deren spiegelt ist dann die Webserver VM 2 auf dem KVM Host 2 usw.

Wäre sowas prinzipiell überhaupt möglich und wie könnte ich die Datenreplikationen also der Metadaten aus der Datenbank regeln. Einfach SQL Zugänge konfigurieren und TLS/SSL für die Serverkommunikation von Node zu Node einrichten oder sollte man das anders machen?

Die Datenreplikation für die Websites und Mails wäre ja mit Unison o.ä. möglich auch wenn mir GlusterFS lieber wäre, jedoch weiß ich da garnicht ob das Verschlüsselung o.ä. beherrscht.

Ich bin auf jeden Fall für jeden Tipp, Hinweis oder Idee dankbar und bedanke mich schonmal im Vorraus für eure Mühe.

mfg


----------



## Till (23. Aug. 2012)

Schau Dir mal das ispconfig mirror Tutorial an, das beschreibt so ein setup. Glusterfs bricht total in der Performance ein wenn in einem share viele kleine Dateien liegen wie bei einem webserver üblich, wir mussten mehrere Kunden Cluster auf unison migrieren da glusterfs nicht skaliert hat.


----------



## Knoepfchen (23. Aug. 2012)

Hallo Till,

erstmal danke für deine Antwort. Das Tutorial kenne ich aber dort wird doch von zwei Servern ausgegangen auf denen einfach alle Services laufen. Ich will aber die Services noch auf VMs verteilen. Heißt irgendwie müsste das Multiserver Setup mit dem Cluster Setup kombiniert werden.

mfg


----------



## Till (23. Aug. 2012)

Das macht aber keinen Unterschied denn das Setup ist das selbe. Du kannst von einem ISPConfig Controlpanel hunderte Server aus verwalten, es spielt keine Rolle ob dies virtuelle oder physische Server sind und Du kannst sie als Einzelserver oder als Cluster Gruppen verwalten und beides kombinieren.


----------



## Knoepfchen (23. Aug. 2012)

Huhu,

genau das wollt ich wissen. Dann muss ich ja einfach nur die beiden Wege kombinieren und entsprechend einstellen, welcher Server wen spiegelt.

Die einzige Frage die noch offen wäre ist dann wie ich die Synchronisierung der Datenbank sicher über das Netzwerk hinbekommen könnte.

mfg


----------



## Knoepfchen (28. Aug. 2012)

Huhu,

ich hab bisher noch keine Lösung für das SQL Problem. Das Ding ist halt das die jeweiligen Spiegel vom Web-, Mail-, DNS-Server usw. in verschiedenen Netzwerken stehen also die Datenbank über das Internet auf alle Knoten propagiert werden muss. Ich würds ungerne mit nem VPN lösen denn wenn das zusammen klappt, geht doch vermutlich die Datenbank kaputt. Und soweit ich das gesehen habe unterstützt ISPconfig keine SSL basierte Kommunikation mit dem Datenbankserver oder liege ich da falsch?

mfg


----------



## Till (28. Aug. 2012)

> Und soweit ich das gesehen habe unterstützt ISPconfig keine SSL basierte Kommunikation mit dem Datenbankserver oder liege ich da falsch?


Da liegst Du fasch. Du kannst auch mysql connections über ssl in ispconfig verwenden, die falsg für die ssl Verbindung können in der config.inc.php Datei gesetzt werden.


----------



## Knoepfchen (28. Aug. 2012)

Huhu,

also kann ich einfach über die my.cnf SSL konfigurieren und auf allen Knoten in der config.inc.php die entsprechenden Anpassungen vornehmen und dann läuft alles verschlüsselt ab was zwischen den SQL Servern passiert?

mfg


----------



## Till (29. Aug. 2012)

ja, so wie bei mysql üblich.


----------



## Knoepfchen (10. Sep. 2012)

Huhu,

ich habe jetzt mit der Installation meiner Umgebung begonnen doch ergeben sich dabei wieder ein paar Fragen.

Ich habe jetzt die erste virtuelle Maschine installiert, das soll mein Master werden daher heißt se master0. Kann ich dort nun ein LAMP installieren, MySQL SSL aktivieren und dann dort ISPConfig installieren? Dann sollen nach und nach web0, mailer0, dns0 usw. dazu springen und später soll es Mirrors geben web1, mailer1 usw.. Liege ich da richtig das ich master0 einfach installieren kann, dort alle anderen sei es web0, web, mailer0, mailer1 usw. "anmelden" kann und zum Schluss muss ich im ISPConfig nur noch sagen web0 ist Mirror von web1 usw. und muss nur noch für die Web und Mail Systeme Unison für die Datensynchronisation einrichten?

Und brauch ich einen Mirror für den Master oder gibts wirklich nur einen Master? Und für den Fall das der mal abschmiert (warum auch immer) funktionieren dann die Web, Mail und DNS Server immer noch?

mfg


----------



## Till (10. Sep. 2012)

> Kann ich dort nun ein LAMP installieren, MySQL SSL aktivieren und dann dort ISPConfig installieren?


Ja.



> Und brauch ich einen Mirror für den Master oder gibts wirklich nur einen Master?


Du brauchst keinen Mirror für den Master.



> Und für den Fall das der mal abschmiert (warum auch immer) funktionieren dann die Web, Mail und DNS Server immer noch?


Ja,sonst würde das setup ja wenig Sinn machen


----------



## Knoepfchen (10. Sep. 2012)

Ok, dann hab ich nur noch Fragen wegen MySQL und SSL. Ich kann ja nun ein Zertifikat usw. für den Master erstellen und damit SSL aktivieren. Wie sieht das dann für den Client aus? Sollte ich für jeden Client einen eigenen Schlüssel erstellen oder sollte ich einfach einen machen und den sicher auf alle Knoten transferieren? So würde ich das hier How To Set Up MySQL Database Replication With SSL Encryption On Ubuntu 9.10 | HowtoForge - Linux Howtos and Tutorials als Vorlage nehmen und einfach den Replikationsteil weg lassen.

mfg


----------



## Till (10. Sep. 2012)

Ich würde das setup erstmal ganz normal ohne ssl installieren und dann stück für Stück ssl auf den mysql Verbindungen aktivieren. Ob Du dafür ein oder mehrere Zertifikate einsetzt ist meines Erachtens nicht wichtig, ich würde es alles mit einem Zertifikat machen.


----------



## Knoepfchen (10. Sep. 2012)

Ok, an sich macht es ja auch keinen Unterschied, verschiedene Zertifikate wären halt sicherer. Aber mir ist noch eine Kleinigkeit eingefallen: Kann ich die config.inc.php vor der Installation schon editieren oder muss ich die Installation immer unverschlüsselt machen?


----------



## Till (10. Sep. 2012)

Die Installation muss unverschlüsselt erfolgen da die config.inc.php erst nach der Installation verwendet wird.


----------



## Knoepfchen (10. Sep. 2012)

Ok, dann mach ich mich mal ans Werk.


----------



## Knoepfchen (10. Sep. 2012)

So, den Master hab ich nun erstmal ohne SSL am laufen. Wenn ich jetzt den Zugang zum ISPConfig Panel auf das interne Netzwerk der KVMs beschränken will kann ich einfach alle vHosts bearbeiten und sie auf die interne IP 192.168.1.2 fürs Binding einstellen oder muss ich da was beachten?

Und zum anderen zu welchen Zielen kommuniziert das ISPConfig Panel (für News etc.), ich will die VMs so weit wie möglich mit IPTables usw. zu ziehen daher wäre es gut das zu wissen da ich den Zugriff per HTTP/HTTPs auf bestimmte Ziele beschränken will.

mfg


----------



## Till (10. Sep. 2012)

> So, den Master hab ich nun erstmal ohne SSL am laufen. Wenn ich jetzt den Zugang zum ISPConfig Panel auf das interne Netzwerk der KVMs beschränken will kann ich einfach alle vHosts bearbeiten und sie auf die interne IP 192.168.1.2 fürs Binding einstellen oder muss ich da was beachten?


Welche vhosts meinst Du denn? Der Controlpanel Server ist ja der einzige der einen ispconfig vhost hat, den kannst Du auf die interne IP ändern.



> Und zum anderen zu welchen Zielen kommuniziert das ISPConfig Panel (für News etc.)


Standardmäßig läd es die news von ispconfig.org, Du kannst aber in ispconfig auch andere Quellen einstellen. Ansinsten fragt er nur noch die Versionsnummer der aktuellen ISPConfig Version auf ispconfig.org ab, damit er Dir anzeigen kannw enn ein Update verfügbar ist.


----------



## Knoepfchen (10. Sep. 2012)

Mich hatte insbesondere der 000-apps.vhost verunsichert der offenbar auf Port 8081 läuft. So war ich halt davon ausgegangen (kann auch sein das ich dumm wie nen Brötchen bin) das die Kommunikation wirklich nur über SQL abläuft. Wusste halt nicht genau was genau da noch über den Port 8081 erreichbar ist, oder dort vor sich geht. Habe den noch nie verwendet in nem ISPConfig Setup. Deswegen war unsicher.

mfg


----------



## Till (10. Sep. 2012)

> So war ich halt davon ausgegangen (kann auch sein das ich dumm wie nen Brötchen bin) das die Kommunikation wirklich nur über SQL abläuft.


Das ist auch richtig. Der apps vhost dint nur dazu um Zusatzpakete wie phpmyadmin oder roundcube zu installaieren, per default ist er erstmal leer.


----------



## Knoepfchen (10. Sep. 2012)

Ah ok, phpMyAdmin habe ich im Master auch installiert, das wollte ich nicht auf den anderen machen, irgendwie müsste ich ja mit PHPMyAdmin verschiedene/mehrere SQL Server ansteuern können. Den Roundcube wollte ich auf der Web VM installieren und der soll sich dann per IMAP einfach mit der Mail VM in Verbindung setzen. Das alles ist ja unabhängig vom Master also müsste ich ja den apps.vhost ignorieren können.

mfg


----------



## Knoepfchen (10. Sep. 2012)

Habe nun web0 also die VM für den Webserver mit LAMP und PureFTPd installiert. Jetzt gibt es aber ein Problem bei den Quotas, es gibt immer Fehler beim Einhängen von /, ich verstehe einfach nicht warum, irgendwie entzieht sich die Funktionsweise von Quota meiner Intelligenz.

Folgende Quotaoptionen in der fstab funktionieren garnicht: 
usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0

Zum einen steht für mich die Frage im Raum, was jqfmt=vfsv0 überhaupt macht.

Dann steht noch die Frage im Raum warum usrjquota und grpjquota?

Bei mir scheint das Einhängen nur zu klappen wenn man folgendes setzt: ...,usrquota,grpqouta

Das Einhängen bricht immer mit Status 32 ab, die Partition wird dann einfach schreibgeschützt wieder eingehängt (was in der fstab so konfiguriert ist).


mfg


----------



## Till (11. Sep. 2012)

Die Optionen usrjquota und grpjquota sowie jqfmt =vfsv0 sind optionen für journaled quota welches heutzutage meistens verwendet wird. Dann unterstützt Dein Kernel bzw. detisystemtreier kein journaled quota. Ist aber kein problem, da er ja das normale quota zu unterstützen scheint


----------



## Knoepfchen (11. Sep. 2012)

Gibt es eine Möglichkeit einen Node nochmal alle Services rekonfigurieren zu lassen? Habe vergessen im Master webalizer, awstats und vlogger vor der ISPConfig Installation zu installieren. Das müsste doch irgendwie gehen, da bildet doch nur Jailkit die Ausnahme aber das hab ich im Master garnicht installiert da er eh nur vom lokalen Netz aus erreichbar ist, bis auf den SSH Server und den SQL Server und dort auch keine User eingesperrt werden müssen.

mfg


----------



## Till (11. Sep. 2012)

```
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php
```


----------



## Knoepfchen (11. Sep. 2012)

Ah, mittlerweile gehts über das Updatescript. Früher ging das wenn ich mich erinnere nicht, da es abbrach wenns kein Update gab.

mfg


----------



## Till (11. Sep. 2012)

Das ging schon immer so. Du verwechselst die update scripte.


----------



## Knoepfchen (12. Sep. 2012)

Das kann auch sein.

Noch eine kleine Sache: Es gibt ja die Option in einer Mailbox direkt den Spam in einen eigenen Ordner zu packen. Heißt der immer Junk oder kann ich dem einen eigenen Namen geben. Sonst müsste ich halt manuell ne Sieve Regel eintragen.


----------



## Till (13. Sep. 2012)

Der Ordner heißt bei ISPConfig immer Junk.


----------



## Knoepfchen (15. Sep. 2012)

Ich hab die Spamsortierungsregel einfach manuell eingetragen, dann kann man den Ordner ja beliebig nennen. Jetzt muss ich nur sehen das die ganzen anderen Sortierungsregeln noch funktionieren, hab viele False-Positiv und daher landen viele Mails in den falschen Ordnern.


----------

