Comment actualiser l'état magnétique sur un disque avec des sauvegardes?

8

J'ai quelques gros disques avec du matériel de sauvegarde / archivage sur eux. Ils sont ext4 . En ce qui concerne ceux de ceux qui seront stockés pendant quelques années sans relire l'intégralité du disque, j'ai pensé à un moyen de rafraîchir l'état magnétique des disques. La durée de conservation des disques semble être un sujet de débat partout où j'ai cherché une réponse, mais il semble qu'après quelques années (disons 5 environ) de stockage, il serait sage de rafraîchir les données d'une manière ou d'une autre (? )

J'ai vu cela suggéré:

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

Est-ce sûr? Est-ce utile?

Ce que je cherche à faire est autre chose qu'un fsckou un dd if=/dev/sda of=/dev/null, qui découvriront probablement tous les deux les chutes magnétiques existantes sur le disque.

Ce que je veux faire, c'est actualiser les données magnétiques avant que les charges magnétiques sur le disque ne descendent en dessous d'un niveau lisible. Comment puis-je faire ceci?

PetaspeedBeaver
la source

Réponses:

8

En règle générale, vous ne pouvez pas vraiment actualiser l'intégralité du disque sans tout lire / écrire. fsckest peu susceptible de fournir ce dont vous avez besoin - il fonctionne avec le système de fichiers et non avec le périphérique sous-jacent, il analyse donc principalement les métadonnées du système de fichiers (inodes et autres structures de système de fichiers).

badblocks -npourrait être une option pour dd if=X of=X. Dans tous les cas, vous voudrez probablement utiliser de gros blocs pour accélérer les choses (pour ddquelque chose comme bs=16M, car badblockscela se lirait -b 16777216, ou -b $((1<<24))dans des coquilles raisonnables). Vous voudrez probablement aussi utiliser conv=fsyncavec dd.

Quant à la sécurité ddavec le même périphérique d'entrée et de sortie - il lit le bloc de l'entrée et l'écrit dans la sortie, il doit donc être sûr (j'ai rechiffré une partition cryptée comme celle-ci à plusieurs reprises, en créant des périphériques en boucle avec le même périphérique sous-jacent et mots de passe différents, puis ddde l'un à l'autre) - au moins pour certains types de supports physiques: par exemple avec des lecteurs bardés, il n'est certainement pas évident pour moi, qu'il est 100% à l'épreuve des pannes.

peterph
la source
Merci pour votre réponse! Donc, conv=fsync"écrit physiquement les données du fichier de sortie et les métadonnées avant de terminer", qu'est-ce que cela signifie? Est-ce plus sûr ou pourquoi devrais-je l'utiliser?
PetaspeedBeaver
1
Je m'attendrais à ce qu'il s'assure que tous les caches du noyau sont vidés sur le média avant de quitter. Étant donné que vous réécrivez simplement les mêmes données, cela ne devrait en fait pas être très important. Il garantit simplement que lorsque ddvous avez terminé, vous pouvez débrancher la prise (enfin, il peut y avoir un cache sur le disque dur, mais cela ne relève pas de la compétence du logiciel).
peterph
Donc, en résumé, la ddcommande complète devrait être quelque chose comme dd if=/dev/sda of=/dev/sda bs=16M conv=fsyncplus peut-être aussi status=progresspour montrer les progrès. Cela prendra un certain temps, selon la taille et la vitesse du lecteur. Je suppose que l'annulation de ce mi-processus avec par exemple Ctrl + C est sûre?
Martin Spacek
1
Oui, interrompre tout le processus de quelque manière que ce soit devrait en théorie être sûr. Au moins pour un entraînement magnétique tournant sans bardeaux - c'est un domaine où le principe physique exact et la technologie utilisée sont importants.
peterph
1

Je ne connais pas de moyen de le faire avec des outils natifs à partir d'un * nix, mais quelque chose que j'ai fait pendant plusieurs années est d'exécuter un produit appelé Spinrite de GRC.com .

Il a quelques modes dont l'un est pour rafraîchir la surface / les données en parcourant chaque secteur en inversant plusieurs fois l'état de chaque bit, puis en le remettant tel qu'il était.

Je le fais comme ça plusieurs fois par an sur mes disques, et ce n'est pas que je veuille le dire à voix haute, mais je sens que j'ai très peu de problèmes avec mes disques durs, et il y en a pas mal.

Cela coûte environ 80 à 90 $ IIRC mais ce coût est tout relatif selon ce que vous pensez que vos données valent pour vous.

Lenny_Nero
la source