La domanda che conta non è «facciamo i backup» ma quanto lavoro si perde se il sistema si ferma adesso, e quanto tempo passa prima di essere di nuovo operativi. Un piano di salvataggio risponde a queste due domande con un numero; una procedura che gira di notte, da sola, no.
Che cosa c'è da salvare
Un IBM i completo è fatto di pezzi che si salvano con comandi diversi:
- il Licensed Internal Code e la libreria QSYS, insieme ai dati di sicurezza e agli
oggetti di configurazione:
SAVSYS, che non salva nessun'altra libreria; - le librerie diverse da quelle di sistema, cioè prodotti, applicativo e dati:
SAVLIB LIB(*NONSYS), oppure*ALLUSRper le sole librerie utente e*IBMper quelle IBM; - i documenti e le cartelle di QDLS:
SAVDLO; - gli oggetti dell'IFS:
SAV, il comando degli altri file system.
Il menu che li mette in fila:
GO SAVE
| Opzione | Che cosa salva | Stato ristretto |
|---|---|---|
| 21 | tutto il sistema | obbligatorio |
| 22 | i soli dati di sistema, niente dati utente | obbligatorio |
| 23 | tutti i dati utente | lo mette lei, salvo saltare ENDSBS chiedendo i comandi |
Le tre opzioni chiudono prima i server TCP/IP e i server host, poi TCP/IP, con due attese
(DLYJOB) di 300 secondi ciascuna di serie, e solo dopo lanciano ENDSBS SBS(*ALL). L'opzione 21 lancia, fra gli altri, SAVSYS,
SAVLIB LIB(*NONSYS), SAVDLO e SAV sull'IFS escludendo /QSYS.LIB e /QDLS, che sono
già salvati dai comandi prima. L'opzione 20 cambia i valori predefiniti delle altre tre.
Avvertenza
stato ristretto vuol dire che, quando il salvataggio comincia, nessuno
può usare il sistema. IBM consiglia la notte per un sistema piccolo e il fine settimana
per uno grande. Gli ASP indipendenti vanno resi disponibili prima, altrimenti non si
salvano. Un piano fatto solo di salvataggi a caldo delle librerie non comprende SAVSYS,
e senza SAVSYS non si riparte da un disco vuoto.
I journal
Un salvataggio notturno riporta il sistema a com'era ieri sera. Le modifiche successive si recuperano solo se c'è il journal.
Il journal registra le modifiche ai file in un oggetto separato, il journal receiver. Da un salvataggio più il journal si ricostruisce lo stato fino all'ultima modifica registrata.
CRTJRNRCV JRNRCV(JRNLIB/RCV0001)
CRTJRN JRN(JRNLIB/JRNPROD) JRNRCV(JRNLIB/RCV0001)
STRJRNPF FILE(PRODLIB/ORDINI) JRN(JRNLIB/JRNPROD)
Il journal non serve solo al ripristino: senza journal non c'è il controllo di commit, e ci lavorano sopra le soluzioni di replica.
Quando il sistema cambia e cancella i receiver
Parametro di CRTJRN e CHGJRN |
Che cosa fa |
|---|---|
MNGRCV(*SYSTEM) |
quando il receiver arriva alla soglia, il sistema lo stacca, ne crea uno nuovo e manda CPF7020 alla coda del journal |
DLTRCV(*YES) |
il sistema cancella i receiver staccati quando non servono più; vale solo con MNGRCV(*SYSTEM) |
Avvertenza
DLTRCV(*YES) non aspetta il salvataggio. Le sole cose che fermano
la cancellazione sono un blocco sull'oggetto, un journal remoto che non ha ancora la copia
completa, e un programma di uscita registrato sull'exit point QIBM_QJO_DLT_JRNRCV che
dice che il receiver non si può cancellare. Senza uno di questi, un receiver non salvato
sparisce, e con lui le modifiche che servivano per il ripristino. Se ne parla, con le
query, in Liberare spazio dai journal receiver.
Il supporto non è il punto
Nastro, libreria virtuale su disco o altro conta meno di tre domande:
Il salvataggio si rilegge? Un job finito senza errori dice che il salvataggio è stato scritto, non che si possa ripristinare. La prova è ripristinare qualcosa, su un sistema di collaudo o in una libreria diversa, e vedere che c'è.
Una copia sta altrove? Un supporto nell'armadio accanto alla macchina protegge dal guasto del disco, non da un incendio o da un attacco che cifra la rete.
Qualcuno sa farlo? Il ripristino completo ha un ordine preciso. Conviene averlo scritto e provato prima di averne bisogno.
Consiglio
dove il salvataggio è governato da BRMS, conviene capire come è configurato invece di costruirsi una procedura parallela, che non saprebbe niente dei salvataggi dell'altra.
Ripristinare
I comandi sono simmetrici a quelli di salvataggio (RSTUSRPRF, RSTLIB, RSTOBJ, RST,
RSTCFG, RSTDLO, RSTAUT), ma l'ordine conta. IBM lo dà così:
- I profili utente, con
RSTUSRPRF: il proprietario di un oggetto deve esistere prima che l'oggetto si ripristini.RSTUSRPRF USRPRF(*ALL)riporta anche gli elenchi di autorizzazioni e i titolari di diritti, che devono esserci prima degli oggetti. - Gli oggetti, con
RSTCFG,RSTLIB,RSTOBJ,RSTDLOoRST: tornano proprietario, diritto pubblico e le altre informazioni salvate con l'oggetto. - I diritti privati, con
RSTAUT; in alternativa,PVTAUT(*YES)sul comando di ripristino.
Sbagliando l'ordine, IBM avverte che proprietà e diritti non tornano come erano e le applicazioni possono non funzionare.
Avvertenza
il valore di sistema QALWOBJRST decide se si possono ripristinare
oggetti sensibili per la sicurezza, come un programma che adotta diritti o un oggetto in
stato di sistema. Arriva impostato a *ALL, ed è il valore che serve per installare
un rilascio, installare prodotti e ripristinare il sistema. IBM consiglia di riportarlo al
valore abituale finita l'operazione: chi lo lascia a *ALL accetta qualunque programma
che adotta diritti da qualunque supporto.
Per un ripristino completo IBM pubblica le liste di controllo, una per ogni caso, con i passi già in quest'ordine: si leggono sul rilascio del proprio sistema prima di cominciare, non durante.
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati