Vai al contenuto
LGM-OS Enterprise
Casa Azienda
documentazione

Quando qualcosa è già successo.

Ripristino di emergenza

11 min · 9 sezioni

Cosa copre ogni meccanismo

RischioProtezione
Eliminazione accidentale di fileIstantanee + cestino di rete SMB
Guasto di 1–2 dischiRAID (mirror/RAID1/10, RAID-Z1/Z2) + avvisi SMART
Corruzione silenziosaScrub pianificati (checksum ZFS/Btrfs)
Perdita del disco di sistemaBackup della configurazione + reinstallazione
Disastro totale del dispositivoBackup 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:

  1. Un backup esterno configurato e provato ripristinando (backups.md).
  2. Un nas-config-*.tar.gz recente dentro quel backup esterno (non solo nel NAS).
  3. 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.
  4. 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

  1. Riceverai un avviso (Pool X en estado DEGRADED o SMART critico).
  2. Individua il disco in Archiviazione → Protezione → Salute e cifratura (numero di serie e stato per disco).
  3. 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.
  4. 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.
  5. 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:

  1. Installa LGM-OS su un nuovo disco di sistema (install.sh o la ISO).
  2. 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).
  3. Importa i pool:
    • ZFS: zpool import -f <pool> (o zpool import per elencarli).
    • Btrfs: le mount unit ripristinate montano per etichetta automaticamente; altrimenti: mount /dev/disk/by-label/<pool> /mnt/<pool>.
  4. 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:

FaseTempo tipico
Installare LGM-OS dalla ISO20–40 min
Ripristinare la configurazione e creare i pool15 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. rollback dall'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:

ChiavePerché resta fuori
secretChiave di firma dei JWT: chi la possiede può falsificare sessioni di amministratore. Se ne genera una nuova all'avvio.
revoked_tokensScade con i token stessi e perde senso appena cambia la chiave di firma.
lgm_updateConserva il token di accesso a git dell'aggiornamento automatico.
ups_secretPassword condivisa con NUT; si rigenera quando si riapplica l'UPS.
job_slotsSegni 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.