Esegui un nuovo seed quando non puoi dimostrare l’esistenza di una base comune valida o quando la riparazione della catena richiederebbe un rollback non verificato della destinazione. Conserva prima l’ultima replica leggibile.
In un NAS domestico, la scorciatoia più allettante consiste nel forzare il successivo invio incrementale finché non viene eseguito. Questo può nascondere uno snapshot padre mancante, una destinazione divergente o un target di ricezione che non è più il dataset che pensi. Inizia inventariando entrambi i lati senza modificare nessuno dei due, verifica se esiste ancora una base condivisa e usa un seed completo in ambiente di staging quando le evidenze non supportano una continuazione incrementale sicura.
Dimostra che entrambi i lati condividono ancora la stessa base
Inizia con un inventario in sola lettura del dataset di origine, del dataset di destinazione, degli snapshot, dei bookmark e di qualsiasi stato di ripresa della ricezione. Non confrontare solo un comodo nome di snapshot: conferma che la base candidata appartenga ai dataset previsti e rappresenti la stessa cronologia di replica. Salva gli elenchi prima della pulizia, così potrai spiegare perché è stata scelta l’azione successiva.
La replica incrementale ZFS dipende dalla presenza presso il ricevitore di una base già esistente. Una pratica sequenza di replica degli snapshot preserva quindi deliberatamente la cronologia condivisa, invece di presumere che etichette identiche dimostrino la continuità.
Se esiste una base verificata su entrambi i lati, procedi con un test incrementale non distruttivo. Se il nome esiste ma l’identità o il percorso del dataset differiscono, considera la catena non verificata. Se non rimane alcuna base comune, non eliminare altri snapshot né forzare il rollback della destinazione; la decisione è già orientata verso un nuovo seed in staging.
Testa il piano incrementale senza modificare la replica
Prepara l’invio proposto usando la base verificata e il target più recente, ma non inoltrarlo ancora alla destinazione attiva. Usa un’esecuzione a secco, una stima dettagliata o la modalità di anteprima dello strumento di replica. Conferma il percorso di origine, il percorso di destinazione, lo snapshot di base, lo snapshot target, i flag di ricorsione e la dimensione prevista del flusso prima che una ricezione possa modificare i dati.
Uno scheduler che segnala nessuno snapshot di base comune sta rifiutando un’ipotesi non sicura, non sta semplicemente chiedendo di riprovare. I tentativi ripetuti non ricreano la cronologia condivisa eliminata.
Un flusso delle dimensioni del delta proveniente dalla base e dal target esatti supporta la riparazione della catena. Un flusso vicino alle dimensioni dell’intero dataset, un dataset imprevisto o qualsiasi requisito di rollback forzato indicano che l’anteprima non ha avuto esito positivo. Fermati e conserva la replica attuale; modificare i flag finché il comando non viene eseguito non equivale a una verifica.
Scegli la riparazione solo quando la cronologia e lo stato della destinazione coincidono
Ripara il percorso incrementale solo quando la base comune è verificata, la destinazione non è diventata una copia di lavoro indipendente e l’anteprima propone il delta previsto. Mantieni la destinazione in sola lettura durante la finestra di riparazione. Invia prima a un nuovo dataset figlio o a un target di staging, se lo strumento lo consente, quindi confronta i risultati prima di promuoverli.
Esegui un nuovo seed quando non esiste alcuna base valida, la destinazione è divergente, il rollback richiesto eliminerebbe snapshot di cui hai ancora bisogno oppure il tempo necessario per dimostrare la validità della catena supera il costo controllato di un nuovo trasferimento completo. Le discussioni sulla discendenza degli snapshot incrementali ribadiscono che i nomi intermedi sono meno importanti della conservazione di un punto comune utilizzabile.
Non cancellare la vecchia destinazione per fare spazio, a meno che non esista un’altra copia verificata. Un nuovo seed più sicuro scrive su un dataset o pool separato, verifica la nuova copia e solo in seguito dismette la catena danneggiata. Se non c’è capacità sufficiente per conservare entrambe le copie, metti in pausa e procurati spazio temporaneo invece di trasformare l’ultima replica leggibile in un esperimento.
Convalida la nuova catena attraverso due cicli di replica
Una ricezione completa riuscita dimostra soltanto che un flusso è arrivato. Crea un piccolo file di test o modifica una proprietà sull’origine, acquisisci lo snapshot pianificato successivo ed esegui un secondo ciclo incrementale usando la nuova base comune. Dopo entrambe le esecuzioni, confronta le proprietà dei dataset, gli elenchi degli snapshot, un campione di file e il registro della replica.
Se il comportamento di ripresa faceva parte del problema originale, mantieni separato il precedente percorso di errore del token di ripresa dalla discendenza mancante, così lo stesso sintomo non ti indirizzerà nuovamente verso la riparazione sbagliata.
Il ripristino è riuscito quando il nuovo seed è leggibile, il secondo trasferimento incrementale è delle dimensioni del delta e ha esito positivo, e gli snapshot e i file previsti compaiono dopo un riavvio o un’esecuzione pianificata. Conserva la replica precedente finché questi controlli non sono superati. Procedi con un’escalation se le identità cambiano nuovamente, la destinazione non può rimanere in sola lettura o lo strumento seleziona ripetutamente una base imprevista.
Supporto e consigli
Altro da leggere

Come pianificare i processi Restic di backup, Forget e Prune senza conflitti di blocco
Una pianificazione completa di Restic per più host, che separa i backup frequenti, la conservazione con ambito definito, il prune fisico, i controlli, i...

Come impedire che i processi di eliminazione di Restic blocchino i backup programmati
Un piano di prevenzione per i repository Restic condivisi che separa le finestre di backup da prune e mantiene intatti i blocchi, i tentativi...

Come rimuovere un blocco Restic obsoleto senza interrompere un backup attivo
Un flusso di sblocco di Restic il meno invasivo possibile, che protegge i backup attivi, rimuove solo lo stato obsoleto e conferma il ripristino...

