Heimserver einrichten (Proxmox)

Don_2020

Lt. Commander
Registriert
Aug. 2019
Beiträge
1.964
Habe einen Proxmox-Server am laufen. Möchte diverse Dienste in meinem Heinnetzwerk verfügbar haben.
Eingesetzt werden Win11 (z.Z. noch mein Hauptrechner; ext. PC).
Alle nachfolgend beschriebene Clients sind alle Debian und Debian-Derivate (z.B. MX-Linux). Bitte keine Vorschläge über andere Distro (ich setze Debian ein, weil alles Open Source ist). Andere Distris sind sicher auch gut, aber ich habe nicht die Zeit alles auszuprobiern. Insbesondere möchte ich kein Ubuntu oder irgendein Abkömmlinge haben. Ich mag Ubuntu nicht, da die mir zuviel eingenen Kram machen. Aus der Microsoft-Hölle bin ich entkommen, da möchte ich nicht in neue Abhängigkeiten kommen.

A: Es gibt mehrere Möglichkeiten ein System einzurichten:
  1. Je Dienst in eine eigene VM und individuelle Installation.
  2. wie vor jedoch alles in eine gemeinsame VM.
  3. Je Dienst in einen eigenen Container (LXC)
  4. wie vor jedoch alles in einen gemeinsamen Container.
  5. Docker - je App in einen eigenes System (VM oder LXC)
  6. wie vor jedoch alles in einen gemeinsamen Docker-Container.
B: Einrichten möchte ich folgende Dienste:
  1. Webserver Apache2
  2. MariaDB mit phpmyadmin
  3. paperless-ngx
  4. emby
  5. urbackup oder Bacula oder ...
  6. recoll
  7. weitere Dienste
C: Daneben sollen noch folgende Linux-PCs als VM eingerichtet werden:
  1. Office-PC
  2. Programmier-PC (Python, Lazarus, qt)
Meine Frage bezieht sich auf den Teil A. Ich möchte ein möglichst robustes Gesamtsystem haben.
 
Packe nach Möglichkeit jeden Dienst in einen eigenen LXC Container, welche du dann regelmässig per Backup sichern kannst. Container sind deutlich (!) kleiner und leichter als VMs.
 
  • Gefällt mir
Reaktionen: grünerbert, conf_t und Der Lord
Die Büro- und Programmierrechner würde ich genauso virtualisieren.
Eine VM, die als docker Server dient, würde ich als VM einrichten.
 
  • Gefällt mir
Reaktionen: Krik und Der Lord
Dito, damit fahre ich auch sehr gut. Alle Dienste in meist eigenen LXC-Containern (sind sehr leichtgewichtig gegenüber VMs, nutze ebenfalls ein schlankes Debian als Container Image).
Vorteil bei ein Dienst/Projekt pro LXC: werkelt man an einem Container, laufen alle anderen problemlos weiter. Schmeißt man all seine Projekte in eine VM/LXC, hat man im Worstcase hier einen kompletten Systemausfall. Daher: trenne wo möglich und sinnvoll.

Docker läuft bei mir ebenfalls in einem getrennten LXC-Container, da einige Projekte nur als Docker-Image verfügbar sind oder zumindest deutlich wartungsärmer in dieser Variante.

Zusätzlich wird das sehr tolle Backup von Proxmox genutzt, das alle Container (und ggf. vorhandene VMs) automatisch auf ein NAS wegsichert und so auf Knopfdruck zurückgespielt werden kann.
 
Don_2020 schrieb:
Aus der Microsoft-Hölle bin ich entkommen
Ah ja...
Don_2020 schrieb:
Eingesetzt werden Win11


Je Dienst in eine eigene VM und individuelle Installation.
Ist die aufwendigste aller Methoden. Braucht die meiste Wartung und den meisten Speicher.

wie vor jedoch alles in eine gemeinsame VM.
Kann man machen. Dann kannst du Dir aber eigentlich auch das Proxmox und die VM sparen.

Vorteil: Du musst Dich nur um das Update von einem System kümmern.
Nachteil: Die Installation außerhalb von Docker kann frickelig werden, wenn der Dienst nicht für das verwendete System (z.B. Debian) veröffentlicht wurde. TV-Headend muss ich z.B. selbst compilieren, da es kein up-to-date-Build für ARM64 gibt.

Je Dienst in einen eigenen Container (LXC)
Gibt's während des Docker-Hypes für alles auch einen Nicht-Docker-LXC-Container? Wenn ja, wäre das auf Basis von Proxmox wohl die bevorzugte Variante, wenn du Container verwenden willst.

wie vor jedoch alles in einen gemeinsamen Container.
LXC als Ersatz für eine VM kann man natürlich machen. Was sind die Vorteile gegenüber der VM? Die Deploymentzeit ist in dem Fall wohl egal.

Docker - je App in einen eigenes System (VM oder LXC)
Proxmox unterstützt die Orchestrierung von Docker nicht. Willst du Docker verwenden, musst du erst einen LXC-Container oder eine VM aufsetzen. Empfehlenswert wäre dafür wohl Alpine Linux, da Minimalsystem. Würde ich davon abhängig machen, ob du wirklich auf Docker angewiesen bist.

wie vor jedoch alles in einen gemeinsamen Docker-Container.
Docker-Container haben den Sinn, ein fertiges Produkt herzunehmen. Willst du alles selbst installieren, bist du mit einer VM oder nativen Installation leichter und komfortabler dran. Ich glaub, das geht am Sinn von Docker vorbei.
 
  • Gefällt mir
Reaktionen: derchris
Don_2020 schrieb:
Docker - je App in einen eigenes System (VM oder LXC)
wie vor jedoch alles in einen gemeinsamen Docker-Container.
Soweit ich gelesen habe, soll man Docker besser in einer VM statt einem LXC ausführen. Im Container kann es wohl zu Problemen kommen.

Pummeluff schrieb:
LXC als Ersatz für eine VM kann man natürlich machen. Was sind die Vorteile gegenüber der VM? Die Deploymentzeit ist in dem Fall wohl egal.
Also wenn man schon Proxmox einsetzt, dann sollte man das Vorzeige-Feature davon, LXC, auch einsetzen. Sonst reicht auch ein einfaches Debian mit KVM aus.

LXC sind leichtgewichtiger als VMs. Es wird nicht eine ganze Maschine virtualisiert, sondern stattdessen alles ab Betriebssystem-Level in einen Container gepackt. Alle Container teilen sich hier den Kernel des Hosts. Dadurch wird der Overhead massiv gesenkt.

Ich hatte mal in Proxmox 6-7 VMs laufen. Die CPU lief immer bei ~15% und der RAM-Verbrauch lag bei 12 GB. Ich habe dann alles bis auf eine VM nach LXC migriert und nun lief die CPU bei ~1% und der RAM bei 3-4 GB. LXCs bringen mehr Ressourceneffizienz.
 
  • Gefällt mir
Reaktionen: grünerbert
Zurück
Oben