Dump e restore
Aggiornamento del fuss-server via dump e restore
A partire dalla versione 8.0.48 e 10.0.28 del fuss-server sono stati predisposti gli strumenti necessari ed una procedura che consente di eseguire il dump di un server FUSS8 e ripristinarlo su un server FUSS10, per poter consentire il passaggio da FUSS 8 a FUSS 10 mantenendo la gran parte dei dati presenti sul server di partenza.
Operazioni di dump sul server originario (FUSS8)
La procedura prevede che si effettui un backup completo delle home degli
utenti sul server (che deve comprendere oltre a /home
qualunque altra
directory in cui queste possono essere state inserite), da cui poi
ripristinare i dati. Si darà per scontato che questo sia stato fatto con il
programma fuss-backup
e che il ripristino delle /home
avvenga con
questo programma (il ripristino dei dati delle home può essere fatto in un
secondo tempo).
Il primo passo della procedura è eseguire lo script
/usr/share/fuss-server/scripts/fuss-dump.sh
sul server di partenza (si
assume che sia un FUSS 8), questo creerà un file
fuss-server-dump-$DATA.tgz
nella directory corrente con i dati necessari
al ripristino, che dovrà essere copiato a destinazione sul nuovo server (i
dati dell’archivio restano comunque salvati anche nel server originale sotto
/var/backups/fuss-dump
).
Operazioni sul nuovo server (FUSS10)
Occorrerà poi installare il sistema operativo sul nuovo server, e configurarne la rete; è opportuno usare lo stesso hostname del server precedente; cambiarlo potrebbe infatti dare luogo ad inconvenienti relativi a nomi rimasti in cache sui client, quindi è meglio mantenere sempre lo stesso hostname. Inoltre se sul vecchio server si stanno usando le quote disco, occorrerà che queste siano abilitate anche sul nuovo.
Avvertimento
La procedura di dump e quella di restore assume che le quote siano attive
al massimo su un solo filesystem, come normale su un fuss-server, questo
viene ricavato da /etc/fstab
cercando le opzioni di montaggio
usrquota
e grpquota
, che devono essere attive su un solo filesystem
(non è necessario sia lo stesso fra macchina originale e nuova macchina).
Per poter utilizzare il ripristino occorre installare il nuovo server FUSS10
normalmente, con fuss-server create
, mantenendo però identici il dominio,
la master password ed il workgroup. É opportuno mantenere anche la stessa rete
interna ed il range del DHCP, dato che alcuni dati (in particolare le
impostazioni del firewall e le reservation statiche) possono dipendere da
queste impostazioni.
Pertanto prima dell’esecuzione di fuss-server create
è opportuno copiarsi
i dati della configurazione del server di partenza (il file
/etc/fuss-server/fuss-server.yaml
, che viene comunque anche incluso
nell’archivo prodotto dallo script di dump come fuss-server.yaml.old
) e
modificare soltanto le voci external_ifaces:
e internal_ifaces:
che
possono essere cambiate (come avviene nel passaggio da Jessie a Buster),
adattandole al nuovo server nel caso sia necessario.
Si possono comunque estrarre i dati dal dump che è un semplice tar compresso con:
tar -xvzf fuss-server-dump-$DATA.tgz
ed il file di configurazione del fuss server precedente sarà in
fuss-dump/fuss-server.yaml.old
.
Una volta completata la configurazione di base del fuss-server occorrerà copiarvi il file con il dump dei dati, ed eseguire lo script di restore con:
/usr/share/fuss-server/scripts/fuss-restore.sh fuss-server-dump-$DATA.tgz
lo script una volta scompattato l’archivio nella sottodirectory
fuss-dump
(sovrascriverà eventuali file omonimi contenuti) fermerà tutti
i servizi, reimporterà i dati, e poi li riavvierà.
Dato che i dati di NFS/Kerberos possono risentire di caching da parte del server (che gira nel kernel) può essere opportuno riavviare il server dopo aver eseguito il restore.
A questo punto gli utenti e le configurazioni dei servizi saranno stati
reimportati, ma resterà da ripristinare il contenuto delle home degli utenti,
operazione da fare con le istruzioni date per l’uso di fuss-backup
.
Avvertimento
Il nuovo server, essendo stato reinstallato, avrà delle chiavi SSH diverse dal vecchio, pertanto collegandosi dai client si potranno avere degli errori di mancato riconoscimento delle fingerprint SSH del server dovuti a questo cambiamento. Occorrerà cancellare le vecchie chiavi ed accettare le fingerprint delle nuove chiavi (si abbia cura di segnarsele in fase di reinstallazione).
Come ultima nota, a partire dalla versione 8.0.50 (e 10.0.34) del fuss-server
il file con i default di configurazione
(/etc/fuss-server/fuss-server-defaults.yaml
) non verrà inserito nel dump,
ma semplicemente copiato a fianco di fuss-server.yaml.old
(come
fuss-server-defaults.yaml.old
) nella directory fuss-dump
, questo
perché nello sviluppo di Fuss 10 sono stati aggiunte alcune
ulteriori variabili di configurazioni non presenti con Fuss 8, la cui mancanza
causerebbe il fallimento di fuss-server
ad una esecuzione successiva al
ripristino. Per questo motivo il file viene comunque salvato in modo da poter
verificare, e riapplicare, eventuali modifiche effettuate rispetto al default
installato dal pacchetto.
Avvertimento
Si tenga presente che la rimozione di fuss-server-defaults.yaml
dai
file ripristinati totalmente avviene soltanto se si esegue fuss-dump.sh
nella versione installata con un fuss-server posteriore la 8.0.50, questo
dovrebbe essere sempre vero se si sono tenute aggiornate le macchine come
buona pratica, se questo non è avvenuto, il file sarà ancora presente e
sovrascriverà quello nuovo installato con fuss-server create
. Se non si
è sicuri si salvi il file prima di eseguire il restore.