Seite 1 von 1
Alternativer Client
Verfasst: 20. Feb 2010, 00:40
von Spirit
Moin,
eigentlich habe ich nicht direkt einen Vorschlag zur Weiterentwicklung, indirekt schon.
Bevor ich anfange etwas zu meiner Motivation: Meinen Homeserver benutze ich vorwiegend als Fileserver, gerade wenn nur der HTPC läuft. Lights Out ist da schonmal prima. Für Filme und Musik ist das ach ok, beim Fernsehen aber eigentlich unnötig. Daher hätte ich gerne eine Lösung die den Server automatisch weckt, wenn auf Dateien zugegriffen werden soll und ihn automatisch einschlafen lässt, wenn längere Zeit keine Dateizugriffe erfolgt sind. Das kann Lights Out ja leider nicht.
Daher habe ich mir überlegt so etwas selbst zu entwickeln und bin schon recht weit in der Planung. Von der Client-Seite habe ich schon eine gute Vorstellung was die Realisierung angeht (per virtuellem Laufwerk und damit völlig transparent). Nun muss man ja nicht das Rad immer komplett neu erfinden, und Lights Out gefällt mir serverseitig in weiten Teilen schon sehr gut. Was ich für meinen alternativen bzw. zusätzlichen Client bräuchte wären also eigentlich nur Infos, wie der Client dem Server das Signal zum Einschlafen schickt (aufwecken über "normales" WOL, oder nicht?). Dann könnte ich mich voll auf den Client konzentrieren.
Sollte meine Idee funktionieren dann müsste das Abschalten später einen Zähler bekommen, damit bei mehreren Clients der Server nicht abgeschaltet wird nur weil von einem der Clients länger keine Dateizugriffe erfolgt sind. Aber erstmal eins nach dem anderen.
--
Björn
Re: Alternativer Client
Verfasst: 20. Feb 2010, 08:44
von steve0564
Spirit hat geschrieben:.... wie der Client dem Server das Signal zum Einschlafen schickt (aufwecken über "normales" WOL, oder nicht?).
Ich denke mal : Gar nicht!
Der Server überwacht mit LO die Clients und evtl. noch die Netzwerkgeräte! Wenn der Letzte schlafen gegangen ist, macht der Server von sich aus nach der eingestellten Wartezeit das Licht aus.....
Kein Client schickt mit LO den Server aktiv schlafen.....
Re: Alternativer Client
Verfasst: 20. Feb 2010, 11:25
von Spirit
steve0564 hat geschrieben:Kein Client schickt mit LO den Server aktiv schlafen.....
Also ich hab hier zumindest die Möglichkeit über das Client-Menü den Server in den Standby zu schicken ("Server jetzt in Standby") - das funktioniert auch prima. Also muss der Client ja irgendwie dem Server einen Befehl senden, dass er in den Standby wechseln soll.
Re: Alternativer Client
Verfasst: 20. Feb 2010, 11:40
von steve0564
Spirit hat geschrieben:steve0564 hat geschrieben:Kein Client schickt mit LO den Server aktiv schlafen.....
Also ich hab hier zumindest die Möglichkeit über das Client-Menü den Server in den Standby zu schicken ("Server jetzt in Standby") - das funktioniert auch prima. Also muss der Client ja irgendwie dem Server einen Befehl senden, dass er in den Standby wechseln soll.
Gut, hast Recht! Lass es mich präziser ausdrücken: kein Client schickt den Server automatisch schlafen! Nur manuell!
Vielleicht hilft Dir der Befehl shutdown ja weiter. Ansonsten gibts wahrscheinlich noch einige kleine Freewaretools dazu im Netz, falls Du Dir selbst was stricken willst!
Re: Alternativer Client
Verfasst: 20. Feb 2010, 11:44
von Mike Lowrey
Den Shutdown kannst du auch Remote über die Kommandozeile(müsste tshutdown sein) ausführen, dann muss nur auf jedem Client das Benutzerkonto hinterlegt werden.
Auf Server Seite könntest du es über einen FileSystemWatcher machen(.net Klasse) hier übergibst du den Pfad d:\Shares\ und erstellst ein OnCreate/OnChange/OnDelete Event, solange eines davon getriggert wird muss deine Shutdown Routine inaktiv sein.
Dazu einen Timer z.B. System.Threading.Timer um eben die Zeit abzuwarten.
Darüber würdest du dir eine direkte Client-Server Kommunikation (erstmal) sparen.
Re: Alternativer Client
Verfasst: 20. Feb 2010, 12:42
von Spirit
Ich glaube ihr versteht mich falsch - mir ist klar, dass die Clients den Server nicht automatisch in den Standby schicken, das hätte ich aber gerne und genau dafür würde ich gerne eine Lösung entwickeln (die so aussieht, dass ein neues virtuelles Laufwerk ins System eingebunden wird. Wird darauf zugegriffen, wird der Server automatisch aufgeweckt und wenn eine bestimmte Zeit lang keine Zugriffe mehr erfolgt sind, wird er wieder in den Standby geschickt).
Eine eigene Server-Lösung zu programmieren möchte ich mir aus zwei Gründen sparen: Erstens hätte ich weniger Arbeit (auch wenn's nicht wirklich kompliziert wäre, zumindest in einer einfachen Variante, würde das ganze einfach über einen kleinen Dienst regeln, der z.B. per TCP das Signal zum Standby bekommt - aufwendiger wird's wenn es um solche Sachen geht wie Dienste vorher beenden und nach aufwachen wieder Starten - alles Sachen, die LO schon kann), zweitens ist Lights Out in dem was es macht ja schon gut und eine extra Server-Lösung könnte zusammen mit Lights Out Probleme machen.
Re: Alternativer Client
Verfasst: 20. Feb 2010, 13:23
von JoachimL
Spirit hat geschrieben:Ich glaube ihr versteht mich falsch - mir ist klar, dass die Clients den Server nicht automatisch in den Standby schicken, das hätte ich aber gerne...
mir ist nicht klar, was gegen die Netzwerküberwachung von LO 1.0 spricht - LO kann den Server schlafen schicken, wenn längere Zeit der Netzwerkverkehr des WHS unter einer einstellbaren Grenze bleibt. Damit solltest Du Deinem Ziel doch sehr nahe kommen - oder warum passt das nicht? OK, Du musst eine Lizenz kaufen weil die Community Edition das nicht enthält, aber die Paar Euronen wirst Du doch investieren können.
Eine Lösung bei der der Server die Clients mitzählt und beim letzten ausgeht wäre nicht sehr robust, zum einen weil ein Neustart dann den ggfs. Server auch aus- und wieder anschalten würde, zum andern weil wenn der Client oder das Netzwerk abraucht, der Server nichts mitbekommt.
Gruß Joachim
Re: Alternativer Client
Verfasst: 20. Feb 2010, 16:57
von Spirit
JoachimL hat geschrieben:mir ist nicht klar, was gegen die Netzwerküberwachung von LO 1.0 spricht - LO kann den Server schlafen schicken, wenn längere Zeit der Netzwerkverkehr des WHS unter einer einstellbaren Grenze bleibt. Damit solltest Du Deinem Ziel doch sehr nahe kommen
Hm - wäre vielleicht auch eine Möglichkeit. Nicht ganz das, was ich gerne hätte (könnte z.B. Probleme machen, wenn ein Client eine Datei geöffnet hat, aber längere Zeit nichts macht - keine/kaum Netzwerkaktivität und der Server geht aus). Naja, ich werd mich erstmal damit beschäftigen, ob ich meinen Client so realisiert bekomme, wie ich es mir vorstelle. Wenn's mit dem Aufwecken soweit klappt kann ich mir immer noch Gedanken übers abschalten machen.
Re: Alternativer Client
Verfasst: 21. Feb 2010, 18:18
von Martin
Das "Sleep Now" über den Client wird mit dem WHS Transportservice übertragen. Wie der das intern macht (Protokoll) ist nicht dokumentiert. Auf dem Weg ist es also nicht einfach zu machen.
Was als Workaround ginge, wäre eine Anwendung am WHS zu benutzen, die das Sleep Now Flag in der Registry auf 1 setzt und damit das sofortige Einschlafen auslöst. Aber das müsstest du alles selber implementieren.
Gruß
Martin
Re: Alternativer Client
Verfasst: 25. Feb 2010, 13:28
von Spirit
Martin hat geschrieben:Was als Workaround ginge, wäre eine Anwendung am WHS zu benutzen, die das Sleep Now Flag in der Registry auf 1 setzt und damit das sofortige Einschlafen auslöst. Aber das müsstest du alles selber implementieren.
Ist das Flag von Lights Out und wird dadurch der Standby von Lights Out ausgelöst? Ich hab jetzt angefangen das ganze als eigenständige Lösung zu implementieren und sieht soweit auch alles gut aus. Wenn ich meinen Server-Dienst jetzt den Standby ganz normal auslösen lasse, dann kommt Lights Out doch durcheinander, oder? Da wär's ja ganz praktisch wenn ich durch das Setzen des Flags Lights Out das machen lassen könnte. Das würde mir dann vorerst auch das Beenden und Starten von anderen Diensten vor und nach dem Standby ersparen.
Und noch eine Frage: Damit ein Rechner im Laufzeitdiagramm erscheint, muss er dafür den Client installiert haben?
Re: Alternativer Client
Verfasst: 26. Feb 2010, 21:01
von Martin
Wenn du den Standby selber auslöst kommt Lights-Out nicht mehr durcheinander kann aber eben auch seine Behandlung der Speziallfälle (Dienste) nicht ausspielen.
Das Setzen des Flags führt dazu, dass Lights-Out das für dich übernimmt, Lights-Out setzt dann auch das Flag selbst zurück.
Key HKEY_LOCAL_MACHINE\SOFTWARE\AxoNet Software GmbH\LightsOut, Name SleepNow
Damit ein Rechner im Diagramm auftaucht muss kein Client installiert sein. Du kannst die Anzeige im Diagramm unabhängig von der Überwachung aktivieren. Allerdings muss der Client IP basiert sein oder einen WHS Connector haben und Lights-Out muss lizenziert sein.
Gruß
Martin
Re: Alternativer Client
Verfasst: 27. Feb 2010, 01:06
von Spirit
Vielen Dank für die Infos - dann werde ich das Ausschalten per Lights Out auf jeden Fall als Option einbauen. Die Client-Seite steht inzwischen weitgehend und vielleicht schaffe ich es am Wochenende auch den Server auf einen ersten benutzbaren Stand zu bringen. Viel fehlt nicht aber der Aufwand liegt ja meist bei den Details (vernünftige Oberfläche, Fehlerbehandlung, Installer, etc.).
Gruß
Björn