Ripristino di emergenza
11 min · 9 sezioni
Cosa copre ogni meccanismo
| Rischio | Protezione |
|---|---|
| Eliminazione accidentale di file | Istantanee + cestino di rete SMB |
| Guasto di 1–2 dischi | RAID (mirror/RAID1/10, RAID-Z1/Z2) + avvisi SMART |
| Corruzione silenziosa | Scrub pianificati (checksum ZFS/Btrfs) |
| Perdita del disco di sistema | Backup della configurazione + reinstallazione |
| Disastro totale del dispositivo | Backup esterno dei dati (app Backup) + reinstallazione → procedura |
Il RAID non è un backup: protegge dai guasti dei dischi, non dalle eliminazioni, dal ransomware né dagli incendi. Il backup che esce dal dispositivo si configura e si prova seguendo backups.md; questa guida è ciò che si fa quando qualcosa è già successo.
Prima che succeda qualcosa
Cinque minuti oggi, ore di angoscia in meno il giorno brutto:
- Un backup esterno configurato e provato ripristinando (backups.md).
- Un
nas-config-*.tar.gzrecente dentro quel backup esterno (non solo nel NAS). - Avvisi via email o webhook attivi (Pannello di controllo → Avvisi): un disco che si guasta o un backup che fallisce da un mese devono avvisarti.
- Annotati da qualche parte fuori dal NAS: nomi dei pool, nome del server, dominio DDNS e i codici di recupero del 2FA.
Disco di dati guasto
- Riceverai un avviso (
Pool X en estado DEGRADEDo SMART critico). - Individua il disco in Archiviazione → Protezione → Salute e cifratura (numero di serie e stato per disco).
- Collega il disco nuovo. Se il dispositivo supporta la sostituzione a caldo puoi farlo senza spegnere; altrimenti, spegni (Pannello di controllo → Spegni e riavvia), sostituisci e avvia.
- Archiviazione → Protezione → Salute e cifratura → Dischi di ogni volume → «Sostituisci» sul disco guasto, e scegli quello di ricambio. L'operazione gira come attività in background: il resilver (ZFS) o la copia (Btrfs) può richiedere ore, e il pool resta in uso nel frattempo.
- Sorveglia l'avanzamento in Archiviazione (riga «scan») finché il pool non torna sano. **Non togliere un altro disco** durante il processo: è il momento di minor ridondanza.
Se preferisci la console, l'equivalente è zpool replace <pool> <disco-vecchio> /dev/sdX in ZFS e btrfs replace start <devid> /dev/sdX /mnt/<pool> in Btrfs.
Reinstallare il sistema conservando i dati
Quando muore il disco di sistema ma i dischi di dati sono intatti. I pool vivono nei dischi di dati; il sistema è sostituibile:
- Installa LGM-OS su un nuovo disco di sistema (
install.sho la ISO). - Ripristina la configurazione: Pannello di controllo → Backup della configurazione → «Ripristina da file…» con il tuo ultimo
nas-config-*.tar.gz, e riavvia il servizio. Tornano gli utenti, i gruppi e le cartelle della casa con i loro permessi; la chiave di firma delle sessioni si rigenera (tutti dovranno rientrare). - Importa i pool:
- ZFS:
zpool import -f <pool>(ozpool importper elencarli). - Btrfs: le mount unit ripristinate montano per etichetta automaticamente; altrimenti:
mount /dev/disk/by-label/<pool> /mnt/<pool>. - Riapplica i servizi dall'interfaccia (SMB/NFS/WebDAV si riscrivono al salvataggio).
Ricominciare da zero senza reinstallare
Quando il dispositivo sta bene ma vuoi il pannello come il primo giorno —il NAS cambia mano, o preferisci rifare la configurazione da zero—, non serve reinstallare: Pannello di controllo → Ripristino delle impostazioni di fabbrica. Si eliminano gli account, le cartelle smettono di essere condivise e si tolgono le applicazioni e le impostazioni; i volumi, con tutti i tuoi dati, e la rete restano.
Chiede la tua password, il tuo codice a due passaggi e un codice che compare solo sullo schermo collegato al NAS, quindi bisogna averlo davanti. Prima di toccare qualsiasi cosa, salva le impostazioni precedenti in /var/nas/apartados. Lo spiega per intero la Guida all'amministrazione.
Se il NAS lascia casa, questo non elimina i tuoi dati: i volumi restano con tutto dentro. Per eliminarli, elimina il pool in Archiviazione.
Disastro totale del dispositivo
Il NAS non esiste più: incendio, alluvione, furto, sovratensione che si è portata via scheda e dischi, o un ransomware che ha cifrato tutto ciò che il NAS aveva montato. I dati non sono nel dispositivo, sono nel tuo backup esterno, e la procedura consiste nel ricostruire il NAS attorno a esso.
Requisito: un backup esterno recente e provato. Se non hai mai ripristinato da lì, oggi scopri se serve. È esattamente lo scenario che backups.md cerca di evitare.
Ordine di lavoro
1. Hardware. Non deve essere identico al precedente. Ti servono dischi di dati con almeno la capacità di ciò che ripristinerai e un disco per il sistema.
2. Installa LGM-OS. Avvia la ISO e rispondi alle quattro domande (nome del server, rete, utente della console e disco di sistema). Alla fine, entra in https://<ip>:5001 e crea l'amministratore nella procedura guidata del primo accesso.
3. Ripristina la configurazione. Recupera il nas-config-*.tar.gz dal backup esterno (è tra i file copiati; se il backup è un disco USB, collegalo e prendilo da lì) e caricalo in Pannello di controllo → Backup della configurazione → «Ripristina da file…». Dopo:
sudo systemctl restart nas-backend
Tornano utenti, gruppi, cartelle della casa con i loro permessi, servizi, rete, attività pianificate e avvisi. Non ci sono ancora né dati né pool: è il passo successivo.
4. Crea i pool con gli stessi nomi. Archiviazione → «Crea volume». È importante che il nome coincida con quello di prima: le cartelle della casa, le esportazioni e le app fanno riferimento a percorsi /mnt/<pool>/…, e con un altro nome bisognerebbe rifarle una per una.
5. Ricrea le cartelle della casa dal Pannello di controllo (restano definite dopo il passo 3: basta salvarle perché si creino nel nuovo volume con i loro permessi).
6. Ripristina i dati con l'app Backup. Le destinazioni e le attività sono tornate con la configurazione del passo 3, quindi l'app sa già dov'è il tuo backup. Due avvertenze prima di cominciare:
- Se la destinazione è remota, il nuovo NAS ha una chiave SSH nuova: autorizzala sul server remoto come la prima volta (passo 3 di backups.md) o non potrà nemmeno leggere il backup.
- Se la destinazione è un disco USB, collegalo e verifica che la destinazione compaia come disponibile.
Poi, per ogni attività: scegli la versione che vuoi (di solito l'ultima buona) e la cartella di destinazione. Comincia da ciò che è insostituibile — documenti e foto — e lascia la collezione multimediale per ultima: così hai ciò che conta disponibile in poche ore anche se il resto richiede giorni. Se l'attività era cifrata, ti serve la password di cifratura; senza, non c'è ripristino possibile.
Se preferisci (o devi) farlo a mano dalla console, per esempio con un disco USB montato in /mnt/usb-copia:
sudo rsync -aHAX --numeric-ids --info=progress2 \
/mnt/usb-copia/<percorso-della-versione>/documentos/ /mnt/tanque/documentos/
Attenzione alle barre finali: origine/ copia il contenuto di quella cartella dentro la destinazione; senza la barra copierebbe l'intera cartella dentro.
Se la destinazione remota è stata autorizzata con rrsync -wo (sola scrittura), quella chiave non può leggere: ripristina dal server remoto stesso o togli temporaneamente quella restrizione dal suo authorized_keys.
7. Riapplica i servizi (SMB/NFS/WebDAV) salvandoli dall'interfaccia e verifica da un PC che le condivisioni si vedano e ci si possa scrivere.
8. App Docker. Reinstallale dal Centro pacchetti e, prima di avviarle, ripristina i loro dati su /var/nas/apps/<app>/. Avviare un'app con il database vuoto e ripristinarla dopo di solito finisce male.
9. Accesso esterno. Il certificato Let's Encrypt non si ripristina: si riemette da solo da Pannello di controllo → Accesso esterno appena il dominio punta al nuovo IP (controlla il DDNS e l'inoltro delle porte del nuovo router).
10. Rimetti in moto i backup. Verifica che le destinazioni siano disponibili e che le attività restino attive e con orario. Un NAS ripristinato senza backup esterno è un disastro recuperato a metà: il prossimo ti coglie come questo.
11. Prova il backup. Esegui un'attività a mano e ripristina un paio di file dalla versione appena creata. Chiudi il cerchio lo stesso giorno, non «quando avrò un attimo».
Quanto ci vuole
Indicativo, perché tu dimensioni le aspettative e decida da dove cominciare:
| Fase | Tempo tipico |
|---|---|
| Installare LGM-OS dalla ISO | 20–40 min |
| Ripristinare la configurazione e creare i pool | 15 min |
| Ripristinare i dati da disco USB (USB 3, 2 TB) | 4–8 h |
| Ripristinare i dati via internet (2 TB, linea da 30 Mbps in upload dall'altra parte) | 3–5 giorni |
Che il ripristino via rete sia così lento è il motivo per avere anche un backup locale (o uno che puoi andare a prendere in auto): il backup remoto è la tua assicurazione contro l'incendio, quello locale è quello che ti rimette al lavoro lo stesso giorno.
Ripristinare file da un'istantanea
- ZFS: le istantanee sono visibili in
/mnt/<pool>/<dataset>/.zfs/snapshot/<nome>/— copia ciò che ti serve senza toccare nient'altro.rollbackdall'interfaccia riporta indietro l'intero dataset (distrugge le istantanee successive). - Btrfs: «Ripristina» crea
/mnt/<pool>/restaurado-<data>con il contenuto dell'istantanea; copia ciò che ti serve ed elimina quella cartella (è un sottovolume:btrfs subvolume delete).
Backup della configurazione
Scaricalo a mano da Pannello di controllo → Backup della configurazione, o automatizzalo: Pannello di controllo → Attività pianificate → tipo «backup» verso /mnt/<pool>/backups (per esempio settimanale). Conserva quella cartella dentro il backup esterno: è la prima cosa che ti servirà nello scenario precedente.
Cosa contiene il nas-config-*.tar.gz
state/— tutto lo stato di/var/nas/state: utenti e gruppi, cartelle della casa con i loro permessi per utente e gruppo, SMB, NFS, WebDAV, SSH, firewall, rete, pool registrati, attività pianificate, avvisi, notifiche, App Store, SNMP, portale di accesso, UPS e blocco automatico degli IP. È questo che si ripristina.etc/— copia dei file generati (smb.conf, exports, nftables, sshd, htpasswd) **solo come riferimento**: il ripristino non li sovrascrive, si riscrivono da soli quando si riapplicano i servizi dall'interfaccia.
Cosa NON contiene, di proposito
Solo segreti del dispositivo e stato usa e getta; mai configurazione:
| Chiave | Perché resta fuori |
|---|---|
secret | Chiave di firma dei JWT: chi la possiede può falsificare sessioni di amministratore. Se ne genera una nuova all'avvio. |
revoked_tokens | Scade con i token stessi e perde senso appena cambia la chiave di firma. |
lgm_update | Conserva il token di accesso a git dell'aggiornamento automatico. |
ups_secret | Password condivisa con NUT; si rigenera quando si riapplica l'UPS. |
job_slots | Segni interni del pianificatore; si rifanno da soli. |
Qualsiasi altra chiave di stato entra nel backup di default, comprese quelle di funzioni future: la tabella è l'unica eccezione e backend/tests/test_backup_state.py fallisce se qualcuno aggiunge stato nuovo senza decidere da che parte cade. Prima era il contrario — un elenco di dodici file da includere — e le cartelle della casa si perdevano in silenzio a ogni ripristino.
Ripristinare
Pannello di controllo → Backup della configurazione → «Ripristina da file…». Si accettano solo voci state/<chiave>.json del formato proprio (si rifiuta qualsiasi percorso che esca dalla directory di stato) e le chiavi protette della tabella si ignorano anche se arrivano dentro il file. Dopo: systemctl restart nas-backend e riapplica i servizi dall'interfaccia.
⚠️ Questo backup non include i tuoi dati: per quelli ci sono le istantanee (dentro il dispositivo) e il backup esterno (fuori da esso).
Ciò che resta scoperto
Con il backup esterno configurato, il disastro totale smette di essere un vicolo cieco. Anche così, è bene sapere dove sono i limiti:
- Ciò che è successo dall'ultimo backup si perde. Se copi di notte e il dispositivo brucia alle 20:00, se ne va il lavoro della giornata. Aumenta la frequenza di ciò che non puoi ripetere.
- Ciò che non era in nessuna attività non c'è. Una cartella della casa creata dopo aver configurato i backup non entra da sola: controlla ogni tanto le origini delle tue attività.
- Non c'è un'immagine del disco di sistema (bare metal): LGM-OS si reinstalla dalla ISO e si ripristina la configurazione. È rapido, ma non è un «clona e avvia».
- Se il backup era accanto al NAS, il disastro si è portato via anche quello. Un backup su una USB collegata permanentemente al dispositivo non sopravvive a un incendio, a un furto né a un ransomware. Per questo uno dei backup deve stare fuori.
- Sessioni e 2FA: la chiave di firma si rigenera e tutti rientrano; i codici TOTP sono nel telefono di ogni utente. Conserva a parte quelli di recupero.
- Chiavi e certificati del dispositivo sono nuovi: bisogna riautorizzare la chiave SSH del NAS nella destinazione del backup e riemettere il certificato Let's Encrypt.