Su IBM i il salvataggio funziona così bene che tende a diventare invisibile: qualcuno l'ha impostato anni fa, il job gira, nessuno lo guarda. Il problema è che un backup non serve a salvare: serve a ripristinare. E la differenza fra i due si scopre solo il giorno in cui serve.
Le tre domande da farsi prima dei comandi
- Quanto lavoro possiamo perdere? Se si salva alle 22 e il guasto arriva alle 17, si perdono le operazioni di un'intera giornata. Se la risposta è "non possiamo permettercelo", non serve un backup migliore: serve la registrazione a giornale, che è un'altra cosa.
- Quanto tempo abbiamo per ripartire? Il ripristino completo di un sistema non è veloce. Va misurato una volta, in prova, così il numero è noto prima di doverlo dire a qualcuno.
- Il salvataggio dove finisce fisicamente? Un backup che resta nella stessa stanza della macchina protegge dai guasti, non dagli incendi né dai ransomware.
I comandi, dal più ampio al più mirato
GO SAVE opzione 21 è il salvataggio completo: sistema operativo, licenze, tutte le librerie utente, l'IFS. Richiede la macchina in stato riservato — nessuno collegato, sottosistemi fermi — quindi si fa in finestre pianificate. È l'unico salvataggio da cui si può ripartire su ferro nuovo.
SAVLIB salva una libreria intera:
SAVLIB LIB(MIALIB) DEV(*SAVF) SAVF(BACKUP/SAVMIALIB)
SAVOBJ salva oggetti scelti, quando serve qualcosa di puntuale.
SAVCHGOBJ salva solo ciò che è cambiato da una certa data:
SAVCHGOBJ OBJ(*ALL) LIB(MIALIB)
REFDATE('01/07/2026')
DEV(*SAVF) SAVF(BACKUP/SAVDELTA)
È la base del salvataggio incrementale: completo il fine settimana, incrementale ogni sera. Riduce molto i tempi, ma allunga il ripristino, perché va ricaricato il completo e poi gli incrementali in ordine.
I save file: comodi, con un limite da conoscere
Un save file è un contenitore su disco che si comporta come un nastro:
CRTSAVF FILE(BACKUP/SAVMIALIB) TEXT('Salvataggio MIALIB')
Sono comodissimi: si creano al volo, si trasferiscono via FTP, si tengono online. Hanno però una caratteristica che va detta chiaramente: stanno sugli stessi dischi della macchina. Un save file è un ottimo modo per spostare oggetti e per tenere una copia di sicurezza prima di una modifica; non è un backup, perché condivide il destino del sistema che dovrebbe proteggere.
Il salvataggio serio finisce su nastro, oppure viene copiato fuori dalla macchina subito dopo essere stato creato.
Prima di ogni modifica delicata
È l'abitudine che ripaga più di tutte, e costa trenta secondi:
CRTDUPOBJ OBJ(PGMORD) FROMLIB(MIALIB)
OBJTYPE(*PGM) TOLIB(MIALIBBAK)
NEWOBJ(PGMORD01)
Un programma o un file duplicato prima di toccarlo è un ripristino che si risolve in un secondo invece che in un'ora. Vale soprattutto per i file di dati, dove CRTDUPOBJ con DATA(*YES) porta via anche i record.
La parte che quasi nessuno fa
Un salvataggio non verificato è un'ipotesi. Le verifiche che vale la pena mettere in calendario:
Controllare che il job sia andato a buon fine, non solo che sia partito. Il job log contiene i messaggi di completamento con il numero di oggetti salvati e, soprattutto, quelli non salvati. Un oggetto in uso al momento del salvataggio viene saltato: il job risulta finito, ma quell'oggetto non è nel backup.
Provare un ripristino vero. Non serve fermare la produzione: si ripristina una libreria in una libreria di prova.
RSTLIB SAVLIB(MIALIB) DEV(*SAVF)
SAVF(BACKUP/SAVMIALIB)
RSTLIB(PROVAMIALIB)
Se questo comando funziona e i dati dentro sono quelli attesi, il backup esiste davvero. Se non è mai stato provato, si sta sperando.
Misurare quanto ci vuole. Il tempo di ripristino di una libreria grande, moltiplicato per il numero di librerie, dà l'ordine di grandezza del disastro. È un numero che è meglio conoscere in anticipo.
Se il patrimonio è grande, esiste BRMS
Gestire a mano rotazioni di nastri, incrementali e scadenze diventa presto ingestibile. Backup, Recovery and Media Services è il prodotto IBM che se ne occupa: tiene il catalogo di cosa sta dove, gestisce la rotazione dei supporti e sa dire, dato un oggetto, in quale salvataggio si trova. È un prodotto a licenza separata, e ha senso quando il numero di librerie e di supporti supera quello che una persona può ricordare.
Il minimo indispensabile
Se non c'è tempo per altro, almeno questi tre punti:
- Un
GO SAVEopzione 21 periodico, su supporto che esce dalla stanza. - Un salvataggio quotidiano delle librerie applicative, verificato leggendo il job log.
- Un ripristino di prova all'anno, con il tempo cronometrato.
Il terzo punto è quello che trasforma una speranza in una certezza.
Su quali versioni funziona
SAVLIB, RSTLIB, SAVOBJ, RSTOBJ, SAVCHGOBJ, CRTSAVF, CRTDUPOBJ, GO SAVE —
comandi storici, presenti su tutte le release in uso e con lo stesso comportamento di
fondo. È materia che cambia poco proprio perché è quella su cui si regge il ripristino.
BRMS (Backup, Recovery and Media Services) è un prodotto a licenza separata, non compreso nel sistema operativo. Va acquistato e installato a parte, ed è disponibile per tutte le release supportate.
Quello che cambia fra le versioni sono soprattutto i supporti e le opzioni di destinazione — cifratura dei salvataggi, salvataggio verso cloud, funzioni di BRMS — e i dettagli del ripristino completo, che dipendono anche dal modello di macchina.
Per il ripristino totale non affidarti a un articolo, nemmeno a questo: IBM pubblica il manuale Recovering your system specifico per ogni release, ed è quello il documento da avere stampato prima che serva. Lo trovi fra le fonti.
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati