Allround-Server mit NAS für den Heimgebrauch

Spike S.

Lt. Commander
Registriert
Feb. 2012
Beiträge
1.790
Ich möchte gerne einen Server für den Heimgebrauch aufsetzen, der möglichst universell ist (Web, Mail, Docker, ...) aber auch als NAS fungiert. Ich habe mir dafür einen Rechner mit Intel 4590T und 16GB RAM, einer 1TB M.2 SSD sowie 2x6TB HDD die als Raid laufen sollen zusammengestellt. Möchte das gerne in zwei bis vier Wochen umsetzen, denn da habe ich jede Menge Zeit für so eine Aktion.

Ich habe das ganze schon mit einem NAS von der Stange probiert, einem Asustor NAS. Aber das passt nicht ganz zu meinem Bastel- und Spieltrieb von Zeit zu Zeit. Als Beispiel: Ich wollte einen Telegram Bot darauf laufen lassen, der über Node.js funktioniert. Aber in der Paketverwaltung von dem Asustor sind nur sehr alte Node.js Pakete verfügbar, die sind aber inkompatibel mit dem Vorhaben. Musste Node.js also manuell installieren. Dann musste ich noch in das Betriebssystem von dem NAS absteigen, damit der Bot auch automatisch startet. Das war ganz schönes Gefrickel und ist nur schlecht updatefähig.

Außerdem habe ich schon mal ein Open Media Vault auf einem Raspi aufgesetzt (mit einem anderen Hintergrund). Dabei hatte ich aber den Eindruck, das verbiegt ganz schön das Host-OS. Der Name des Hosts im Netzwerk war nicht so leicht richtig einzustellen und einige Configs hab ich nicht dort gefunden wo ich sie erwartet hatte.

Jetzt will ich also gerne einen "ganz normalen" Server aufsetzen, vermutlich Ubuntu Server oder Debian. Beim OS bin ich für Vorschläge offen, habe mich noch nicht festgelegt.
Auf jeden Fall bräuchte ich ein paar Stichpunkte und Hilfe bei meinen Gedanken, um die im Folgenden genannten Ziele erreichen zu können. Ich kenne einige Stichworte (Unraid, Proxmox, Plesk, TrueNAS, ...), kann sie aber nicht so recht einordnen, was mir als Fortgeschrittener das Leben leichter machen kann oder was auch Linux selbst schon für mich ausreichend löst. Ich verdiene meine Brötchen nicht als Admin, von daher ist mein Wissensstand der eines seit Jahrzehnten sehr Interessierten.

  • Ich tendiere zu einem Software Raid, um nicht hardwaregebunden zu sein. Ein Platte soll aber ohne Verluste auszutauschen sein, sollte mal eine ausfallen
  • Die 1 TB SSD (Samsung 980 Pro) soll das Betriebssystem aufnehmen und als eine Art Cache möglichst viele Zugriffe auf die HDDs auffangen, ohne zu viel zu riskieren wenn doch mal im falschen Moment der Strom ausfällt. Hauptsächlich soll durch den Cache Strom gespart und die Lautstärke im Zaum gehalten werden
  • Docker soll darauf laufen, damit ich mit meinem Spieltrieb nicht immer gleich das ganze System kaputt mache. Wie verhält es sich hier mit den HDD Zugriffen? Habe gelesen, durch Docker kommen HDDs quasi nie in den Schlafmodus. Also auf die SSD installieren und die Configs regelmäßig auf die HDDs backupen lassen?
  • Der Server soll gerne so viel wie möglich Schlafen legen, wenn der sich nur im Idle befindet, etwas Wartezeit bei selten genutzten Funktionen kann ich verkraften
  • Der Server soll über VPN von außen erreichbar sein, ich denke per OpenVPN. Kann VPN getrost auf dem selben Server laufen oder lieber über die FritzBox (hab eine 6591) oder einem separaten Rechner wie einem kleinen Raspi (hab hier noch ein Raspi 1 B+)?
  • Der NAS Anteil soll für allerlei Geräte da sein, als Backup Ziel (ja ich weiß, Raid ist keine Datensicherung, das kommt später noch) und einfach nur um Dateien austauschen zu können. Dabei handelt es sich um PCs mit Windows und Linux und Android Geräte (7 bis 12). IOS ist kein Thema.
  • Als NAS: Einfach nur Samba und Rsync verwenden? Oder Nextcloud? Oder doch Open Media Vault o.ä.? Es gibt so viele Ansätze, ich habe da keinen rechten Überblick.
  • Eine Kommandozeile schreckt mich nicht ab, der Server soll auch headless laufen. Aber den Status kontrollieren, mal neustarten oder Updates anstupsen würde ich gerne auch über den Browser können. Habt ihr da eine Empfehlung? Cockpit? WebMin? Was anderes?
  • Ist sonst etwas bei der Netzwerkkonfiguration zu beachten? Habe hier IPv6 aktiv und würde dem Server einfach nur von der FritzBox eine feste IP geben lassen
  • Sollte man sich auch Gedanken um eine Firewall machen? Wahrscheinlich spätestens dann, falls ich doch Port 80 und 443 mal auf den Server forwarden lassen sollte...

Ich bin mir bewusst, das sind eine Menge Punkte, auch recht grundlegende, aber wie oben schon geschrieben, habe ich noch zwei Wochen Zeit meinen Plan zu konkretisieren :)
 
Proxmox als Virtualisierer kann vollständige VM, aber auch "leichtere" LXCs (Linuxcontainer) u. ist per Weboberfläche schön administrierbar.
Darauf dann die Nutzer-OSen, z.B. einen Ubuntuserver für die Dockercontainer usw.
Je feinteiliger du deine Dienste auf VM/LXC verteilst, desto einfacher können verspielte Teile wieder aus einem Restore wiederhergestellt werden, ohne anderes zu beeinflussen.

Bei wenigen Usern u. einfacher Samba-config würde ich auf OMV verzichten u. den Dienst nur per LXC aufsetzen. Ob Du NC willst/brauchst kannst nur Du beurteilen - Kalender/Kontaktserver gäbe es auch so u. mit Syncthing kann man viel Spielereien anstellen.

Ich habe meinem NAS einen RPi "vorgeschalten", der Pihole+Unbound+OpenVPN abwickelt - hat den Vorteil, dass VPN auch läuft, wenn sich das NAS schlafen legen soll u. per WoL aufgeweckt wird.
 
Spike S. schrieb:
  • ch tendiere zu einem Software Raid, um nicht hardwaregebunden zu sein. Ein Platte soll aber ohne Verluste auszutauschen sein, sollte mal eine ausfallen
software raid ist gut, da auch ein raid controller kaputt gehen kann und dann brauchst du den exakt gleichen um an deine daten zu kommen...denke aber trotzdem an ein backup!
Spike S. schrieb:
  • Die 1 TB SSD (Samsung 980 Pro) soll das Betriebssystem aufnehmen und als eine Art Cache möglichst viele Zugriffe auf die HDDs auffangen, ohne zu viel zu riskieren wenn doch mal im falschen Moment der Strom ausfällt. Hauptsächlich soll durch den Cache Strom gespart und die Lautstärke im Zaum gehalten werden
am sichersten ist natürlich gleich auf die HDDs zu schreiben...diese spielerei würde ich erstmal lassen
Spike S. schrieb:
  • Docker soll darauf laufen, damit ich mit meinem Spieltrieb nicht immer gleich das ganze System kaputt mache. Wie verhält es sich hier mit den HDD Zugriffen? Habe gelesen, durch Docker kommen HDDs quasi nie in den Schlafmodus. Also auf die SSD installieren und die Configs regelmäßig auf die HDDs backupen lassen?
wenn das OS auf der SSD ist laufen dort auch erstmal die docker.
Spike S. schrieb:
  • Der Server soll gerne so viel wie möglich Schlafen legen, wenn der sich nur im Idle befindet, etwas Wartezeit bei selten genutzten Funktionen kann ich verkraften
meinst du suspend to ram und wake on lan?
Spike S. schrieb:
  • Der Server soll über VPN von außen erreichbar sein, ich denke per OpenVPN. Kann VPN getrost auf dem selben Server laufen oder lieber über die FritzBox (hab eine 6591) oder einem separaten Rechner wie einem kleinen Raspi (hab hier noch ein Raspi 1 B+)?
da würde ich auf jeden fall wireguard nutzen
Spike S. schrieb:
  • Der NAS Anteil soll für allerlei Geräte da sein, als Backup Ziel (ja ich weiß, Raid ist keine Datensicherung, das kommt später noch) und einfach nur um Dateien austauschen zu können. Dabei handelt es sich um PCs mit Windows und Linux und Android Geräte (7 bis 12). IOS ist kein Thema.
da würde ich mir mal nextcloud anschauen, ist zum synchronisieren sehr praktisch
Spike S. schrieb:
  • Als NAS: Einfach nur Samba und Rsync verwenden? Oder Nextcloud? Oder doch Open Media Vault o.ä.? Es gibt so viele Ansätze, ich habe da keinen rechten Überblick.
naja das was du brauchst. win netzlaufwerk braucht samba, rsync geht nur unter linux, wobei auch ein sshfs mount in frage kommt. nextcloud ist sinnvoll wenn du bspw ein notebook hast wo du mal unterwegs ohne internet daten auf der platte bearbeitest und zuhause die dann automatisch auf die anderen geräte synchronisierst. open media vault ist ein fertig konfiguriertes OS wie trueNas etc, was mit der einfachen verwaltung von synology etc konkurrieren will.
...musst du entscheiden welche zugriffsdienste du benötigst aber samba und sshfs sind da erstmal die basics...anderes geht dann on top.
Spike S. schrieb:
  • Eine Kommandozeile schreckt mich nicht ab, der Server soll auch headless laufen. Aber den Status kontrollieren, mal neustarten oder Updates anstupsen würde ich gerne auch über den Browser können. Habt ihr da eine Empfehlung? Cockpit? WebMin? Was anderes?
da muss ich passen
Spike S. schrieb:
  • Ist sonst etwas bei der Netzwerkkonfiguration zu beachten? Habe hier IPv6 aktiv und würde dem Server einfach nur von der FritzBox eine feste IP geben lassen
ja klingt gut...du musst ihn für wireguard noch von außen erreichbar machen
Spike S. schrieb:
  • Sollte man sich auch Gedanken um eine Firewall machen? Wahrscheinlich spätestens dann, falls ich doch Port 80 und 443 mal auf den Server forwarden lassen sollte...
die 2 ports würde ich jedenfalls nicht ins netz lassen...hast ja nen vpn. eine firewall wird dir da nicht viel bringen. les dich mal ein was ne firewall macht...ports blockieren in der regel, aber port 80 soll ja rein. da sind eher schwachstellen im webserver ein problem was ausgenutzt wird.


bezüglich debian/ubuntu LTS gibt sich beides nicht viel, marginale unterschiede
 
Für einen (gelegentlichen) Bastel-Server will ich stark empfehlen, mit Proxmox oder TrueNAS zu starten und die ganzen Bastelein in eigenen VMs oder Containern laufen zu lassen. So kann man einfach mal einen Snapshot machen und loslegen ohne zu riskieren, das man sich den ganzen Server zerschießt.

Proxmox ist ein purer Hypervisor, da müsste man die Fileserver-Funktionalität drauf laufen lassen.
TrueNAS sagt es schon im Namen - NAS first. Aber das kann auch VMs und damit alles andere.

Persönlich würde ich Proxmox nehmen. Zugegeben habe ich aber TrueNAS auch noch nie laufen gehabt bei mir.


VM OS: Ich hatte mich für Ubuntu LTS entschieden aus dem simplen Grund, dass ein Großteil von Anleitungen für Ubuntu geschrieben werden.
 
TechX schrieb:
Proxmox als Virtualisierer kann vollständige VM, aber auch "leichtere" LXCs (Linuxcontainer)

Rickmer schrieb:
Bastelein in eigenen VMs oder Containern laufen zu lassen
Proxmox kann ich mir also wie VirtualBox, nur eben als Server vorstellen? In welchen Fällen packt man etwas in eine VM und wann nimmt man einen LXC? Die VMs/Container liegen dann als Dateien im Host-OS und können entsprechend einfach gebackuped werden?
Kann man mit Proxmox auch das Host-OS verwalten (updates, neutstarten, Logs einsehen)?

TechX schrieb:
Pihole+Unbound+OpenVPN abwickelt - hat den Vorteil, dass VPN auch läuft, wenn sich das NAS schlafen legen soll u. per WoL aufgeweckt wird.
Guter Punkt. Reicht dafür ein RPi 1 oder ist der dafür zu schwach auf der Brust? Wenn ich da an OpenVPN und die Kryptographie denke...

honky-tonk schrieb:
am sichersten ist natürlich gleich auf die HDDs zu schreiben...diese spielerei würde ich erstmal lassen
Klaro, ohne Kompromiss wird das Caching Vorhaben nicht sein, aber ich möchte an der Anforderung festhalten. Grob über den Daumen hab ich an meinem Wohnort alle 2 bis 3 Jahre mal einen Stromausfall, unwahrscheinlich das ich gerade in dem Moment neue Dateien auf das NAS schiebe und die Quelle die Dateien löscht...

honky-tonk schrieb:
meinst du suspend to ram und wake on lan?
Ich dachte erst an einzelne Hardware der Reihe nach schlafen legen zu lassen, aber automatisches Suspend to RAM und dann per LAN wieder aufwecken wäre natürlich am sparsamsten. Ich bin aber auch mal über ein Programm gestolpert, mit dem im Linux noch einiges in Richtung energiesparen optimiert werden kann. Komme aber nicht mehr auf den Namen. Ich glaub da ging es darum einige Kernelparameter abzuändern...
Und beim Stromsparen denke ich natürlich auch an Einstellungen im BIOS.

honky-tonk schrieb:
da würde ich auf jeden fall wireguard nutzen
Ich hatte mich in letzter Zeit dazu belesen, als die News zur nächsten Laborversion für die FritzBoxen kam, daher tendiere ich eher zu OpenVPN, da flexibler (Port 443 kann verwendet werden). Der Performancevorteil von Wireguard relativierte sich hinter heimischen Internetanschlüssen (habe 1GBit down, 50MBit up), zumindest in dem Test den ich gelesen hatte. Erst bei externen Diensten die schneller angebunden sind, bietet Wireguard merklich mehr Bandbreite.

honky-tonk schrieb:
mal nextcloud anschauen
Nextcloud habe ich bei einem Hoster laufen, ist aber schrecklich lahm, da das nur ein günstiges shared hosting Paket ist. Für Kontakte und Termine synchronisieren reicht das aber allemal.

honky-tonk schrieb:
win netzlaufwerk braucht samba, rsync geht nur unter linux
Wenn ich ein Samba Laufwerk laufen habe, bin ich damit nicht universell aufgestellt? Irgendwelche Backup Programme die Netzwerkpfade akzeptieren gibt es doch auf jeder Plattform, oder? Rsync auf Linux und Android und für Windows gibt es sicherlich auch etwas fetziges. Ich frage mich nur, ob man das mit einem Nextcloud kombinieren kann.

honky-tonk schrieb:
eine firewall wird dir da nicht viel bringen
Ja, mir ist auch gerade aufgefallen das ich andere Schutzmechanismen meine, wie fail2ban z.b.
Bei einem reinen LAN Betrieb, kann man sich solche Schutzmechanismen doch sparen....oder sollte man dennoch einen Basiskonfiguration vornehmen, falls z.B. ein Rechner im LAN gekapert werden sollte und außer Rand und Band gerät?

Rickmer schrieb:
VM OS: Ich hatte mich für Ubuntu LTS entschieden
Aus dem gleichen Grund ist Ubuntu LTS auch mein momentaner Favorit.
 
Spike S. schrieb:
Proxmox kann ich mir also wie VirtualBox, nur eben als Server vorstellen?
Jein - Proxmox ist quasi dein Windows incl. Virtualbox - Proxmox muss direkt auf die HW installiert werden, da Typ1.

Spike S. schrieb:
In welchen Fällen packt man etwas in eine VM und wann nimmt man einen LXC?
LXC verwenden den Kernel vom Host, was für Linux gut ist.
Für Windows oder andere OSen brauchst Du dann VM

LXC sind Container (eher wie Docker), jedoch mächtiger. Würde man bei Docker z.B. NC, MariaDB, Office als einzelne Container orchestrieren, kann man alles miteinander in einem LXC aufsetzen u. trotzdem schonender, als mit einer kompletten Virtualisierung (VM) arbeiten.
Spike S. schrieb:
Die VMs/Container liegen dann als Dateien im Host-OS und können entsprechend einfach gebackuped werden?
Backups kann Proxmox vollautomatisch erledigen
Spike S. schrieb:
Kann man mit Proxmox auch das Host-OS verwalten (updates, neutstarten, Logs einsehen)?
Proxmox IST das Host-OS - man kann über die Weboberfläche updaten, VMs erstellen, löschen, starten, sichern UND z.B. sich auch auf die Konsolen verbinden (incl. Windows-Desktop per VNC).
Spike S. schrieb:
Reicht dafür ein RPi 1 oder ist der dafür zu schwach auf der Brust?
Ich habe RPi erst ab 3B+ hier - deshalb jetzt für mich schlecht einschätzbar, aufgrund fehlender Erfahrung damit. Müsste man halt mal testen.

Spike S. schrieb:
Der Performancevorteil von Wireguard relativierte sich hinter heimischen Internetanschlüssen (habe 1GBit down, 50MBit up), zumindest in dem Test den ich gelesen hatte.
Der Verbindungsaufbau läuft wesentlich fluffiger - bin aber trotzdem noch auf OpenVPN, da universeller.
Spike S. schrieb:
Nextcloud habe ich bei einem Hoster laufen, ist aber schrecklich lahm, da das nur ein günstiges shared hosting Paket ist. Für Kontakte und Termine synchronisieren reicht das aber allemal.
Wenn man nur Kontake u. Termin machen möchte, wäre auch Radicale äußerst leichtgewichtig - sowas läuft locker auch auf nem Pi. Möchte ich nur erwähnen, da Stromsparen ja doch ein wenig im Raum steht.

Spike S. schrieb:
Wenn ich ein Samba Laufwerk laufen habe, bin ich damit nicht universell aufgestellt?
Bist Du, wobei Du dich zumindest mal mit NFS auseinandersetzen solltest (Linuxmaschinen).
Spike S. schrieb:
Irgendwelche Backup Programme die Netzwerkpfade akzeptieren gibt es doch auf jeder Plattform, oder? Rsync auf Linux und Android und für Windows gibt es sicherlich auch etwas fetziges.
Syncthing ist auch einen Blick wert.

Spike S. schrieb:
Ich frage mich nur, ob man das mit einem Nextcloud kombinieren kann.
Neue Versionen von Nextcloud können externen Speicher (eines NAS) mit einbinden.
Wenn man nur Kontakte, Termine synchronisieren möchte, würde ich vlt. kein Nextcloud installieren - das kann seine Fähigkeiten nur demonstrieren, wenn man höhere Ansprüche stellt.

Man kann seine Dienste relativ gefahrlos auch extern nutzen - wofür hat man den VPN?
Manche Dinge von Nextcloud sind erst sinnig, wenn die Cloud auch extern ohne VPN erreichbar ist - wer also mit Freunden/Bekannten/Dritte Dateien teilen möchte z.B.

Wenn man das allerdings tut, sollte man sich der Gefahr bewusst sein bzw. eher darauf verzichten, bis man weis, was man tut. Peniblere Pflege des Systems ist dann halt Pflicht.
 
Spike S. schrieb:
Guter Punkt. Reicht dafür ein RPi 1 oder ist der dafür zu schwach auf der Brust? Wenn ich da an OpenVPN und die Kryptographie denke...
da würde ich schon mindestens einen 3er nehmen wenn eh neu gekauft wird natürlich gleich den 4er...wenn du aber eh proxmox nutzen möchtest wäre natürlich eine VM für VPN denkbar, wäre dann auch gekapselt
Spike S. schrieb:
mit dem im Linux noch einiges in Richtung energiesparen optimiert werden kann. Komme aber nicht mehr auf den Namen.
du meinst bestimmt powertop?!
Spike S. schrieb:
Wenn ich ein Samba Laufwerk laufen habe, bin ich damit nicht universell aufgestellt?
ja samba ist auf jeden fall universell. es kommt halt drauf an, was du von dem NAS erwartest. je nach dem wie du's nutzen willst ist das eine oder andere tool/protokoll was für dich.
 
