HP Proliant ML110 G6: configurazione dell’avvio automatico in presenza di alimentazione

Sempre più spesso utilizzo la virtualizzazione in ambito industriale impiegando Hyper-V per virtualizzare VM che eseguiranno supervisioni o elaborazioni di processi produttivi, interfacciandosi a PLC e CN tramite Ethernet in modo diretto o con l’impiego di convertitori RS232 – Ethernet o RS485 – Ethernet.

In questo modo i sistemi risultano indipendenti dall’hardware in quanto comunicano esclusivamente tramite Ethernet senza l’impiego di schede hardware di comunicazione. Ciò fa si che il ripristino di questi sistemi sia assolutamente rapido in quanto è sufficiente copiare il file del VM su un nuovo il server di virtualizzazione che potrà avere anche hardware differente a tutto vantaggio della produzione. Per uno script di backup delle VM si veda Hyper-V backup di macchine virtuali.

Post001

Ovviamente essendo un’applicazione industriale il server deve essere posto in quadro e alimentato tramite un gruppo di continuità che provvederà a garantire l’alimentazione anche di convertitori e switch.

Un funzionalità utile è quella di avviare automaticamente il server Hyper-V quando viene acceso il gruppo di continuità ovvero fare eseguire il boot in presenza di alimentazione.

Per far questo occorre innanzitutto impostare il BIOS per avviare il computer dopo una mancanza di alimentazione, nell’HP ML110 G6 occorre impostare la voce Restore after AC Power Loss a On che si trova nella sezione Main/Boot Feature.

Questa impostazione farà si che se al computer manca alimentazione mentre è ancora acceso, quando l’alimentazione viene ripristinata verrà eseguito il boot in modo automatico (ovviamente anche il BIOS di computer hanno questa funzionalità, che può avere denominazioni diverse).

Ovviamente questa impostazione implica che il sistema operativo va arrestato lasciando ancora alimentato il computer (ovvero facendo comparire  la schermata It is Now Safe to Turn Off Your Computer).

Per attivare questa funzionalità occorre attivare la group policy Configurazione computer/Modelli amministrativi/Sistema/Non interrompere completamente l’alimentazione di sistema dopo un arresto di Windows. Questa policy, come indicato nella descrizione,  non ha effetto sul comportamento di arresto di Windows quando si seleziona manualmente l’opzione di arresto nelle interfacce utente del menu Start o di Gestione attività.  Questa impostazione è applicabile solo se l’arresto di Windows viene causato da programmi che richiamano le interfacce di programmazione di Windows ExitWindowsEx() o InitiateSystemShutdown().

Occorre quindi arrestare il computer tramite il comando shutdown utilizzando per esempio un script Arresto.vbs di questo tipo:

If msgbox(“Confermi l’arresto del sistema?”, vbYesNo OR vbQuestion OR vbDefaultButton2, “Arresto del sistema”) = vbYes Then
  Set shell = CreateObject(“WScript.Shell”)
  shell.run “shutdown -s -f -t 0”
  set shell = Nothing
End If

A questo punto per evitare che l’operatore arresti il sistema tramite l’interfaccia utente del menu Start è possibile attivare la seguente group policy Configurazione utente/Modelli amministrativi/Menu di avvio e barra delle applicazioni/Rimuovi e impedisci accesso ai comandi Arresta il sistema, Riavvia il sistema, Sospensione e Ibernazione.

Per ulteriori informazioni si vedano: