Nachdem ich momentan anscheinend zu viel Freizeit habe, begab ich mich vor knapp vier Wochen an ein neues Projekt: Der Garantiefall mit meinem NAS hatte mir wiedereinmal gezeigt, dass ich kein wirklicher Freund dieser “All-In-One”-Lösungen bin. Wenn mal etwas defekt ist, so steht man da, wie der Ochs vorm Berg. Im schlimmsten Falle sind alle Daten weg und das trotz Sicherung durch ein Raid 6 und absolut intakten Festplatten.
Da ich gerne selbst Herr der Dinge bin, wollte ich mir schon seit langem mein eigenes NAS zusammenbauen. Mit dem SST-DS380 hat Silverstone nun auch ein passendes Gehäuse für ein kleines Home-NAS herausgebracht. Bis zu 8x 3,5″ Festplatten plus 4×2,5″. Entsprechendes mITX-Board, CPU, RAM, etc.pp. und fertig ist das “Super”-NAS (nämlich eher ein kleiner Server mit richtig Power dahinter, statt eines vor sich hinächzenden kleines NAS) für schmales Geld. Linux drauf, mdadm installieren und schon kann der Spaß losgehen.
Aber irgendetwas vermisse ich dann doch. In der Zeit mit dem kleinen LaCie 5big habe ich die Bedienoberfläche doch ein wenig lieb gewonnen. In vielen Dingen bietet diese viel mehr Konfigurationsmöglichkeiten, als ich sie benötige und haben will. Aber die Bedienung ist intuitiv und sehr einfach. Und immer für eine neue Samba-/SFTP-Freigabe eine SSH-Verbindung zum NAS aufbauen, per Kommandozeile die Befehle eingeben, alle Benutzer per Hand eingeben usw.? Ich will dafür ein Webfrontend! Natürlich gibt solche Lösungen bereits. Nicht nur diese, gleich das komplette Betriebssystem (FreeNas), allerdings ist das doch weit darüber hinaus, was ich will:
Benutzer, Gruppen und Freigaben hinzufügen/ändern/löschen, den Raid-Status überblicken, das Raid einfach konfigurieren (ohne die Befehle eingeben zu müssen) und vielleicht noch einen SFTP-Server konfigurieren. Ein weiterer Vorteil ist, dass ich nun auch Freunde und bekannte ihr eigenes NAS aufsetzen kann und diese es ohne viel Mühe selbst administrieren können. Ich kenne viele, die der Preis eines fertigen NAS (z.B. von LaCie, QNAP, Synology, etc.) abschreckt, aber dennoch eine “vernünftige” Lösung haben möchten. Alles was für mein Webfrontend später gemacht werden muss, ist Linux mit einem Webserver, mdadm und php installieren. Für die “Faulen”: Ein Ubuntu reicht hier ja bereits. Die ersten Bilder des Webfrontends stelle ich hier schon mal vor. Sobald weitere Funktionen mit hinzukommen, wird der Post entsprechend angepasst 😉
Raid-Statusseite:
In der Raid-Statusseite sollen neue Festplatten einem Raid per Drag&Drop hinzugefügt werden können. Das Backend übernimmt dann den grow raid Befehl, sodass ein konfiguriertes Raid automatisch erweitert wird. Besteht noch kein Raid, kann natürlich eines angelegt werden. Im gesunden Raid sind alle Festplatten blau. Fällt einmal eine Festplatte aus, wird diese Rot. Unter der Raid-Konfiguration sind alle SATA-Anschlüsse (müssen in Sys-Konfig festgelegt werden) angezeigt. Ist hier eine Festplatte verfügbar, wird sie grün und kann per Drag&Drop verschoben werden.
Freigaben:
Wird eine Freigabe aufgerufen, können die Berechtigungen für diese eingesehen und verändert werden.
Benutzerverwaltung:
Für das einfache erstellen und verwalten von Benutzern ->
Einzelne Benutzer bearbeiten:
Alle dem Benutzer zugeordneten Freigaben werden angezeigt und können per Mausklick von FullAccess auf ReadOnly und umgekehrt geändert, oder auch direkt gelöscht werden. Eine E-Mail kann für ein eventuelles Passwort-Zurücksetzen hintelegt und das Passwort auch direkt geändert werden.
Die Gruppenverwaltung wird später ähnlich der Benutzerverwaltung aufgebaut sein, also welche Freigaben dürfen genutzt werden und welche Benutzer sind zugeordnet. Im Bereich Sys-Konfig werden die Rahmenbedingungen de Computers definiert, also welche Devices können/dürfen für ein Raid genutzt werden. Dadurch kann z.B. das OS auf einer SSD (sda) oder eine USB-Stick installiert werden und alle anderen Festplatten von sdb bis sdg (je nach Anzahl der SATA-Ports) sind frei verfügbar für das Raid.