Spike S. schrieb:
Guter Punkt. Reicht dafür ein RPi 1 oder ist der dafür zu schwach auf der Brust? Wenn ich da an OpenVPN und die Kryptographie denke...
Proxmox auf Pi wird nicht offiziell unterstützt.
Das wurde durch das Pimox Projekt jedoch trotzdem zum laufen gebracht: https://github.com/pimox/pimox7

Erfordert allerdings den Pi 4 laut Systemanforderungen auf Github.

Der Grund dafür dürften die Anforderungen an RAM sein - Bei meinem Pimox läuft aktuell nur Proxmox selbst auf Raspian Server 64-bit (also headless) und ein LXC-Container mit Pihole und dadurch sind bereits ~1,2GB RAM belegt. Ein vollwertiger Hypervisor braucht halt ein paar Ressourcen um zu laufen, wer hätte es gedacht.

(Die LXC Container muss man sich übrigens manuell holen - Proxmox bietet erstmal nur x86 Versionen an, welche natürlich auf 'nem Pi nicht laufen)

Wenn's ein Pi mit Proxmox sein soll, dann halt
  • beachten, dass das ein Community-Projekt ist, kann also buggy sein und auch spontan wieder verschwinden
  • einen Pi 4 mit mindestens 4GB, besser 8GB RAM damit auch Ressourcen für 1-2 VMs vorhanden sind
 
Also, ich leg mich jetzt mal auf Proxmox fest. Das scheint eine brauchbare ganzheitliche Lösung zu sein, für die Verwaltung des Servers und gefahrloser Dinge ausprobieren zu können.
Ich habe heute auch mal auf der Projektseite quer gelesen.
Die Installation kann man mit der ISO als ganzes machen oder eben auf einem vorhandenen System (also OS nach Wunsch) über Pakete nachinstallieren. Proxmox selbst hat ein Beispiel für Debian in den Guides. Als erster Unterschied ist mir die Partitionierung aufgefallen. Die ISO legt wohl einiges selbständig fest, als Paket macht man das vorher selbst. Da schließt sich gleich die Frage an, wie sollte die aussehen? Eine 1TB SSD und zwei 6TB HDD sind vorhanden. Vor allem, welche Formate? In meiner Eingangsfrage hatte ich es vergessen, aber was ist mit ZFS? Bringt mir das was bei einem RAID? In einem anderen Thread hatte ich den Vorschlag gelesen, ohne RAID zu arbeiten und dann nur einen Teil für das ZFS Journal (heißt das so?) bereitzustellen. So hat man mehr Speicherplatz. Und das Thema mit dem Cache auf der SSD um die HDDs "smarter" anzusprechen ist für mich auch noch offen.
Die Frage nach VM oder Container stelle ich erstmal zurück, bis ich das erste mal auf "create" für eines von beiden klicken will. Erstmal soweit kommen, das ich die Buttons sehe.

Was Backups von den verschiedenen Geräten/Clients betrifft, tendiere ich aktuell zu einer Kombination aus NC und Syncthing. NC hat halt den Vorteil, die Nutzer (Familie und vielleicht enge Freunde) sind leichter zu administrieren und können sich besser selbst kümmern.

@honky-tonk powertop, genau das meinte ich, Danke.

@Rickmer Proxmox soll nicht auf dem Raspi laufen, sondern auf einem Haswell System. Der Raspi wurde für OpenVPN (in Kombination mit weiteren nützlichen Dingen wie pihole+unbound) ins Spiel gebracht. Hab jetzt rausgehört, VPN mit seinen Zertifikaten soll abgekapselt (in einer VM oder einen anderen Rechner) laufen. Ich nehme mal an, damit nicht ein Hacker oder Schadsoftware der es auf den Webserver schafft, auch noch an die privaten Schlüssel rankommt. Oder andersrum.
 
Falls Windows für dich in Frage kommt, da gibt es die Storage Spaces (als eine Art Software-Raid, nur viel komfortabler), welche ich ebenfalls seit kurzem Betreibe. Ich bin hochzufrieden mit dieser Lösung.
 
Danke für deinen Hinweis, aber mit der aktuellen Entwicklung von Windows richtet sich mein Blick immer stärker auf Linux. Außerdem habe ich mit Windows nur Desktopanwendererfahrung, unter Linux dagegen schon ein paar kleinere Servererfahrungen.
 
Zurück
Oben