Gestione UPS per PC windows e NAS con WinNUT

Language plugins e scripts (Java, Node.js, Pearl, PHP, Python, Ruby, ?sh)
Rispondi
gianni24
Utente
Utente
Messaggi: 13
Iscritto il: venerdì 18 ottobre 2013, 8:31

Gestione UPS per PC windows e NAS con WinNUT

Messaggio da gianni24 »

Ciao a tutti,
sono "nuovo" del forum, e cercando ho trovato un post sull'argomento, ma nel mio caso particolare ho incontrato alcuni problemi e ne ho trovata la soluzione per cui ho intenzione di condividere qui quello che ho scoperto da solo, ed applicato sul mio server di casa.

La premessa: ho un NAS synology DS213L (ma le considerazioni che faccio qui si applicano a qualunque nas synology, purché basato su DSM 4.3 come il mio), questo NAS è collegato ad un UPS supportato (nella fattispecie il modello APC CS650), e sullo stesso UPS è attestato un pc acceso 24/7. La mia esigenza era quella di poter spegnere in modo controllato NAS e PC in caso di mancanza di corrente prolungata, in modo da evitare "sutdown impropri" del NAS e/o del PC.

Per ottenere questo ho al momento configurato il tutto come segue (cosa spiegata nella guida già presente, anche se io non l'avevo ancora scoperta!!!):

1) ho collegato l'UPS al NAS tramite il cavo USB in dotazione all'UPS;
2) ho configurato sul NAS, sotto "pannello di controllo > hardware > ups" uno spegnimento del NAS dopo 20 minuti di "on battery" (nel mio caso l'autonomia dell'UPS è mediamente di 30 minuti, 10 minuti residui sono più che sufficienti perché il NAS ed il PC si spengano);
3) ho configurato sul NAS l'attivazione dello stesso come "server ups di rete", ed ho specificato l'indirizzo ip del pc come "permesso";
4) ho attivato sul PC il programma WinNUT, configurandolo in modo da "leggere" i messaggi inviati dal NAS, e spegnere quindi il PC quando riceve da quest'ultimo il messaggio di FSD (Force Shut Down).

Prima di avere il NAS l'UPS era collegato direttamente al PC, e il suo spegnimento era gestito con il software fornito da APC. Questo software mi permetteva anche di impostare l'UPS in modalità "silenziosa" (per evitare che il cicalino si azionasse di notte) e di leggere quanta potenza l'UPS stesse erogando in un certo momento. Naturalmente dopo aver collegato l'UPS al NAS ho disinstallato dal PC il programma APC, ed ora per avere queste funzionalità "di nuovo" ho fatto una serie di altri piccoli interventi, scrivendo alcuni script (uso per queste cose il perl). In particolare:

1) ho effettuato una patch al file di configurazione per il server ups del NAS in modo da fargli accettare comandi (l'utente di default che si trova già nel file è di sola "lettura")
2) ho creato uno script che mi permette di "chiedere" informazioni all'UPS tramite il NAS. Con questo script posso sapere se il cicalino è acceso o spento, la temperatura dell'UPS, la potenza erogata, e lo stato di carica della batteria.
3) ho creato uno script che mi permette di attivare / disattivare il cicalino dell'UPS.
4) in aggiunta ho creato uno script che dopo un periodo di attesa configurabile (ho messo 10 minuti) attiva WinNUT sul pc.

Ho scoperto a mie spese infatti che a volte il NAS "accende" lo stato FSD (Force Shut Down) sul server UPS, e di conseguenza il pc si spegne. Solo che questo stato resta attivo anche quando ritorna la corrente, e quindi se si prova ad accendere il PC questo subito dopo l'avvio si rispegne. Penso la cosa sia un "bug" di DSM, ma invece di "strapparmi i capelli" ho risolto attivando winnut dopo un "delay": in questo modo il pc dopo averlo acceso resta acceso per una decina di minuti che mi bastano per indagare, ed intervenire. Purtoppo ad oggi l'unica soluzione che ho trovato per "resettare" il flag FSD è di riavviare il NAS.

Saluti a tutti, spero l'argomento interessi: fatemi sapere che nel caso aggiornerò questo post riportando tutte le informazioni necessarie per configurare il tutto.
burghy86
Moderatore
Moderatore
Messaggi: 11357
Iscritto il: martedì 11 settembre 2012, 18:59

Re: Gestione UPS per PC windows e NAS con WinNUT

Messaggio da burghy86 »

interessa molto, ho fatto io la guida per winnut ma non avevo pensato a queste applicazione, ci farebbe molto piacere saperne di più, io con gli script e altro non sono bravissimo..

aspetto una tua guida :roll:

rispondi direttamente alla mia guida in modo da non avere troppi topic sullo stesso argomento
NUOVO CANALE DISCORD
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox o TP-LINK TD-W8970 ISP: [ADSL] intred(20000/1024/0) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: ds213, ds213j, ds415+ 720+ dmv dal 6.2 alla 7. qnap ts212p ts22, all hd con wdred/ironwolf da 2/6tb
  • CLI: win 10, win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd with allshare samsung, vodafone tv, raspberry p2 e p3
gianni24
Utente
Utente
Messaggi: 13
Iscritto il: venerdì 18 ottobre 2013, 8:31

Re: Gestione UPS per PC windows e NAS con WinNUT

Messaggio da gianni24 »

Ok, appena posso metto il tutto come risposta al tuo post, ritieniti libero poi di usare il contenuto come credi e di spostare questo post, in fondo lo scopo è quello di condividere :-)

Gli script sono purtroppo scritti in perl (mi trovo molto meglio col perl che con il vbs, che sarebbe invece il linguaggio di scripting nativo microsoft) e fanno uso del telnet per comunicare con il server ups del NAS. Il mio pc server sul quale girano è XP e non ci sono quindi grossi problemi né col perl né tantomeno col telnet. Per fare la stessa cosa con "Windows 7" bisogna "sbattersi" un po' di più ma si dovrebbe poter fare tutto, farò delle prove apposite a casa.

Posterò (dimmi se è permesso) i link per il download del perl (che non è presente per default in windows, mentre lo è sui sistemi linux).

Al momento inoltre lo script che mostra i dati dell'ups lo fa in una schermata nera "di console", niente di "stellare" insomma, ma posso leggere nuovamente i dati che mi interessano!
vashkenazy
Utente
Utente
Messaggi: 3
Iscritto il: venerdì 13 giugno 2014, 13:46

Re: Gestione UPS per PC windows e NAS con WinNUT

Messaggio da vashkenazy »

Ciao, una curiosità... perché non hai fatto il contrario, ovvero lasciare l'UPS collegato al PC, e sfruttare la possibilità di scripting "on shutdown" del software APC? Avresti risolto in modo più semplice, forse, usando TST (Telnet Script Tool).
Anche io ero nella tua stessa condizione e ho optato per questa soluzione, così ho mantenuto tutte le funzionalità del SW APC.

Ciao

Andrea
Rispondi

Torna a “Language plugins e scripts (Java, Node.js, Pearl, PHP, Python, Ruby, ?sh)”