Après avoir travaillé assez heureusement pendant des mois, Time Machine, fonctionnant avec un NAS comme destination de sauvegarde, a soudainement décidé que ma sauvegarde était "corrompue" après avoir échoué à un contrôle de "corruption en cours d'exécution" et insiste pour que je supprime l'intégralité (4 téraoctets) de la sauvegarde et recommence!
Ce que je veux savoir, c'est comment Time Machine détermine la "corruption en cours d'exécution" et si je peux en quelque sorte réinitialiser ou désactiver cette vérification?
J'ai déjà vérifié moi-même l'image disque en utilisant les commandes suivantes:
hdiutil attach -nomount /Volumes/Chemin/Vers/Sauvegarde.sparsebundle
diskutil verifyDisk diskN
diskutil verifyVolume diskNs2
En remplaçant les chemins et les numéros de disque lorsque nécessaire, et je n'ai trouvé aucune erreur du tout. Alors exactement, qu'est-ce que vérifie Time Machine?
J'ai également vérifié presque toutes les sauvegardes les plus récentes (en utilisant shasum
, en ignorant les fichiers avec des horodatages plus récents) et tout va bien; je ne trouve aucune preuve de quelque chose de corrompu de quelque façon que ce soit, certainement pas parmi les fichiers qui me tiennent le plus à coeur.
C'est vraiment ridicule, car les seuls processus à toucher le bundle sont Time Machine et ses composants liés, il n'y a eu aucun signe de problème de connectivité réseau de quelque nature que ce soit, pas d'autres erreurs dans les journaux, et toutes les autres sauvegardes pour le même jour ont été complétées sans problème. Cela signifie que toute "corruption en cours d'exécution" est très probablement de la faute de Time Machine elle-même!
C'est encore plus ridicule que la seule option présentée soit d'effacer tout, plutôt que de réaliser une traversée en profondeur pour comparer les contenus en détail (pour trouver éventuellement quelque chose de corrompu et le remplacer, même si je ne crois pas du tout qu'il y ait de corruption).
Je ne veux pas me débarrasser de 4 téraoctets de sauvegardes pour une "corruption" vague et non spécifiée qui ne semble même pas exister, donc y a-t-il un moyen de supprimer les données utilisées par Time Machine pour détecter sa mythique "corruption en cours d'exécution" (une vérification qu'il ne semble même pas effectuer avec les disques directement attachés) afin que je puisse simplement continuer à sauvegarder?
EDIT: J'ai obtenu de nouvelles informations, à savoir que la vérification de "corruption en cours d'exécution" de Time Machine est en fait simplement l'exécution de fsck_hfs -q
, qui n'a rien à voir avec la corruption, c'est simplement un test pour déterminer si une image disque a été démontée de manière "non propre", ce qui ne garantit pas la corruption (comme je l'ai déjà confirmé).
Malheureusement, malgré avoir réussi à effacer le bit "incohérent" (qui indique un démontage non propre) en utilisant fsck_hfs -p
, Time Machine refuse toujours d'utiliser cette sauvegarde, malgré le fait que la vérification de la corruption en cours d'exécution ne soit plus un échec. Cela signifie que d'autres données doivent être stockées quelque part.
1 votes
Pouvez-vous vérifier votre system.log dans Console.app pour voir si vous avez des messages concernant le disque de Time Machine ? Recherchez des erreurs de lecture/écriture, des erreurs d'E/S, des erreurs HFS, etc. Il se peut que des détails supplémentaires soient répertoriés dans le journal.
0 votes
@jksoegaard J'ai déjà essayé les journaux et il n'y a aucun signe d'erreurs; juste une sauvegarde réussie à 15h, puis à 16h il vérifie la "corruption en temps d'exécution" et décide de ne plus jamais sauvegarder. Comme je l'ai dit, j'ai vérifié l'image du disque, et vérifié la dernière sauvegarde (j'ai également vérifié la plupart des grands fichiers avec une somme de contrôle), et il n'y a aucun signe de corruption. Ce dont j'ai besoin c'est de savoir comment outrepasser la vérification de "corruption en temps d'exécution" car je ne fais pas confiance à sa précision et je ne veux pas de son comportement de secours (tout supprimer).
0 votes
Le
fsck_hfs -q
lit probablement un état pour montrer que ce volume avait été marqué comme suspect précédemment ou si la vérification actuelle a détecté une corruption. Si un simple montage non nettoyé tuait les sauvegardes, nous aurions 100 tickets chaque matin avec Time Machine toujours cassé - dans un laboratoire, nous avons travaillé dessus à plusieurs reprises et la seule implémentation qui semble plus fragile est le réseau. Utilisez un disque attaché directement si vous ne pouvez pas vous permettre de perdre un ensemble de sauvegardes serait mon conseil principal, mais ce n'est pas vraiment ce qui est demandé ici. Je verrai s'il y a une question différente couvrant cela et je mettrai un lien ici si j'en trouve une.0 votes
@bmike : Merci pour la réponse, mais j'ai également une sauvegarde directement attachée. La sauvegarde réseau est censée être une sauvegarde secondaire au cas où celle-ci échoue (ou qu'une surtension endommage à la fois l'ordinateur et sa sauvegarde directe). Malheureusement, le
fsck_hfs -q
ne semble pas être toute l'histoire, car après avoir retiré le drapeau incohérent, Time Machine refuse toujours de sauvegarder.0 votes
J'ai eu le même problème, plusieurs fois avec différents disques externes. Je partage votre analyse, et merci pour la solution détaillée que vous avez ajoutée!