Auteur Sujet: Mise en place d'un RamDisque au démarrage  (Lu 4577 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 167
    • Twitter LaFibre.info
Mise en place d'un RamDisque au démarrage
« le: 24 janvier 2014 à 18:31:09 »
Pour les tests de débit, les fichiers sont sur un ramdisque => tout est en RAM.

Pour créer le ramdisque, j'ai rajouté une ligne dans /etc/rc.local (avant le exit 0) :
/home/scripts/disque_tmpfs.sh
Le script en question :
#!/bin/dash
mount -t tmpfs -o size=7g tmpfs /home/testdebit.info/fichiers
mkdir /home/testdebit.info/fichiers/montant
chmod 777 /home/testdebit.info/fichiers/montant
cp /home/scripts/disque_tmpfs_source/* /home/testdebit.info/fichiers
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-1.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-2.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-3.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-4.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-5.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-6.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-7.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-8.dat
ln /home/testdebit.info/fichiers/1000Mo.dat /home/testdebit.info/fichiers/1000Mo-9.dat

mount -t tmpfs -o size=7g tmpfs /home/testdebit.info/fichiers crée un ramdisque d'une taille maximum de 7 Go (le serveur a 16 Go de ram)
/home/testdebit.info/fichiers/montant c'est le dossier ouvert en écriture en FTP anonyme
Je copie ensuite tous les fichiers dans le ramdisque.
Il y a un seul fichier de 1Go, les autres sont des liens physique du 1er, ce qui permet de ne prendre que 1 Go de ram pour 10 fichiers de 1 Go.

Pour que le dossier où il est possible d'uplopad ne devienne pas MegaUpload et aussi car les fichiers sont en RAM et que je suis fortement limité, je supprime les fichiers uploadés toutes les 15 secondes. Ce n'est pas gênant de faire un rm * alors que un fichier en cours d'upload, il ne sera pas visible une fois uploadé mais cela ne coupe pas l'upload et pas d'erreur sur le client FTP. La crontab de root :
# Effacer les fichiers non cachés chaque 15 sec et cachés chaque minute
* * * * * /bin/rm -rf /home/testdebit.info/fichiers/montant/*
* * * * * /bin/sleep 15 ; /bin/rm -rf /home/testdebit.info/fichiers/montant/*
* * * * * /bin/sleep 30 ; /bin/rm -rf /home/testdebit.info/fichiers/montant/*
* * * * * /bin/sleep 45 ; /bin/rm -rf /home/testdebit.info/fichiers/montant/* /home/testdebit.info/fichiers/montant/.*

Je n'ai pas trouvé le moyen de supprimer les fichiers cachés (qui commencent par un .) et les fichiers non cachés (qui commencent par autre chose qu'un point) sans faire l'un et l'autre (je ne supprime les fichiers cachés que toutes les minutes car il faut être vicieux pour uploader des fichiers cachés)

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 676
  • La Madeleine (59)
ramdisque
« Réponse #1 le: 24 janvier 2014 à 18:55:38 »
Citer
Je n'ai pas trouvé le moyen de supprimer les fichiers cachés (qui commencent par un .) et les fichiers non cachés (qui commencent par autre chose qu'un point) sans faire l'un et l'autre (je ne supprime les fichiers cachés que toutes les minutes car il faut être vicieux pour uploader des fichiers cachés)

Utilise find :
find /home/testdebit.info/fichiers/montant/ -delete

Tristos

  • Expert.
  • Abonné Orange Fibre
  • *
  • Messages: 52
  • Paris 12ème (75)
ramdisque
« Réponse #2 le: 25 janvier 2014 à 09:12:31 »
Ok donc effectivement pas d'incidents côté système de fichiers  ;D Merci pour ton partage en touts cas, l'ajout de la ligne dans /etc/rc.local est malin pour que le système de fichiers remonte au démarrage ! C'est le genre de post qui m'intéresse beaucoup  :)

corrector

  • Invité
tmpfs, ramfs
« Réponse #3 le: 10 février 2014 à 14:19:33 »
mount -t tmpfs -o size=7g tmpfs /home/testdebit.info/fichiers crée un ramdisque d'une taille maximum de 7 Go (le serveur a 16 Go de ram)
Pas tout à fait, tmpfs est un système de fichiers temporaire dont le contenu peut aller dans le swap. Mais quand tu as beaucoup de RAM, les données peuvent rester éternellement dans le cache de fichiers (et le cache d'inodes, et le cache de dentries); à ne surtout pas confondre avec ramfs!

vivien

  • Administrateur
  • *
  • Messages: 47 167
    • Twitter LaFibre.info
Mise en place d'un RamDisque au démarrage
« Réponse #4 le: 10 février 2014 à 15:30:39 »
Ramfs a pour défaut de ne pas limiter la taille mémoire allouable, et donc de pouvoir mettre à genou le système dans le cadre d'une utilisation ou les clients peuvent uploader les fichiers...

corrector

  • Invité
Mise en place d'un RamDisque au démarrage
« Réponse #5 le: 10 février 2014 à 23:07:27 »
ramfs est un système de fichiers pathologique : ramfs est juste incapable d'écrire ses fichiers sur la mémoire de masse!

ramfs est un non-fs : ramfs n'est capable d'aucune opération en fait. ramfs laisse les données dans les caches (cache mémoire, cache d'inodes, de dentries).

ramfs est presque une blague. C'est de l'humour "wc".

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 676
  • La Madeleine (59)
Mise en place d'un RamDisque au démarrage
« Réponse #6 le: 10 février 2014 à 23:16:29 »
T'as des sources ?
tmpfs est-il un meilleur choix ?

C'est vrai que ce dernier est fréquent (contrairement à ramfs qui semble disparu de la circulation), j'aimerais des infos précises sur les inconvénients du premier

corrector

  • Invité
Mise en place d'un RamDisque au démarrage
« Réponse #7 le: 10 février 2014 à 23:51:17 »
J'ai LES sources.

LOL

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 676
  • La Madeleine (59)
Mise en place d'un RamDisque au démarrage
« Réponse #8 le: 10 février 2014 à 23:52:00 »
Touché  ;D ;D

corrector

  • Invité
Mise en place d'un RamDisque au démarrage
« Réponse #9 le: 08 mars 2014 à 02:45:55 »
T'as des sources ?
tmpfs est-il un meilleur choix ?
ramfs
C file   file-mmu.c   1537 bytes
C file   file-nommu.c   6792 bytes
C file   inode.c   6573 bytes
C file   internal.h   536 bytes

http://lxr.free-electrons.com/source/fs/ramfs/

ext2
C file   acl.c   9609 bytes
C file   acl.h   1499 bytes
C file   balloc.c   45517 bytes
C file   dir.c   18119 bytes
C file   ext2.h   28131 bytes
C file   file.c   2829 bytes
C file   ialloc.c   18690 bytes
C file   inode.c   45910 bytes
C file   ioctl.c   4487 bytes
C file   namei.c   10188 bytes
C file   super.c   43041 bytes
C file   symlink.c   1344 bytes
C file   xattr.c   28611 bytes
C file   xattr.h   3520 bytes
C file   xattr_security.c   1921 bytes
C file   xattr_trusted.c   1419 bytes
C file   xattr_user.c   1571 bytes
C file   xip.c   2071 bytes
C file   xip.h   759 bytes


On voit bien que l'implèmentation de ramfs est de taille complètement ridicule pour un fs.