Tmpfs bind

11/06/2008

Je vous en ai parlé il y a quelques temps, monter un répertoire en tmpfs peut vous faire gagner un temps conséquent. Pour mémoire, le montage d’un répertoire en tmpfs permet d’utiliser un répertoire dans la RAM au lieu du disque dur. Le souci, c’est que si votre machine redémarre, tout ce qui est écrit dans la RAM va se vider. Ce qui serait super utile, c’est un système de synchronisation des données pour que tout ce qui se passe en RAM soit aussi écrit sur le disque en temps voulu.

Et Linux (et seulement lui) sait faire cela en une seule commande, et ce grâce à l’option bind de mount. Voici un exemple:

mount --bind -t tmpfs /tmp /tmp

Cela veut dire que /tmp est monté dans la RAM **et** sur le disque dur ! Pour preuve:

$ mount
/tmp on /tmp type tmpfs (rw,bind)

Ce qu’il y a de génial, c’est que lors de l’appel à cette commande, les fichier inscrits sur le disque remontent en RAM. En gros, le fait de monter le disque de cette manière ne vous fait pas perdre les données qui était présentes avant le montage.

Par contre, cela implique que ces données se trouvent sur le disque et dans la RAM, donc en deux endroits différents. Mais tout est synchronisé ! Si vous démonter le volume, les donnée seront présentes sur le répertoire cible.

Je vais donc (après sauvegarde évidamment) monter mon répertoire WEB en tmpfs et vérifier les temps de réponses. Je suis près à parier que cela va grandement accélérer mes accès au cache :)

Avis aux amateurs !

Ça peut vous intéresser aussi


Optimisons un peu notre Linux en limitant les accès disques

Que vous ayez un SSD ou non, je pense que ...


Linux HTC pharos sous Linux

Il était temps, avec mes points de mon opérateurs téléphonique,...


Orange et Linux

Je venais de dire à un collègue dans la journée ...


MacOSX vs Linux

J’ai la chance d’avoir un mac au travail ...

Merci de m'aider à financer mes services

Si vous avez apprécié cet article, je vous serai reconnaissant de m'aider à me payer une petite bière :)

Si vous voulez en savoir plus sur l'utilisation de flattr sur mon blog, lisez cette page: Ayez pitié de moi

Commentaires

Ajouter un commentaire

Metal3d - 11/06/2008

En fait je me suis mal expliqué sur l’option bind. Cette dernière permet de monter un répertoire existant en un autre endroit. Plutôt que de faire un lien, les fichiers transites sur le point de montage durant les synchros de mount.

En d’autres termes:

“mount –bind /home/metal3d /tmp/metal3d” va monter /home/metal3d sur /tmp/metal3d. Toutes écriture sur /tmp/metal3d ira se synchroniser dans /home/metal3d.

Donc, le montage avec un type tmpfs d’un répertoire existant va le monter dans la RAM. Puisque nous le montons sur le même point, les entrées vont se faire à partir du point de montage… et comme le type est tmpfs, il se fera d’abord en RAM, puis se synchronisera sur le disque.

Voilà pour la précision

Ajouter un commentaire

(*) Votre e-mail ne sera ni revendu, ni rendu public, ni utilisé pour vous proposer des mails commerciaux. Il n'est utilisé que pour vous contacter en cas de souci avec le contenu du commentaire, ou pour vous prévenir d'un nouveau commentaire si vous avez coché la case prévue à cet effet.