Qu'est ce que Timemachine a sauvegardé ?

Ce post trouve son origine dans la stupéfaction de toujours voir Timemachine passer un temps inouï à sauvegarder mon Mac. Encore ce matin je le vois sauvegarder des centaines de gagas.

La vue Timemachine permet de naviguer dans le système de fichier au travers du temps. En y regardant de plus près ce qu'on peut voir c'est que les fichiers sont bien présent dans la dernière sauvegarde, voir dans les précédentes. Cette constatation est déjà un bon point mais en aucun cas permet de savoir ce qui est réellement sauvegardé dans chacune des sessions. La vue du finder directement permet de voir l'ensemble du système de fichier et de constater là aussi que nos dossier et fichiers sont présents. Timemachine ajoutant des liens symboliques, il est totalement impossible de voir quel est l'incrément sauvegardé lors de la dernière session. Par exemple si seul le fichier toto.txt est modifié, rien ne m'indique que c'est uniquement celui-ci qui a été sauvegardé.

 

Pour pouvoir surveiller ces sauvegardes j'ai d'abord trouvé  timedog un script perl (download) qui permet de comparer les deux dernières sauvegarde timemachine :

$ cd /Volumes/TM/Backups.backupdb/vheuschling 
$ timedog -d 5 -l

ici on lui indique de ne pas comptabiliser les lien symboliques, et de descendre à 5 niveau de précision dans les sous-dossier. L'affichage est finalement assez peu pratique j'ai continué à chercher....

Timetracker qu'on peut trouver sur le site de son développeur http://www.charlessoft.com/ permet de descendre visuellement dans la hiérarchie du volume Timemachine dont il restreint l'affichage aux éléments effectivement sauvegardés. J'ai pu constaté que les deux applications qui me généraient des sauvegardent récurrentes étaient bien Evernote et le client de messagerie Sparrow. Bingo !

RamDisk sur OSX

J'ai testé ces derniers jours le RamDisk sur Mac OSX. Le Ramdisk est ni plus ni moins un disque comme tous les autres, à la différence près qu'il ne repose pas sur un support persistant. En effet là ou les volumes reposent habituellement sur un disque mécanique, un disque Flash SSD, ou alors une clé USB, on va ici utiliser le support le plus rapide mais aussi le plus volatile qui soit : la mémoire vive. L'augmentation importante des quantités de mémoire disponibles sur nos système rend cette option intéressante.
Par contre il y a un certain nombre de points auxquels il faut rester vigilant : 
  • En cas de reboot, tout est perdu, il faut veiller à mettre en place des copies régulières des données.
  • Le RamDisk utilise la mémoire qui est paginée sur le disque, donc si le système a subitement besoin de mémoire il peut basculer nos données sur disque avec un impact très lourd sur les performances.
  • Comme tout disque d'OSX, ceux-ci sont cachés par le buffer unifié, avec le risque que la quantité de mémoire allouée au Ramdisk soit nécessaire de nouveau pour le buffer.
Pour créer le RamDisk il suffit de lancer la commande suivante dans un terminal :
     diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://2097152`
2097152 est le nombre de bloc de 512 octets qui sont à allouer sur le RamDisk pour faire un volume de 1 Go (2097152 x 512 = 1Go)

en utilisant la commande vm_stat on peut facilement contrôler la mémoire allouée lors de la création du RamDisk. 
Pour mesurer la performance on peut utiliser : 
time dd if=/dev/zero of=/Volumes/OSX/outputfile bs=1024k count=1024
Les ratios constatés sont de l'ordre de 6 tant en écriture qu'en lecture entre un disque physique et le RamDisk.