pseries auto reboot

Ci sono certi misteri in questo mondo che non verranno mai svelati, uno di questi e’ perche un architettura server come la pseries, che offre sistemi ad alta affidablita’, ridondati etc etc quando salta la corrente non riparte appena la corrente ritorna!

In realta’ si scoprira’ che il mistero e’ un’altro perche’, alla fine il modo, per farlo partire c’e’. Il mistero sta piuttosto nel modo in cui siano riusciti a brevettare questa cosa!!

In Method and system for reboot recovery vediamo come bisogna complicare un cosa semplice per poterla brevettare.

Queste macchine hanno un firmware altamente configurabile chiamato OpenFirmware, lo stesso che usano i Mac e le Sun. OpenFirmware ha diversi parametri che si possono impostare direttamente dalla linea di comando.

Pero’ i parametri per gestire il reboot sono accessibili unicamente dal RTAS, che e’ un interfaccia tra il sistema operativo e il firmware. Non e’ documentato nessun sistema per accedere a questi parametri direttamente dal firmware, sebbene i dati di configurazione siano salvati indubbiamente nella stessa nvram. Tutta la documentazione ibm parla solo di software per IRIX che permette di modificare questi parametri “nascosti”.
Per accedere a questi parametri esiste pero’ un software per linux: powerpc-utils-papr
(http://powerpc-utils.ozlabs.org/)

Dentro questo pacchetto c’e’ una piccola utility, serv_config, da usare in questo modo:

serv_config -b

e rispondere alle domande con i valori che qui stanno nelle parentesi quadre:
Maximum Number of Reboot Attempts [3]:
Use the O/S Defined Restart Policy (1=Yes, 0=No) [1]:
Enable Supplemental Restart Policy (1=Yes, 0=No) [1]:
Call Out Before Restart [off]:
Enable Unattended Start Mode (1=Yes, 0=No) [1]:
Are you certain you wish to update the system configuration
to the specified values? (yes/no) [yes]:

Dal punto di vista tecnico questo tool modifica, fra gli altri, il parametro sp-ac-reboot,
che sta per unattended reboot, facendo una chiamata a RTAS usando la libreria librtas.

Il parametro si trova nella partizione ibm,setupcfg della NVRAM, separata dal luogo in cui vengono messi gli altri parametri di openfirmware (per esempio il disco di boot etc).

Probabilmente esiste un modo per modificare direttamente questo parametro da openfirmware, pero’ e’ arduo trovare della doc.

Comunque una volta scoperto il fattaccio che questo parametro si trova in un’altra partizione risulta possibile ispezionare queste variabili attraverso un utility piu’ standard che e’ “nvram”, sempre di powerpc-utils, ma distribuita da debian per powerpc (anche per mac).

Quindi possiamo dare un’occhiata a tutte le variabili che stanno in quella partizione:

nvram -p ibm,setupcfg –print-config

e si possono aggiornare con –update-config

nvram -p ibm,setupcfg –update-config sp-ac-reboot=1