PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba Action beim User Login



The-Sonic
03.01.19, 09:37
Moinmoin

Irgendwie passt meine Frage hier wohl am besten hin.
Ich bin dabei mir ein eigenes NAS zu stricken. Primäres Ziel dieser Arbeit wird das Stromgespare sowie die Erweiterbarkeit, nicht die Performance.

Als Info :
5 SATA HDDS angebunden über USB Adapter an einem Raspberry PI (Könnte auch ein Cubietruck werden), geschaltet über die GPIO Ausgänge. Die Platten sollen dynamisch ein bzw ausgehangen sowie geschaltet werden.

Plan ist die Platten in separate Ordner zu mounten sobald sich der Sambanutzer in ihnen aufhält, ähnlich der Stromsparfunktion eines Synology NAS. Nun zu meiner Frage.

Ist es möglich eine Action aus Samba herraus aus zu lösen wenn sich ein Nutzer einloggt ?
Die bisher einzige Möglichkeit die ich gefunden habe ist ein sporadischer Aufruf von smbstatus. Doch einerseits ist das auf Grund der Programmpause eventuell langsam, weiter frisst der sinnlose dauerhafte Aufruf des Programms natürlich auch Resourcen.

Eine weitere Idee war mit lsof zu arbeiten, das allerdings endet wieder in einem Loop. Eine Interruptlösung oder eine Art Startpunkt für ein Script wäre toll bei SMB Login oder dem betreten des Mount-Ordners.

Hat dazu Jemand eine Idee ?

DrunkenFreak
03.01.19, 10:16
Warum nutzt du nicht einfach die normale Stromsparfunktion der Festplatten? Mit hdparm kannst du einstellen, wann sie in welchen Ruhezustand gehen sollen. Sobald auf das Verzeichnis zugegriffen wird, starten sie automatisch wieder.

marce
03.01.19, 10:22
Reicht es nicht, sich auf die "ganz nomale" Stromspar-Funktion von USB-Platten zu verlassen und die int. Logik des mount / umount beim betreten / verlassen über autofs zu realisieren?

Alles andere (ded. schalten von Strom u.s.w.) würde ich als Datenkonsistenztechnisch kritisch betrachten - wobei, wenn man sich Berichte zu der Eignung von RaspPis als NAS ansieht ist das Problem mit der Hardwarebasis wohl so oder so gegeben :-)

The-Sonic
03.01.19, 11:39
Okay, das an meinem Projekt gezweifelt wird verstehe ich :P

Die Stromsparfunktion ist schon ganz nett, jedoch sollen an das System weit mehr Festplatten angeschlossen werden. Es wird ein Massengrab für alte Datenträger die man als Archiv für Daten nutzen kann dessen Verlust keinen Weltuntergang bedeuten. (z.B Filme)

Es wird zum weitesten Teil seines Daseins nicht genutzt werden, womit grosse Netzteile mit vermutlich schlechtem Wirkungsgrad im dauernden Leerlauf stehen. (Bei Standard - Stromspar Betrieb)

Im erwarteten Standardzustand soll in dem System ein 5V 2,5A Netzteil werkeln um den Raspberry Pi sowohl eine kleine Steuerelektronik zu betreiben. Sämtliche Versorgung (Netzteile) sowie auch die Harddisks sollen komplett abgeschaltet bleiben (Primärseitig).

Damit habe ich absolut keine Verluste bei einem Verbrauch von maximal 10Watt bei einem lüfterlosen System das man in der kleinsten und staubigsten Ecke unzugänglich auf dem frostfreien Dachboden verstauen kann.
Datenkosistenz ist ebenfalls kein Problem. Natürlich werden die Dateisysteme syncronisiert und ausgebunden bevor die Platten wieder abgeschaltet werden. Die Plattform wird übrigens normaler Weise nicht als NAS genutzt, da die 100 MBit Schnitstelle den meisten Usern zu langsam ist, weshalb ich auch einen Cubietruck als Alternative erwähnte (Der hat Gigabit). Weiter benötige ich die GPIO Ports beider Systeme für Schaltaktionen.

Um die Lager der Datenträger in Funkton zu halten sollen sämtliche Festplatten einmal im Moinat für 30 Minuten hochgefahren werden. (Das reicht um Temperatur zu erzeugen und das Fett geschmeidig zu halten)
Im Falle eines Zugriffs soll die betreffende Festplatte gestartet und 10 Minuten nach lösen der Verbindung ausgebunden und abgeschaltet werden.

Die beschrieben Funktionen betreffend Software sowie die Steuerungshardware stellen für mich kein Problem dar (Schreibe/Baue ich selbst). Nur ein zeitiges Erkennen eines Zugriffs ist jetzt noch die Herausforderung.

Autofs ist ein Interessanter Ansatz. Das muss ich mir später mal genauer durchlesen, erschlägt aber leider nicht mein aktuelles Problem.