Par Mark Nielsen mark@tcu-inc.com
Si ce document est amené à changer, la dernière version se trouvera à l'adresse http://www.tcu-inc.com/mark/articles/Ramdisk.html.
Bonjour ! Ceci est un court article qui a pour but d'expliquer comment mettre en place un disque virtuel sur un système RadHat 6.0. Ca devrait être assez similaire pour d'autres systèmes.
Qu'est-ce qu'un disque virtuel ? C'est une portion de mémoire que vous allouez pour l'utiliser comme une partition. Ou, en d'autres termes, vous prenez de la mémoire, vous faites croire que c'est un disque dur, et vous y sauvegardez vos fichiers. Pourquoi vouloir utiliser un disque virtuel ? Eh bien, si vous savez que certains de vos fichiers vont-être sans cesse utilisés, les mettre en mémoire augmentera les performances de votre ordinateur puisque votre mémoire est plus rapide que votre disque dur. Des systèmes tels que des serveurs web avec beaucoup de données peuvent-être accélérés de cette manière. D'un autre côté, si vous êtes dérangé, et que vous avez un ordinateur PII 550MHz avec 1 Go de mémoire et un vieux disque dur de 550 Mo, vous pouvez utiliser un disque virtuel pour augmenter la taille de votre disque dur. Ou encore, si vous désirez avoir une machine sans disque, cela peut ne pas être si insensé après tout.
Voici quelques ressources de plus pour vous aider :
En fait il est très facile d'utiliser un disque virtuel. Tout d'abord, l'installation par défaut de la RedHat 6.0 est fournie avec la gestion des disques virtuels. Tout ce que vous avez à faire est de formater un disque virtuel et ensuite de le monter dans un répertoire. Pour avoir une idée de tous les disques virtuels qui sont à votre disposition, faites un "ls -al /dev/ram*". Cela vous donne les disques virtuels que vous pouvez déjà utiliser. Ces disques virtuels n'occupent pas de mémoire tant que vous ne les utilisez pas, et ce, de quelque manière que ce soit (comme les formater par exemple).
Voici un exemple très simple de l'utilisation d'un disque virtuel:
mkdir -p /tmp/ramdisk0 mkfs -t ext2 /dev/ram0 mount /dev/ram0 /tmp/ramdisk0Ces trois commandes vont créer un répertoire pour héberger le disque virtuel, formater ce disque (la taille est de 4 Mo par défaut), et monter le disque virtuel dans le répertoire /tmp/ramdisk0. A présent vous pouvez considérer ce répertoire comme s'il était une partition ! Lancez-vous et utilisez-le comme n'importe quel autre répertoire ou comme n'importe quelle autre partition.
Qu'en est-il de la persistance ? Eh bien, quand l'ordinateur est redémarré le disque virtuel est effacé. N'y mettez aucune donnée qui n'est pas copiée ailleurs ou qui soit critique. Si vous faites des changements dans ce répertoire, et que vous avez besoin de les conserver, trouvez un moyen de les sauvegarder.
Bien, comment est-ce que je change la taille des disques virtuels ? Personnellement je n'ai pu trouver que deux moyens de les modifier. Aucune de ces options ne vous permettra de changer la taille des disques virtuels après que l'ordinateur ait démarré. C'est merdique.
Tout d'abord la manière forte. Jetez un coup d'oeil à ce fichier:
/usr/src/linux/drivers/block/rd.c
puis éditez-le, changez la ligne
int rd_size = 4096; /* taille des disques virtuels */
en donnant au nombre la valeur que vous désirez, exprimée en Ko. Ensuite, recompilez le
noyau, installez-le et redémarrez l'ordinateur.
Maintenant, la manière douce. Ajoutez cette ligne au fichier lilo.conf.
ramdisk=10000
et la taille par défaut des disques virtuels sera de 10 Mo après que vous ayez tappé la
commande "lilo" et que vous ayez redémarré l'ordinateur.
Voici l'exemple de mon fichier /etc/lilo.conf.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda2
read-only
ramdisk=10000
En fait, j'ai un peu plus de 9 Mo d'espace effectivement utilisable.
Voilà, ceci est un exemple qui illustre l'utilisation de trois disques virtuels pour un serveur web. Disons que vous êtes à 99% sûr que votre installation d'Apache pour RedHat 6.0 n'utilisera pas plus de 9 Mo pour ses scripts CGI, le code HTML et les icônes. Voici comment l'installer.
Lancez tout d'abord cette commande pour déplacer la véritable copie du répertoire racine de votre serveur web à un endroit différent. Créez également les répertoires où vous monterez les disques virtuels.
mv /home/httpd/ /home/httpd_real mkdir /home/httpd mkdir /home/httpd/cgi-bin mkdir /home/httpd/html mkdir /home/httpd/iconsAjoutez alors ces commandes à votre fichier /etc/rc.d/rc.local.
### Créer les partitions pour les disques virtuels /sbin/mkfs -t ext2 /dev/ram0 /sbin/mkfs -t ext2 /dev/ram1 /sbin/mkfs -t ext2 /dev/ram2 ### Monter les disques virtuels à un endroit approprié mount /dev/ram0 /home/httpd/cgi-bin mount /dev/ram1 /home/httpd/icons mount /dev/ram2 /home/httpd/html ### Copier les vrais répertoires dans les disques virtuels tar -C /home/httpd_real -c . | tar -C /home/httpd -x #### Redémarrer le serveur web /etc/rc.d/init.d/httpd restart
Je redémarrerais votre ordinateur, même si ce n'est pas nécessaire dans le cas où vous exécutez cette commande pour relancer le fichier rc.local.
/etc/rc.d/rc.local
Mark Nielsen travaille pour The Computer Underground en tant qu'archiviste et en tant que consultant professionnel (costume-cravate) à 800linux.com. A ses moments perdus, il fait du volontariat, comme écrire ces documents pour la Linux Gazette et pour linux.com. Ce document a été écrit avec Nedit et ispell.
Copyright © 1999, Mark Nielsen. Publié dans le n° 44 de Linux Gazette, Août 1999.
Traduction française de Xavier Serpaggi.