TMPFS : Faites vos install de machines virtuelles et vos db inserts en RAM

RAM

Les accès disques sont souvent les goulots d’étranglements de nos systèmes.

Ainsi, installer une machine virtuelle avec l’ensemble de ces logiciels, ou insérer/restaurer des tables conséquentes dans une base donnée MySQL prend parfois énormément de de temps.

Afin de se débarrasser de ces contraintes pour des traitements temporaires, pourquoi ne pas utiliser la RAM de votre machine ?

RAMFS

Sous Linux, on disposait déjà de RAMFS pour monter des volumes qui se réservent une part de RAM. Cependant, il a 2 inconvénient majeurs :

  • Celui-ci ne tient pas compte de la limite de taille du volume. Ainsi même avec un volume réservé à 2Go sur 4Go de RAM par exemple, le système vous laisse écrire au-delà de cette limite… Rendant vos fichiers illisibles.
  • Vous êtes limité à la taille de la RAM, tout en sachant que si vous atteignez certaines limites, votre système devient instable.

TMPFS

Depuis le noyau 2.6, Linux intègre TMPFS et contrairement à son prédécesseur :

  • Il respecte la taille du volume défini.
  • Il permet de définir des volumes plus grands que la RAM en utilisant intelligemment le SWAP.

Attention cependant : vous écrivez en RAM , ce volume sera donc vidé au reboot du système.

Comment utiliser TMPFS

Connectez vous en root ou utilisez sudo.

Creation du volume :

1
2
mkdir /mnt/voltemporaire
mount -t tmpfs -o size=10000m tmpfs /mnt/voltemporaire

Pour déplacer votre répertoire de données MySQL :

1
2
service mysql stop
cp -a /var/lib/mysql/* /mnt/voltemporaire/

Editer la variable datadir de configuration MySQL :

1
2
3
4
nano /etc/mysql/my.cnf
#datadir = /mnt/voltemporaire
chown dbuser1:mysql /mnt/voltemporaire
service mysql start

Faites vos inserts puis restaurez la configuration originale :

1
2
3
4
5
6
service mysql stop
cp -a /mnt/voltemporaire/* /var/lib/mysql/
nano /etc/mysql/my.cnf
#datadir = /var/lib/mysql
service mysql start
umount /mnt/voltemporaire
Cet article a été publié dans Linux, MySQL avec les mots-clefs , , , . Bookmarker le permalien. Laisser un commentaire ou faire un trackback : URL de trackback.

Laisser un commentaire

Votre e-mail ne sera jamais publié ni communiqué. Les champs obligatoires sont indiqués par *

Vous pouvez utiliser ces balises et attributs HTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*

  • Flux RSS Nico dev'blog