System wie stark voneinander trennen?

Apr 13, 2021
3
0
21
35
Guten Abend!

Proxmox läuft bei mir als Hypervisor für die "Anfänge meines Homelabs" sozusagen. Ich folge momentan den Tutorials eines YouTubers zur Einrichtung verschiedener Dienste (Nextcloud, Reverse proxy, VPN, PiHole, usw.) auf diesem Server, vorrangig, um daraus zu lernen und nicht, weil ich die Dienste wirklich brauche. Okay, ein paar davon werd ich wohl irgendwann im Produktiveinsatz haben.
Nun habe ich den Videos sehr genau gefolgt und demnach auch jeden Dienst in einem eigenen LXC eingerichtet. Mit zunehmender Höhe der Lernkurve, zunehmender Zahl an LXCs und vor allem abnehmender Zahl an Speicherplatz und Arbeitsspeicher stelle ich mir aber die Frage, ob das wirklich nötig ist.

Klar, Systeme, die mir wichtig sind und die ich verfügbar halten möchte, sind wahrscheinlich in einer isolierten Umgebung besser aufgehoben, zumal ich da ja dann auch weniger dran rumspiele. Aber spricht etwas dagegen, mehrere "Lern- und Spiel-Dienste" in einem Container unterzubringen?
Gerade bei Webanwendungen stelle ich es mir grundsätzlich sinnvoller vor, einen Apache und eine MariaDB laufen zu lassen, statt viele kleine Container mit jeweils ihren eigenen. Wenn ich das korrekt erinnere, ist das ja nicht anders als wenn ich mir irgendwo einen Server mit Plesk miete und dort 15 Seiten einrichte?
 
Servus,

es kommt immer darauf an, wie du deine Netz-Topologie anlegst.
Du kannst einen "Universalserver" bzw. Container kreieren, in dem alles läuft, das du brauchst (Datenbanken, Webserver, Streamingdienst, etc.). Andererseits kannst du natürlich für jeden Service etwas eigenes kreieren.

Ich habe auch mit dem Universalteil angefangen und bin dann dazu übergegangen, dass ich Datenbank in einer gesonderten VM betreibe.
 
Kannst du zum Lernen eigentlich machen wie du magst.
Für Produktivsysteme würde ich die ganzen Dienste aber schon bestmöglich trennen. Je unabhängiger die Dienste sind, desto weniger Probleme bekommst du mit Abhängigkeiten, Fehlern oder Sicherheitslücken.
Oft setzt ja eine bestimmte Webanwendung eine ganz bestimmte DB Version voraus. Dann läuft eine Webanwendung ausschließlich mit einer sehr alten MySQL Version und eine andere braucht zwangsweise eine neuere Version. Da könntest du dann eh keine einzelne MySQL DB für deinen Webserver nutzen.
Oder eine Webanwendung unterstützt nur bis PHP7.4 aber du würdst gerne auf PHP8.0 upgraden, damit du bei Nextcloud die 10fache Performance hast, welche es aber nur gibt, wenn du auf PHP8.0 umstellst. Dann müsstest du entweder beide PHP Versionen parallel installieren und betreuen oder du müsstest so lange mit PHP Update für NExtcloud warten, bis die andere Webanwendung auch mal ein Update bekommt um mit PHP8 laufen zu können.

Und dann natürlich der Sicherheitsaspekt. Hast du jeden Dienst mit eigenem Webserver in einer VM, dann ist alles schön isoliert. Gibt es da eine Sicherheitslücke in Nextcloud und wird dann deine VM mit der Nextcloud von einem Bot gehackt und zum Zombie gemacht, dann hat die Zombie VM wenigstens keinen Zugriff auf deine anderen Dienste.

Und wenn irgendetwas den LAMP Stack abstürzen lässt, dann kannst du auch mal eine einzelne VM runterfahren und bei gelegenheit warten, ohne dass da andere Dienste von betroffen sind.
 
Last edited: