Distro Empfehlung für Home Server (ZFS, Nextcloud)

[AlphaRC]Eraser

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.146
Moin!

Ich habe aktuell einen Home Server mit zfs, Nextcloud auf Ubuntu 20.xx laufen. Allerdings hab ich mir mein PHP kaputt gefrickelt und muss die Kiste alle paar Tage neu starten… Anyway.

Da ich die Kiste also eh mal neu aufsetzen wollte, stellt sich die Frage ob ich mit Ubuntu überhaupt noch auf der fuer mich besten distro unterwegs bin, oder ob es mittlerweile etwas passenderes gibt.

Was brauche ich?
  • möglichst performante / robuste ZFS Implementierung (“RAID 5”)
  • Anfänger/Anwender freundlich (nutze zB zur administration gerne nen Remote Desktop (VNC)
  • CUPS, webserver, Samba & medienserver (plex) im lan
Also eigentlich nix außergewöhnliches. Fokus liegt auf ZFS, hohe Zuverlässigkeit und easy to use. Soll einfach stabil als headless Server laufen.

Bisher bin ich eigtl. Ganz zufrieden mit Ubuntu. Sollte ich jetzt einfach die neueste Ubuntu Version neu aufsetzen oder empfehlt ihr mir etwas anderes?

Celeron G3900 Dual-Core
[*]2x4GB Ram
[*]MSI H110I PRO (Mini-ITX)
[*]ADATA XPG SX7000 128GB SSD (OS)
[*]4x 3TB Sata HDD
 
Zuletzt bearbeitet:
das ist extrem subjektiv, aber ich mag einfach diesen Snap Kram nicht!
vielleicht/wahrscheinlich, weil ich den Sinn darin nicht verstehe.
Ubuntu hat aus meiner Sicht den Vorteil, dass es halt (gefühlt) am weitesten verbreitet ist und nahezu alle "google first hits" zu irgendwelchen halbgaren YouTube Videos verweisen...

ich persönlich fahre meine "Spielzeuge" inzwischen meist als OpenSuSE Leap VMs auf einem ProxMox "Pseudo Cluster" und kann die so relativ schnell und einfach von einer auf die andere physikalische Maschine schieben, ohne einen Service Ausfall zu produzieren, wenn mal was geändert werden soll.

und ja, ich weiß, dass ProxMox auch auf Ubuntu/Debian basiert, aber davon bekomme ich ja nicht viel mit ;)
 
  • Gefällt mir
Reaktionen: santander
Bei zfs ist Raid 10 leichter erweiterbar und evtl. schneller als Raid 5 (z.B. beim Schreiben)
Bei kleinen Servern kann BTRFS "Raid 1" noch eine Idee sein.
Als Distro würde ich Debian Ubuntu vorziehen.
Edit: Oder vielleicht TrueNas.
 
Zuletzt bearbeitet:
Ich verwende Ubuntu Server und habe Snap entfernt. Für mich als Privatperson funktioniert alles und war leicht einzurichten...
 
[AlphaRC]Eraser schrieb:
möglichst performante / robuste ZFS Implementierung (“RAID 5”)
Dann ist TrueNAS eigentlich das gesuchte - Configuration per Web.
Nextcloud in TrueNAS z.B. so

Ansonsten wäre Proxmox als Hypervisor eine gute Wahl - der kümmert sich um ZFS u. ist per Web administrierbar. Da drauf lässt du entsprechend LXC-Container laufen für die gewünschten Dienste.
Proxmox hat eine VNC-Console mit an Board, wenn es sein muss.

Auf dem Server sollte man besser keinen Desktop installieren - frisst nur Ressourcen u. kann unnötig Probleme verursachen.
 
@TechX Was bringt eine Empfehlung die nur einen Teil der Anforderungen abdeckt bzw. du nur simple 1-Click-Lösungen für einen Teil der Anforderungen nennst?
Ja, ich hab auch zuerst an TrueNAS gedacht aber für Cups, eigenem Webserver usw. müsste sich der TE mit Jails beschäftigen oder bhyve nehmen und so gut und stabil TrueNAS bzw. FreeBSD und ZFS auch sind, bhyve ist an vielen Stellen einfach na sagen wir mal anstregend.

@TE Proxmox und einzelne Services in LXCs oder VMs packen oder bei Ubuntu bleiben und einzelne Services in LXC, VMs oder Container stopfen und trennen. Ich würd ja nicht unbedingt die neueste Ubuntu nehmen sondern die neueste LTS von Ubuntu wenn es Ubuntu bleiben soll.
 
Auch wenn ich selbst Ubuntu nicht mag, sehe ich nicht wirklich einen Grund warum du wechseln solltest.

Gibt es denn aktuell etwas was dich daran stört?

Du hast auch geschrieben, dass du gerne den Server headless betreiben möchtest, warum brauchst du dann VNC? Einen Linux Server installiert man in der Regel ohne Desktopumgebung und bedient ihn dann per SSH.

Die Performance von ZFS hängt ja maßgeblich von der Hardware und der Config ab und weniger vom OS. Da Ubuntu ZFS schon von Haus aus mitbringen, hast du es hier am einfachsten - auch beim Updaten.
 
snaxilian schrieb:
Ja, ich hab auch zuerst an TrueNAS gedacht aber für Cups, eigenem Webserver usw. müsste sich der TE mit Jails beschäftigen oder bhyve nehmen und so gut und stabil TrueNAS bzw. FreeBSD und ZFS auch sind, bhyve ist an vielen Stellen einfach na sagen wir mal anstregend.
Wobei bhyve hier ja gar nicht gefordert ist.
Bleibt also Jails und selbst das ist hier nicht zwingend notwendig.

Allerdings würde ich auch dazu tendieren bei ubuntu zu bleiben, wenn man schon ubuntu kennt.
 
Ich würde auch zur Virtualisierung tendieren, also Proxmox und die Dienste einzeln in LXCs und/oder VMs rein.

Da kann man dann viel besser Snapshots setzen und dann einen Schritt zurück machen, wenn's mal schief gegangen ist...


Thema ZFS und Ubuntu 20.04 LTS: Bei LTT im aktuellsten Server-Update Video von heute wurde erwähnt, dass ZFS 2.0 noch nicht in Ubuntu drin ist, in TrueNAS dagegen schon. Falls man welche der neuen Features haben will, sollte man dann auch darauf achten...
 
Rickmer schrieb:
Da kann man dann viel besser Snapshots setzen und dann einen Schritt zurück machen, wenn's mal schief gegangen ist...
Dafür braucht man nicht zwingend Virtualisierung.

Rickmer schrieb:
Thema ZFS und Ubuntu 20.04 LTS: Bei LTT im aktuellsten Server-Update Video von heute wurde erwähnt, dass ZFS 2.0 noch nicht in Ubuntu drin ist, in TrueNAS dagegen schon. Falls man welche der neuen Features haben will, sollte man dann auch darauf achten...
Wobei jetzt da nicht unbedingt kriegsentscheidende Features hinzukommen. Das einzige, was wirklich wichtig wäre ist, wenn man auf den Pool zwischen von unterschiedlichen Betriebssystemen zugreifen will.

Außerdem davon kommt ja in einem halben Jahr bereits das nächste ubuntu/LTS und da dürfte dann auch OpenZFS 2.0 mit an Bord sein.
 
andy_m4 schrieb:
Bleibt also Jails und selbst das ist hier nicht zwingend notwendig.
Truenas sollte man als Appliance sehen, nicht als Freebsd mit vorinstalliertem Webserver/Middleware. Ja man kann Cups und weitere Programme installieren und es zusammen frickeln und beim überübernächsten Update oder Upgrade auf die nächste Version fliegt es einem dann um die Ohren oder man muss wieder nachjustieren weil sich an der Appliance irgendwas geändert hat.
Es hat sich ja nicht grundlos etabliert, einzelne Dienste/Programme getrennt (früher eigene Server, dann eigene VMs, jetzt Docker/Container).
Natürlich ist das nicht zwingend notwendig. Sehr vieles im Leben ist nicht zwingend notwendig aber warum soll man es sich unnötig schwerer machen als nötig?
andy_m4 schrieb:
Dafür braucht man nicht zwingend Virtualisierung.
Natürlich ist das nicht zwingend notwendig. Sehr vieles im Leben ist nicht zwingend notwendig aber warum soll man es sich unnötig schwerer machen als nötig?
Wenn man jeden eigenen Dienst, den man betreiben will separat hat, sei es eigene VM oder Container oder Jails oder LXC dann kann man so deutlich einfacher diese einzeln schnell und unkompliziert sichern oder Snapshots erstellen, Änderungen testen oder aktualisieren.
Wenn du das alles nicht für notwendig hälst, verrate uns doch bitte auch gleich, welche alternativen Wege du kennst die einen ähnlichen Komfort und Funktionsumfang bieten.
 
snaxilian schrieb:
Truenas sollte man als Appliance sehen
Da hast Du absolut Recht.

snaxilian schrieb:
Es hat sich ja nicht grundlos etabliert, einzelne Dienste/Programme getrennt (früher eigene Server, dann eigene VMs, jetzt Docker/Container).
Die Dienste sind doch auch so getrennt ohne Virtualisierung da sie üblicherweise mit einem eigenen User-Account laufen. Klar kann man dann ontop mit Jails und Co eine noch bessere Trennung/Organisation erreichen. Aber notwendig ist dies nicht. Es bringt nämlich auch Overhead mitsich. Das spricht nicht grundsätzlich dagegen. Aber man sollte sich halt dessen bewusst sein und auch der Tatsache, das dann im Einzelfall auch eine andere Lösung vielleicht sogar besser ist.
Ich verstehe nicht, warum dieser Virtualisierungskram immer so als alternativlos hingestellt wird.
Wir hatten auch früher mehrere Services auf einem Server. Und das ganz ohne Virtualisierung. Hat auch funktioniert so von wegen da ist dann zwangsläufig eigene Hardware nötig und so.

snaxilian schrieb:
Wenn man jeden eigenen Dienst, den man betreiben will separat hat, sei es eigene VM oder Container oder Jails oder LXC dann kann man so deutlich einfacher diese einzeln schnell und unkompliziert sichern oder Snapshots erstellen, Änderungen testen oder aktualisieren.
Für Snapshots brauche ich keine Virtualisierung. Das wird unter TrueNAS respektive FreeBSD ja auch gar nicht durch irgendeine Virtualisierungslösung realisiert, sondern durch ZFS als Solches.
Klar kann es dennoch Sinn machen einzelne Services zu virtualisieren (und wird ja auch häufig genug aus guten Gründen getan, was Du ja treffend erklärt hast). Das ändert aber nix daran, das das Eine mit dem Anderen erst mal nichts zu tun hat.
 
Hammer, DANKE! fuer das viele feedback was ich versuche halbwegs strukturiert zu beantworten :-)

RAID 10: Wenn ich es richtig verstehe, benoetige ich 2 spare drives. bei einem 4er setup waere mir das zu viel overhead. Das plus an Schreibperformance ist es mir nicht wert (Leseperformance ist wichtiger).

Server / SSH: In der Tat, koennte ich mir auch vorstellen mal ne server Variante auszuprobieren und alles per SSH zu machen oder ggf. Cockpit auszuprobieren. Allerdings habe ich momentan echt nicht viel Zeit und daher tendiere ich schon zu einem vollwertigen Desktop/VNC. Dass dies extra Ressourcen braucht ist klar, aber ich denke der impact ist nicht riesig sofern keine VNC session laeuft?!

UBUNTU: Im Prinzip gibt es nichts was mich sehr stoert. Daher werde ich dann wohl doch einfach die neueste Ubuntu drauf hauen und gut. Ein TrueNAS hatte ich mir auch schonmal ueberlegt, bin dann aber aufgrund der hier auch genannten Punkte davon abgekommen. Es soll einfach mehr als nur ein NAS laufen und ich moechte mich nicht unnoetig einschraenken.

Virtualisierung / Proxmox / Docker: Das ist Gebiet auf dem ich kaum praktische Erfahrung habe, aber echt interessant finde. Ich hatte mich bereits schonmal in DOCKER etwas eingelesen und finde das Konzept sehr ansprechend. Auch weil man damit die Moeglichkeit haette einen PI-hole dienst auf der selben Kiste wie ein Webserver laufen lassen zu koennen.
Dann koennte man ja auch alle webserver appliances (LAMP, Nextcloud) in einem separaten Container laufen lassen oder?

Gibt es zu der Kombo Nextcloud & pi-hole jeweils im container (proxmox / docker) step-by-step guides? Muesste eh mal schauen ob ich dann wirklich so easy meine bisherige Nextcloud instanz umziehen kann und ob der Virtualisierungsaufwand nicht doch zu gross ist?!
 
andy_m4 schrieb:
Die Dienste sind doch auch so getrennt ohne Virtualisierung da sie üblicherweise mit einem eigenen User-Account laufen.
Bezieht sich auf die Berechtigungen aber wenn diese irgendwelche Libraries etc. brauchen greifen diese auf die vorhandenen im System zurück. Wird dann anstrengend wenn unterschiedliche Dienste unterschiedliche Versionen als Abhängigkeiten verlangen. Bei Python muss man dann beispielsweise mit virtual env herum frickeln. Da packe ich lieber die Dinge getrennt voneinander und wenn das eine mit verrottenden Uraltabhängigkeiten laufen wollen und das nächste nur mit bleeding edge können dies beide Dienste haben.
andy_m4 schrieb:
Snapshots [...] ZFS
Dann brauche ich aber für jedes einzelne Programm/Dienst den ich betreiben will eigene Datasets/ZVOLs wenn ich diese unabhängig/granular voneinander zurück rollen will ansonsten heißt es ganz oder gar nicht.
Wenn ich beispielsweise auf einem einzelnen Server völlig ohne Virtualisierung (oder vergleichbares) z.B. einen Mailserver und eine Webanwendung mit DB im Hintergrund laufen habe und ich will nur am Mailserver etwas ändern/updaten ist es angenehmer wenn ich nur diesen snapshoten kann anstatt das gesamte System und andere Anwendungen. Im Fehlerfall kann ich so einfacher ein Rollback nur der betroffenen Anwendung machen und muss nicht auch andere Anwendungen und ggf. sich seitdem dort geänderte Daten zurück rollen.
andy_m4 schrieb:
Wir hatten auch früher mehrere Services auf einem Server.
Ja, früher. Die Welt hat sich seitdem weiter entwickelt und gerade Software ist komplexer und größer geworden. Ja, das bringt dafür Overhead an anderen Stellen mit. Anstatt nur bei einem Server ein Update durchführen zu müssen, muss man dies dann bei fünf Stück machen. Im trivialsten Fall nimmt man dafür SSH Multiplexing oder Tools wie Ansible/Puppet oder vergleichbares.

[AlphaRC]Eraser schrieb:
Nein, verstehst du nicht richtig. Bei einem Raid 10 brauchst du (mindestens) vier Laufwerke, mit spare drives hat das erst einmal nix zu tun. Am Ende hast du mehr IOPS, höhere Lese- und höhere Schreibgeschwindigkeit als mit einzelnen Laufwerken. Bevor es SSDs gab war das die einzige Möglichkeit mehr Storage Performance zu erreichen.
[AlphaRC]Eraser schrieb:
Server / SSH [...] VNC
Vor allem braucht das mehr Speicherplatz auf dem Server, hinzu kommt, dass das Protokoll VNC erst einmal unverschlüsselt ist. Ist der Server bzw. VNC-Port öffentlich erreichbar musst du hier deutlich mehr Aufwand in die Absicherung investieren ggü. SSH.
Ansonsten wird bei den meisten Serverprogrammen die CLI/Konsole in Anleitungen genutzt. Also klar kannst du per VNC auf den Server zugreifen um dann dort ein Terminalfenster zu öffnen und/oder Textdateien mit dem Editor konfigurieren oder direkt per SSH um dann ein Terminal zu haben. Als einfacher und gut bedienbarer Editor für Laien bietet sich beispielsweise nano an.

[AlphaRC]Eraser schrieb:
Auch weil man damit die Moeglichkeit haette einen PI-hole dienst auf der selben Kiste wie ein Webserver laufen lassen zu koennen.
Dann koennte man ja auch alle webserver appliances (LAMP, Nextcloud) in einem separaten Container laufen lassen oder?
Ja, genau das ist damit möglich aber bevor @andy_m4 einschreitet: Du brauchst dafür nicht zwingend Virtualisierung. Das kann man auch alles auf einem System betreiben, braucht dafür dann aber entweder Virtual Hosts oder einen Reverse Proxy oder müsste dem einen System mehrere IPs und/oder DNS Einträge verpassen und die einzelnen Services dann daran binden.
Mit Virtualisierung musst du dich nicht unbedingt mit den genannten Punkten beschäftigen weil du eben nicht zig Dienste auf einem System hast sondern ein System pro Dienst.

Docker/LXC kann man dann ein bisschen wie Virtualisierung auf Steroiden sehen, vor allem Docker hat dann noch ein paar Besonderheiten, die man beachten sollte wenn man das langfristig betreiben will.
[AlphaRC]Eraser schrieb:
step-by-step guides?
Ja und nein. Ja, es gibt für alles Anleitungen. Manche sind qualitativ besser als andere und die meisten sind hoffnungslos veraltet weil sie sich auf ältere Versionen beziehen wo ggf. manches noch anders gemacht werden musste.
Nein, du wirst nicht die eine perfekte goldene Anleitung finden, die Proxmox, LXC, Nextcloud (inkl. Migration) und pihole beinhaltet und einfach 1:1 abzutippen ist und perfekt auf deine Bedürfnisse und Situation passt.
Zerlege deine Probleme in beherrschbare Teilprobleme.
Installation Proxmox inkl. ZFS und wie man die ersten VMs/LXC erstellt kann ein Teil sein. Installation von pihole auf Proxmox bzw. LXC wäre ein Teil. Installation von Nextcloud auf LXC ein Teil und Migration Nextcloud auf anderen Server (den zuvor erstellten LXC) dann ein weiterer Teil.
[AlphaRC]Eraser schrieb:
Allerdings habe ich momentan echt nicht viel Zeit
Dann sollte man ggf. davon absehen, Serverdienste selbst betrieben zu wollen denn falls man diese öffentlich erreichbar betreiben will und/oder auf die stete Funktionalität dieser angewiesen ist, bedeutet dies zeitlicher Aufwand.
 
Nextcloud Docker Anleitung: https://hub.docker.com/_/nextcloud
Pihole Docker Anleitung: https://hub.docker.com/r/pihole/pihole

Wie schön es ist, wenn die Hersteller selber die Dokumentation erstellen und pflegen :)

Für meinen Teil bin ich definitiv nicht komfortabel genug mit Docker um darin etwas wie Nextcloud laufen zu lassen. Ein kurzer Einblick sagt, dass beabsichtigt ist, das hinter einem Proxy laufen zu lassen. Wie schön, dass der nginx reverse Proxy sogar standardmäßig in Docker eingerichtet werden soll und der Hersteller entsprechende Doku bereitstellt.
Pihole kein Problem, wenn ich nicht schon ein fertig eingerichtetes in einer Ubuntu VM laufen hätte...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: snaxilian
Rickmer schrieb:
Für meinen Teil bin ich definitiv nicht komfortabel genug mit Docker um darin etwas wie Nextcloud laufen zu lassen.
Ich bin in den Kaninchenbau gekrabbelt. Steile ekelige Lernkurve und viele Stolperstellen wenn man neu bei Docker ist. Man lernt und flucht viel und muss alte gelernte Ansätze ggf. vergessen aber dann irgendwann macht's Klick und Spaß. Man sollte aber die Prinzipien von CI/CD kennen und sich darauf einlassen, dass man erst jeden Pups deklarativ dokumentiert und daraus dann deployt und nicht manuell Dinge frickelt^^

Geht auch alles gut bis man zwei+ Services hat die die gleichen Ports nutzen will, allerspätestens dann muss man sich einen Reverse Proxy (ggf. ebenfalls ge-docker-t) hochziehen und die eigenen Services integrieren.
 
  • Gefällt mir
Reaktionen: Skysnake und foo_1337
Zurück
Oben