Jede Anwendung als eigener LXC Container oder ein LXC Container mit diversen Anwendungen?

matt69

Member
Nov 12, 2023
70
11
8
Hallo,

Frage als Newbie zu LXC Container.

Ich benötige vorerst ioBroker, InfluxDB und evtl. Grafana.
Dafür wollte ich LXC Container nutzen.

Ist es sinnvoller, jede Anwendung als eigenen LXC Container zu installieren?
Oder sollte man zusammenpassende Anwendungen lieber gemeinam in einem LXC Container installieren, um Ressourcen zu sparen?

Blockiert jeder LXC Container Ressourcen (RAM/CPU), die dann anderen LXC Container nicht nutzen können?
Wie sollte man vorgehen?

Hier habe ich Scripte gefunden, die vermutlich für jede Anwendung optimiert sind:
https://tteck.github.io/Proxmox/
 
Hi,
gerade bei LXC Containern ist der Overhead im Vergleich zu Virtuellen Maschienen sehr gering, da keine Hardware emuliert werden muss.
Das einzige was natürlich mehr verbraucht wird ist Speicherplatz, da jeder container seine eigene Umgebung mitbringt. Der ist aber auch verhältnismäßig klein, da handelt es sich nicht mal um nen Gigabyte pro Container.

Ich würde sagen in einem Anwendungsfall wie deinem kommt es eigentlich nur auf persönliche Präferenz an, alle Services von einander zu trennen kann durchaus Vorteile haben, z.B. das man den Resourcenverbrauch einzelner Komponentent einschränken kann, sollte mal eine durchdrehen, eine Sicherheitslücke führt nicht direkt zur kompromitierung aller Komponenten, etc. Andererseits ist es natürlich ein größerer Aufwand alles aktuell zu halten und die Kommunikation zwischen den Services zu sichern.
 
Hallo

Klar hat jeder Container einen gewissen Overhead. Der sollte aber nicht groß sein.

Ich würde eher dazu raten, es auf individuellen Containern zu installieren, damit sie sich weniger beeinflussen.
 
So lange du es nur für dich im Heimnetz betreibst spielt das gar keine Rolle. Willst du es nach BSI IT-Grundschutz aufbauen wäre das wieder was anderes.

Von den Ressourcen her gesehen wird das auch kein wirklicher Overhead sein. Vielmehr sollst du die Administration der Systeme im Hinterkopf behalten. Je mehr Container oder VMs du hast, desto mehr musst du auch z. B. auf eine neue Debian Version upgraden. Bei Backups hat du dann auch doppelte und dreifache "kosten" (mehr CPU Last, mehr Speicherbedarf, etc.). Beim Monitoring hast du dann auch direkt mehrere hundert Services statt wenige. Du musst auch mehr mit Firewall und Routing arbeiten, bei Dienste wie z. B. MySQL musst du den externen Zugriff konfigurieren.

Auf der anderen Seite kannst du aber dann auch, wie bereits erwähnt, die Systeme einzeln einschränken, hast eine höhere Sicherheit und kannst auch Backups anders gestalten und z. B. VM1 auch Offsite sicher während der Rest Onsite liegt.

Ich persönlich würde versuchen eine sinnvolle Trennung zu machen. Eine Website würde ich z. B. mit Webserver und DB auf einer VM installieren. Den Mailserver vielleicht auf einer anderen. Wenn ich dann noch Monitoring haben will oder Metriken das ebenfalls getrennt.
 
  • Like
Reactions: matt69
Das Prinzipdes Containering lautet pro Microservice ein Container. LXC Templates sind da vom Umfang etwas anderes wie zum Beispiel Docker Images. Aber die Philosophie ist ähnlich.

Also zu Deiner Frage. Pro Applikation ein Container.
 
  • Like
Reactions: matt69
Ja, es wird im Heimnetz betrieben und nicht nach BSI IT-Grundschutz.

Der Hinweis zum Aufwand, alles aktuell zu halten, ist nicht von der Hand zu weisen.

Ich habe vor kurzem nach Anleitung ein Raspberry Pi OS von bullseye auf bookworm upgedatet.
Im Endeffekt muss man ja nur die Befehle aus der Anleitung kopieren und ausführen.
Dazwischen die Meldungen auf Fehler prüfen.

Ist das bei einem normalen Linux umständlicher?
Ich dachte immer, bei Linux soll alles so einfach sein.
Wurde dort wohl "vergessen", ein Update einfach zu gestalten?


Frage zum Hinweis von @CoolTux:
"LXC Templates sind da vom Umfang etwas anderes wie zum Beispiel Docker Images."

Es gibt ja die Proxmox VE Helper Scripts (bereits oben verklinkt):
https://tteck.github.io/Proxmox/
Aus meiner Sicht wird damit doch nur ein vorkonfiguriertes System installiert, damit man die Parameter nicht manuell definieren muss.
(RAM, Plattengröße, usw.)

Dann bietet Proxmox Templates inkl. Anwendungen.

Aus welchem Angebot sollte man den LXC Container installieren?
 
Ist das bei einem normalen Linux umständlicher?
Ich dachte immer, bei Linux soll alles so einfach sein.
Wurde dort wohl "vergessen", ein Update einfach zu gestalten?
Ist letztlich auch simple und einfach, aber es ist eben dennoch Aufwand der Zeit beansprucht und Fehleranfällig ist. Insbesondere die Zeit hängt aber auch davon ab ob SSDs oder HDDs für das OS genutzt werden. Es bleibt ja aber nicht nur beim Upgrade des OS, sondern eben auch Backups, Monitoring oder grundlegende Einstellungen die auf jeder VM vorhanden sein sollen oder Pakete (optimalerweise wird sowas via Ansible ausgerollt).

Mit der Zeit steigen womöglich die Anforderungen an die Lösung auch und es kommen fortlaufend weitere Geräte oder VMs hinzu. Auch im Heimnetz muss alles geupdated werden, ob Switch, USV, der Router oder eben ein Server / NAS.

Ich bin im Heimnetz z. B. auf ein Synology NAS gegangen, ich will das mein Zeug läuft und mich möglichst nicht mit Wartungen befassen. Meine Zeit ist knapp und dadurch auch teuer, so dass ich lieber mit Geld als Zeit zahle.
 
  • Like
Reactions: matt69 and CoolTux
Die Proxmox VE Helper Scripts sind meines Wissens nicht von Proxmox sonder von jemanden anderen.
Es gibt in Proxmox genug LXC Templates auf die man aufbauen kann. Einige spezielle haben auch vor konfigurierte Anwendungen.

Das Thema updaten. Wer sich mit LXC Container oder Linux VMs beschäftigt muss sich darüber halt Gedanke machen. Eine Möglichkeit wäre unattended Upgrade zu verwenden. Das gibt es zum installieren unter vielen Distributionen.

Ansonsten Salt, Puppet, Ansible sind weitere Möglichkeiten.
 
Die Proxmox helper Scripts sind nicht schlecht, haben aber auch schon zu einigen Problemen geführt, vor allem bei upgrades.
 
Also ich möchte gerne auch mal mein "Senf" dazu beitragen. Ich habe bei meinem Heimserver je Dienst in der Regel 1 LXC.

Das habe ich damals so angelegt und bin auch glücklich damit, falls mal der ein oder andere Dienst nach Updates, Änderungen oder so Probleme macht, betrifft es nur den Container und nicht alles. Zusätzlich habe ich vom ioBroker 2 Instanzen am laufen, eine für den "Produktiveinsatz" und eine für Tests. Manche neuen Geräte die man mal ergänzt, möchte man ggf. erst einmal vorab testen und rumprobieren ob es Probleme gibt oder so. Der LXC läuft aber auch nur bei Bedarf, so ist es auch mit dem ein oder anderen LXC.

Und zum Testen "neuer" Dienste nutze ich grundsätzlich eigene LXCs, so kann man diesen einfach "wegwerfen" wenn man merkt das ist nichts für einen oder so.
 
  • Like
Reactions: matt69 and CoolTux
Backup ist ein gutes Stichwort.
Ich hatte gehofft, dass man von Proxmox aus alles (Proxmox, LCX, VM) sichern kann.
Ist das möglich?

Mir würde eine Sicherung auf USB-Patte reichen. Oder ggf. über Netzwerk.
 
Ich mache Backup über mein NAS System. Also ich habe das die NAS Freigabe eingebunden in Proxmox und danach kannst dort die Backups einfach anlegen.

Ging eigentlich sehr einfach und läuft problemlos bei mir.

Aber ich meine es werden nur LXCs und VMs bei mir gesichert. Aber Proxmox an sich kann man ja von neu aufsetzen und dann Backups wieder einspielen der LXCs und so. Dann ist an sich alles wie wäre nie was passiert.
 
Last edited:
  • Like
Reactions: matt69
Ich hatte gehofft, dass man von Proxmox aus alles (Proxmox, LCX, VM) sichern kann.
Ist das möglich?
Ja, kannst du alles in einem Job und auf ein Ziel jagen.
Jede VM oder Container wird dabei einzeln gesichert. Eine inkrementelle Sicherung ist aber nur über den PBS möglich, aber mit zstd ist schon eine starke Komprimierung eingebaut. Das ist aber eben der Nachteil mehrerer VMs, dass jede Ihren eigenen Overhead mitbringt, da das OS auch dann mehrfach gesichert werden muss. Hier entstehen also z. B. kosten in Form von Speicherplatz, nicht von zusätzlichen Aufwänden.
 
  • Like
Reactions: matt69
Ja, kannst du alles in einem Job und auf ein Ziel jagen.
Geht das direkt mit Proxmox-Boardmittel?
Kann das auch ein Newbie einrichten?
Kennst Du evtl. eine gute Anleitung?

Jede VM oder Container wird dabei einzeln gesichert. Eine inkrementelle Sicherung ist aber nur über den PBS möglich, aber mit zstd ist schon eine starke Komprimierung eingebaut.
So habe ich es verstanden, korrekt?
Wenn man 3 Stände eines Containers aufheben will, dann braucht man 3x die Containergröße als Plattenplatz.
Welchen realen Faktor hat die zstd-Komprimierung?

Das ist aber eben der Nachteil mehrerer VMs, dass jede Ihren eigenen Overhead mitbringt, da das OS auch dann mehrfach gesichert werden muss.
Ob ich VMs haben werde, weiß ich noch nicht.
Sobald man Linux als Basis hat, kann man ja immer LXC Container nutzen. So habe ich das zumindest verstanden.
 
Geht das direkt mit Proxmox-Boardmittel?
Ja
Kann das auch ein Newbie einrichten?
Jain, das hängt maßgeblich auch vom Ziel ab das genutzt werden soll. Du musst also ein Ziel erstellen können (z. B. ein NFS Share auf einer NAS), dieses musst du als Storage auf dem PVE einbinden können. Den Job selbst anlegen sollte quasi jeder können, da da nichts groß technisch abgefragt wird.
Kennst Du evtl. eine gute Anleitung?
Da habe ich leider nichts. Ich nutze PVE schon über fast 8 Jahre und habe auch einen IT-Background, weshalb manche Dinge für mich einfach von der Hand gehen.
Aber schau doch mal bei YouTube oder google mal nach z. B. "proxmox create backup job", ich denke, dass du da viel kompetente Beiträge findest. Im Zweifel kann man dir hier im Forum immer noch helfen.
Wenn man 3 Stände eines Containers aufheben will, dann braucht man 3x die Containergröße als Plattenplatz.
Jain, durch Komprimierung wirst du nicht die z. B. 100 GB zugewiesenen Speicher brauchen. In erster Linie solltest du mind. den belegten Speicherplatz vorhalten. Wenn du also 100 GB zugewiesen hast, hast aber nur 5 GB belegt braucht dein Backup-Ziel nicht 300 GB sondern mind, 15 GB.
Welchen realen Faktor hat die zstd-Komprimierung?
Von 3.72 bis 6.05. Das Backup selbst ist von der Größe ca. auf dem Niveau von gzip, dafür schafft es zstd es aber in deutlich weniger Zeit zu machen. Teils habe ich schon gesehen, dass nur 1/3 der vorherigen Zeit benötigt wurden. Es hängt aber auch maßgeblich von den zu komprimierenden Daten ab. Manche Dateien sind bereits komprimiert, weshalb eine weitere komprimierung meist auch gar nichts mehr ausmacht.
Sobald man Linux als Basis hat, kann man ja immer LXC Container nutzen. So habe ich das zumindest verstanden.
Das ist richtig, unter VMs würde ich in diesem Falle auch die Container einbeziehen. Du hast bei mehreren VMs und Containern immer Speicherbereiche die mehrfach vorhanden sind. Bei Containern deutlich weniger als bei einer VM. Dadurch hast du immer von gewissen Daten mehrfache Kopien auf dem Storage oder auch im Backup, was insgesamt also die Speicheranforderungen erhöht. Wenn du z. B. auf allen drei Servern die APT Pakete im Cache hast, dann sind das zwar alles die gleichen Informationen aber eben nicht die selben :D

Du wirst dir darüber wahrscheinlich nicht viel Gedanken machen müssen, da es bei deiner Größe nicht relevant ist. Es ist aber dennoch gut die Grundlagen und unterschiede dahinter zu verstehen, so bist du auch künftig in der Lage deine Infrastruktur besser zu skalieren.
 
  • Like
Reactions: matt69
Kurze Info.
Ich habe einen LXC Container für ioBroker installiert.
Dort habe ich auch InfluxDB 2 installiert.
Ein zweiter LXC Container kommt demnächst noch für Kleinigkeiten.

Ich habe mich an den Einwand von @sb-jw erinnert.
Ich möchte auch so wenig wie möglich Aufwand betreiben. Die Dinger sollen laufen.
Es geht bei mir ja nicht um eine riesen Umgebung. Bin ja keine Firma.

Ich will damit erst mal meinen RPi 3B+ ablösen.
Und danach mal sehen, ob und was sonst noch kommt.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!