Comment vérifier une (grosse) sauvegarde Time Machine plus rapidement

Il y a quelques jours, j’expliquais comment réparer une sauvegarde Time Machine sur Time Capsule quand il y avait un problème. Et qu’il était nécessaire de faire une réparation via Utilitaire de disque pour régler les problèmes. Et je suis tombé sur une petite astuce qui permet d’accélérer la réparation si vous avez beaucoup de RAM.

Ca nécessite comme souvent de jouer de la ligne de commande, mais le gain est assez substantiel pour le faire quand même, dans mes tests, j’ai divisé le temps de vérification par deux environ, avec une machine dotée de 8 Go de RAM.

Première chose à savoir, il faut éviter de faire ça sur le disque dur système, Apple explique que ça peut poser des problèmes. Vous êtes prévenu.

Ce qu’on va faire, c’est modifier la taille du cache pour les données, qui est fixé par défaut à 1/8 de la taille de la RAM. Soit 1 Go dans mon cas. Quand la sauvegarde fait 500 Go et contient 760 000 fichiers, augmenter la taille du cache augmente assez fortement les performances.

Attention à bien choisir la valeur, il ne faut pas être trop gourmand et essayer de ne pas remplir totalement la RAM. Dans mon cas, je me suis limité à 3,2 Go (sans raison particulière) mais on peut monter plus en haut en fonction de la quantité de mémoire physique.

Première chose à faire, monter l’image disque depuis Time Capsule (ou le NAS) en faisant un simple double clic.
Ensuite, il faut identifier l’image disque, en tapant une commande.

diskutil list

Les partitions devraient apparaître et il suffit de chercher une ligne de ce type « Apple_HFSX Copies de sauvegarde… ». Ensuite, il faut noter le numéro d’identification placé derrière, qui est sous la forme diskxsx (dans mon cas disk4s2).

Maintenant, on démonte l’image disque sans l’éjecter. Il faut remplacer diskxsx par l’identifiant de votre sauvegarde.

diskutil unmountDisk /dev/diskxsx

Enfin, on fait la vérification. Même chose, il faut remplacer diskxsx par la bonne valeur. Il faut aussi ajuster la valeur qui suit le -c : c’est la taille (en Mo) du cache. Pour la changer, il suffit de mettre un nombre suivi de m pour indiquer qu’il s’agit de Mo. Ici, j’ai choisi 3 200 Mo (3200m) mais vous pouvez mettre une autre valeur.

sudo fsck_hfs -f -c 3200m /dev/diskxsx

Une fois que c’est fait, il faut éjecter réellement l’image disque pour que Time Machine puisse l’utiliser, donc une dernière commande.

diskutil Eject /dev/diskxsx

Au final, ça va plus vite, mais attention quand même à ne pas tester sur le disque système (c’est déconseillé) et à ne pas mettre une valeur trop élevée, surtout si vous avez 4 Go de RAM ou moins.