Come posso aggiornare lo stato magnetico su un disco con backup?


8

Ho un paio di dischi di grandi dimensioni con materiale di backup / archivio su di essi. Sono ext4 . Per quanto riguarda quelli di quelli che verranno conservati per un paio d'anni senza leggere di nuovo l'intero disco, ho pensato a un modo per rinfrescare lo stato magnetico dei dischi. La durata di conservazione delle unità sembra essere una questione di dibattito ovunque io stia cercando una risposta, ma sembra che dopo un paio di anni (diciamo circa 5) di archiviazione sarebbe saggio aggiornare i dati in qualche modo (? )

Ho visto questo suggerito:

dd if=/dev/sda of=/dev/sda

È sicuro? È utile?

Quello che sto cercando di fare è un'altra cosa che a fscko a dd if=/dev/sda of=/dev/null, entrambi i quali probabilmente scopriranno interruzioni magnetiche esistenti sul disco.

Quello che voglio fare è aggiornare i dati magnetici prima che le cariche magnetiche sul disco scendano al di sotto di un livello leggibile. Come posso fare questo?

Risposte:


8

Generalmente non è possibile aggiornare realmente l'intero disco senza leggere / scrivere tutto. fsckè improbabile che fornisca ciò di cui hai bisogno: funziona con il file system e non con il dispositivo sottostante, quindi esegue principalmente la scansione dei metadati del file system (inode e altre strutture del file system).

badblocks -npotrebbe essere un'opzione per dd if=X of=X. In ogni caso, probabilmente vorrai usare blocchi di grandi dimensioni per accelerare le cose (per ddqualcosa del genere bs=16M, perché badblocksquesto leggerebbe -b 16777216o -b $((1<<24))in shell ragionevoli). Probabilmente vorrai anche usarlo conv=fsynccon dd.

Per quanto riguarda la sicurezza di ddcon lo stesso dispositivo di input e output - legge il blocco dall'input e lo scrive sull'output, quindi dovrebbe essere sicuro (ho ricodificato una partizione crittografata come questa in diverse occasioni, creando dispositivi loop con stesso dispositivo sottostante e password diverse e quindi dd"l'uno dall'altro" - almeno per alcuni tipi di supporti fisici: ad esempio con dischi shedled , per me non è assolutamente ovvio, è a prova di errore al 100%.


Grazie per la tua risposta! Quindi conv=fsync"scrivere fisicamente i dati dei file di output e i metadati prima di terminare", cosa significa? È più sicuro o perché dovrei usarlo?
PetaspeedBeaver,

1
Mi aspetto che si assicuri che tutte le cache del kernel siano scaricate sul supporto prima di uscire. Dato che stai solo riscrivendo gli stessi dati, in realtà non dovrebbe importare molto. Garantisce solo che, al ddtermine, è possibile estrarre la spina (bene potrebbe esserci una cache nell'HDD, ma questo è fuori dalla giurisdizione del software).
peterph,

Quindi, in sintesi, il ddcomando completo dovrebbe essere qualcosa come dd if=/dev/sda of=/dev/sda bs=16M conv=fsyncplus, forse anche status=progressper mostrare i progressi. Ciò richiederà del tempo, a seconda delle dimensioni e della velocità dell'unità. Presumo che annullare questo processo intermedio con, ad esempio, Ctrl + C sia sicuro?
Martin Spacek,

1
Sì, in teoria l'interruzione dell'intero processo dovrebbe essere sicura. Almeno per un azionamento magnetico rotante non ghiaioso : questa è un'area in cui contano l'esatto principio fisico e la tecnologia utilizzata.
peterph

1

Non conosco un modo per farlo con qualsiasi strumento nativo all'interno di un * nix, ma qualcosa che ho fatto per parecchi anni è eseguire un prodotto chiamato Spinrite da GRC.com .

Ha alcune modalità, una delle quali è quella di aggiornare la superficie / i dati eseguendo ogni settore invertendo lo stato di ogni bit un paio di volte e poi riportandolo così com'era.

Lo eseguo alcune volte all'anno sui miei dischi, e non che lo voglia dire ad alta voce, ma sento di avere pochissimi problemi con i miei dischi rigidi, e ce ne sono parecchi.

Costa circa $ 80-90 IIRC ma quel costo è tutto relativo a seconda di ciò che ritieni valga la pena per i tuoi dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.