Lors de leur fonctionnement, certaines applications, ont besoin de générer des fichiers temporaires pour le traitement de leur données. Ces fichiers temporaires sont habituellement créés dans un répertoire de travail, tel /tmp ou /var/tmp. Ces fichiers n'étant que des données temporaires, ils sont généralement supprimés après leur traitement, dans le cas contraire, il est nécessaire de mettre en place une purge régulière du répertoire de travail. Au delà d'une certaine charge, les accès au disque peuvent devenir important et auraient tendance à ralentir les performances globales du serveur, il peut alors être utile dans ce cas, et lorsque les ressources du serveur sont suffisantes en terme de mémoire, de travaille sur un système de fichiers virtuel monté en RAM, aussi appelé ramdisk.

Création d'un Ramdisk :

Le périphérique est créé à l'aide de la commande ramdiskadm (1M) à laquelle on précise le nom et la taille du device :

par exemple, pour crééer un ramdisk de 512 Mo nommé virtualdisk on lancera la commande :

ramdiskadm -a virtualdisk  512m

Il est alors nécessaire de construire un système de fichiers sur ce nouveau périphérique à l'aide de la commande newfs (1M) :

echo y | newfs /dev/rramdisk/virtualdisk

Le point de montage est créé à l'aide de la commande mkdir (1) et le système de fichiers monté avec la commande mount (1M) :

mkdir -p /ramdisk/virtualdisk
mount /dev/ramdisk/virtualdisk /ramdisk/virtualdisk

Il est alors possible d'utiliser le système de fichiers de la même manière que s'il était sur disque, à la différence près que les données écrites sur ce file system ne survivront pas à un redémarrage du serveur.

Suppression d'un Ramdisk :

La suppression d'un ramdisk créé précédemment se fait en effectuant les étapes inverses de celles effectuées lors de la création.

Le démontage du File System est effectuée à l'aide de la commande umount (1M) et le point de montage est supprimé avec la commande rmdir:

umount /ramdisk/virtualdisk
rmdir /ramdisk/virtualdisk
Le ramdisk est supprimé par la commande 'ramdiskadm (1M)'' :
ramdiskadm -d virtualdisk
Automatisation lors du démarrage du serveur.

Afin de s'affranchir de toutes opérations manuelles, la création et suppression des ramdisk ont été automatisés dans le script ramdisk. Ce script est placé dans le répertoire /etc/init.d, et des liens sont effectués dans /etc/rc2.d et/tsc/rc3.d afin que cela soit pris en compte au démarrage.

ln -s /etc/init.d/ramdisk /etc/rc3.d/S99ramdisk
ln -s /etc/init.d/ramdisk /etc/rc2.d/K01ramdisk

Ainsi les ramdisk définis dans le script de démarrage seront automatiquement créés au démarrage et supprimés lors de l'arrêt du serveur.