Beiträge von punga

    ZIEL
    Das QNAP NAS und der PC sollen bei einem Stromausfall mit Hilfe der USV kontrolliert heruntergefahren werden.


    SETUP

    • Das QNAP NAS, der PC, der Monitor und der Router erhalten Strom über die gepufferten Steckdosen der USV.
    • Das Signalkabel der USV ist mit der QNAP verbunden.
    • QNAP und PC sind mit dem Router verbunden und befinden sich im gleichen Netzwerk.
    • Der Monitor ist mit dem PC verbunden


    GERÄTE

    • QNAP 439 Pro (Firmware 3.1.0)
    • APC USV 550VA
    • Fritz!Box 7270
    • Normaler PC (Windows XP)


    ANLEITUNG
    Die Administration der QNAP aufrufen und einloggen. Unter Externes Gerät den Menuepunkt UPS anwählen. Auf der Konfigurationsseite das Setting USV-Unterstützung aktivieren aktivieren, die Option Das System schaltet sich bei anomalem Netzstromstatus nach x Minuten ab auf 5 Minuten einstellen und als aktive Option auswählen.


    Per SSH auf der QNAP als admin einloggen. Mittels vi /etc/ups/ups.conf die Datei ups.conf anzeigen lassen und den Namen, der sich zwischen den eckigen Klammern befindet (sollte qnapups lauten), notieren.


    Beispiel:

    Code
    [qnapups]        driver = usbhid-ups        port = /dev/ttyS1        desc = "Workstation"        pollinterval=1


    Den Editor mit den Tastendrücken [Esc] [:] [q] verlassen.


    Mittels vi /etc/ups/upsd.conf den Editor für die Datei upsd.conf starten. Mit dem Tastendruck [i] den Editor in den Einfügenmodus bringen. Unter der letzten Zeile, die mit [ACL] beginnt, eine neue Zeile mit ACL winnut 192.168.1.3/32 einfügen. Als IP hier die IP-Adresse des PCs eintragen, auf dem WinNUT installiert wird. Am Zeilenende der Zeile, die mit ACCEPT beginnt, den String winnut anhängen.


    Beispiel:

    Code
    ACL all 0.0.0.0/0ACL localhost 127.0.0.1/32ACL winnut 192.168.1.3/32ACCEPT localhost winnutREJECT allMAXAGE 20


    Mit den Tastendrücken [Esc] [:] [w] [q] die Änderungen speichern und den Editor verlassen.


    Mittels vi /etc/ups/upsd.users den Editor für die Datei upsd.users starten. Mit dem Tastendruck [i] den Editor in den Einfügenmodus bringen. Ans Ende der Datei (bzw. ausserhalb der Zeilen, die zu [admin] gehören) folgende Zeilen anhängen:

    Code
    [monuser]    password  = pass    allowfrom = winnut    upsmon slave


    Mit den Tastendrücken [Esc] [:] [w] [q] die Änderungen speichern und den Editor verlassen.


    Leider werden diese Konfigurationsdateien bei jedem Reboot des NAS mit den anfänglichen Werten überschrieben, daher müssen die gerade angepassten Dateien weggesichert werden und nach jedem Bootvorgang automatisch in das Verzeichnis /etc/ups kopiert werden. Dazu speichert man die Dateien in einem Verzeichnis unter /share. Da die Verzeichnisstruktur je nach verwendetem RAID-Level unterschiedlich aussehen kann, erläutere ich kurz die Methode, die ich bei einem RAID 5 verwendet habe:


    Code
    mkdir /share/MD0_DATA/Qconfig/cp /etc/ups/* /share/MD0_DATA/Qconfig/


    Natürlich kann man sich die Dateien an einen beliebigen Platz kopieren, wichtig ist nur, dass es sich in einem Verzeichnis unter /share befindet. Ich verwende zur Sicherung der Dateien hier das Verzeichnis /share/MD0_DATA/Qconfig/.


    Nun anhand der Anleitung im QNAP Wiki Zugriff auf die autostart.sh erlangen. Mittels vi /tmp/config/autorun.sh den Editor für die Datei autorun.sh starten. Mit dem Tastendruck [i] den Editor in den Einfügenmodus bringen. Ans Ende der Datei folgende Zeilen anhängen:


    Code
    cp /share/MD0_DATA/Qconfig/ups*.* /etc/ups/etc/init.d/ups.sh restart


    Mit den Tastendrücken [Esc] [:] [w] [q] die Änderungen speichern und den Editor verlassen. Das Unmounten (siehe QNAP Wiki) nicht vergessen. Nun kann man mittels Eingabe des Befehls /etc/init.d/ups.sh restart den UPS-Demon neu starten und sollte eine ähnliche Meldung erhalten:



    Die QNAP ist nun fertig konfiguriert, es folgt die Konfiguration des PCs:


    Windows-Clients WinNUT von http://csociety.ecn.purdue.edu/~delpha/winnut/ herunterladen und auf dem PC installieren. WinNut Configuration Tool starten und die Pfade überprüfen. Den Edit-Button bei Configuration File Path betätigen und im Editor folgende Settings eintragen:



    Beim Setting MONITOR vor dem @ den notierten Namen aus der Datei /etc/ups/ups.conf eintragen und die IP-Adresse der QNAP NAS verwenden. Bei NOTIFYCMD den entsprechenden Pfad der Anwendung eintragen (doppel - "\" ist korrekt!). Alle anderen Settings können den persönlichen Wünschen entsprechend angepasst werden (in der original Konfigurationsdatei sind alle Settings ausführlich dokumentiert).


    UPSD Port auf 3493 stehen lassen
    Install As Service aktivieren
    Service startup auf "Automatic Startup" stellen


    Nach dem alle Einstellungen vorgenommen wurden, den Button Apply and Start WinNUT anklicken - damit wird der Service installiert und WinNUT horcht im Hintergrund auf die Signale der USV. Je nach Konfiguration sollte man nun (und nach jedem Neustart des Rechners) ein Popup-Fenster erhalten, das die Verbindung zur USV bestätigt.


    Sollte nun der Strom ausfallen, erhält WinNUT über das Netzwerk das Signal der USV, den PC herunterzufahren, noch bevor die Versorgung durch die USV zur Neige geht. WinNUT zeigt dazu dann eine entsprechende Warnung als Popup an und fährt das System kontrolliert runter. Wichtig dabei ist, dass auch der Router über die USV versorgt wird, da WinNUT sonst kein Signal via Netzwerk erhalten kann. Der Monitor muss nicht zwingend über die USV versorgt werden - es hilft aber ungemein, wenn man in den verbleibenden Minuten, bis die USV keinen Strom mehr liefert, Kontrolle über den PC hat :)


    Disclaimer: Ich übernehme keine Gewähr für mögliche Schäden, die durch das Befolgen der Anleitung entstehen.

    Hallo Christian,


    vielen Dank für den Tip! Das werde ich direkt mal ausprobieren, wenn die Migration durchgelaufen ist :)


    Edit:


    Nach kurzem Blick ins /etc - Verzeichnis habe ich das Unterverzeichnis /ups entdeckt, dass alle nötigen
    Config-Files für ein netzwerkweites Polling des USV-Status anbietet (sofern die USV-Unterstützung der
    QNAP aktiviert wurde). Es waren nur ein paar kleine Änderungen nötig um meinen PC via WinNUT auf
    den Status der USV zugreifen zu lassen und im Falle eines Stromausfalles das System sauber herunterzufahren...


    Danke & Grüsse
    Punga


    EDIT:


    Hi,


    nach meiner anfänglichen Freude über die gelungene Konfiguration nun ein kleiner Rückschlag:
    Die QNAP überschreibt beim REBOOT die angepassten Konfigurationsdateien von upsd :(


    Gibt es zufällig eine Möglichkeit, die Dateien vor dem Überschreiben zu schützen oder
    während des Boots die Dateien mt den angepassten Config-files zu ersetzen?


    Edit:
    Hat sich erledigt: Habe im QnapWiki eine Lösung gefunden :) Sorry fürs verfrühte posten...



    Grüsse
    Punga

    Hallo Leute,


    nach meinem Wechsel von einer Netgear ReadyNAS NV+ zu einer QNAP 439 frage ich
    mich, ob die QNAP NUT via Netzwerk unterstützt?


    Mit der ReadyNAS ist es problemlos möglich, den PC mittels WinNUT ebenfalls auf das
    Signal der USV (die am NAS angeschlossen ist) lauschen zu lassen, um bei einem
    Stromausfall nicht nur die NAS sondern auch den PC sauber herunterzufahren. Dafür
    verwendet man bei WinNUT in der upsmon.conf die Einstellung


    MONITOR UPS@192.168.1.2 1 monuser pass slave


    Im Falle eines Stromausfalls wurde dann nicht nur die NAS heruntergefahren, sondern
    auch der PC, der das Signal der USV über die ReadyNAS erhalten hat.


    Ist eine derartige Konfiguration auch mit einer QNAP 439 möglich?


    Danke & Grüsse
    Punga