Ich habe einen Heimserver (HP Proliant ML310 G4), den ich vor ungefähr einem Monat bei meinem Arbeitgeber gekauft habe. Auf dem Server läuft Debian Linux und ich benutze es für so ziemlich alles. Ich kann damit durchkommen, weil meine Anforderungen nicht so hoch sind und der Server zu einem bestimmten Zeitpunkt selten unter hoher Last steht. Dieser Server verfügt über ein RAID1-Array mit 2 TB (mit einem Ersatzlaufwerk), das von mdadm verwaltet wird und das ich für die gemeinsame Nutzung von Dateien über mein Netzwerk über Samba verwende. Ich starte das Betriebssystem von einer kleineren Festplatte, die nicht Teil des Arrays ist.
Ich habe den Server über eine kleine 255-Watt-USV mit Strom versorgt, da ich ihn benötige, um geringfügigen Stromschwankungen standzuhalten, ohne herunterzufahren. Dies ist sehr wichtig, da ein plötzliches, unsauberes Herunterfahren (verursacht durch einen Stromausfall oder einen Stromausfall) das RAID-Array zerstören kann, was bereits einmal vorgekommen ist.
Im Falle eines Stromausfalls schätze ich, dass die USV nur 10-15 Minuten Strom hat. Es kann mehr geben, aber ich möchte nicht automatisch davon ausgehen, dass dies der Fall ist. Dies reicht aus, um Stromausfälle zu überstehen, die einige Minuten oder weniger dauern. Wenn die Stromversorgung jedoch für mehrere Stunden unterbrochen wird, muss sich der Server ordnungsgemäß selbstständig herunterfahren, bevor die USV ausfällt. Dies verhindert hoffentlich, dass die RAID-Integrität in solchen Situationen beeinträchtigt wird.
So etwas ist bei einem Laptop einfach, da es eingebaute Sensoren hat, um festzustellen, wann es mit Batteriestrom betrieben wird, aber dieser Server nicht (soweit ich weiß). Ich habe ein ungewöhnliches Netzwerk-Setup, bei dem mein DSL-Modem von meinem Router getrennt ist. Der Router befindet sich auch in der USV, sodass ich über meinen Laptop SSH ausführen und den Server bei einem Stromausfall herunterfahren kann. Leider funktioniert das nur, wenn ich gerade dabei bin. Ich brauche eine Lösung, die immer funktioniert, ob ich da bin, um einzugreifen oder nicht.
Da mein DSL-Modem nicht an der USV angeschlossen ist, würde es bei einem Stromausfall mit allem anderen ausfallen. Ich habe es absichtlich so eingerichtet, weil ich eine Idee zur Lösung dieses Problems habe: Ich wollte ein Skript schreiben, das google.com oder eine andere Website mit hohem Datenverkehr und hoher Verfügbarkeit pingt. Wenn der Ping erfolgreich abgeschlossen wird, wird der Server weiter ausgeführt. Wenn der Ping fehlschlägt (weil das Modem ausgeschaltet ist), würde das Skript annehmen, dass die Stromversorgung ausgeschaltet ist, und den Server anweisen, herunterzufahren. Ich würde das Skript zu Cron hinzufügen und es alle 5 Minuten ausführen lassen. Das würde dem Server hoffentlich genug Zeit geben, um herunterzufahren, bevor die USV keinen Strom mehr hat.
Bevor ich mir die Mühe mache, das Skript zu schreiben, möchte ich wissen, ob es eine bessere Möglichkeit gibt, das zu tun, was ich brauche. Vielen Dank im Voraus für jede Hilfe.