Arofarn Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Salut, Voilà mon projet pour un serveur FTP: - le serveur FTP en question est vsftpd configuré pour accepter des users virtuels (pas de compte anonyme) suivant le tutorial de SupInfo (voir un autre de mes topics à ce propos) - les utilisateur sont "chrootés" dans le répertoire du FTP - le serveur servira à la distribution des derniers patchs/mise à jour pour les tournois (3 ou quatre jeux) d'une LAN pour éviter de saturer une bande passante faible et de retarder l'organisation => la quantité de données à stockée est relativement limité (quelques centaines de Mo) La machine: - Athlon XP 1800+ @2GHz réel - Abit NF7-S (nforce2) - 2x512 Mo DDR333 en dual channel => total 1Go - DD Maxtor 120Go ATA133 - carte réseau Gigabit relié au réseau lui aussi en Gigabit (au moins la branche principal) - Fedora Core 3 (GNU/Linux noyau 2.6.10) Le problème est qu'à mon avis le disque dur va avoir du mal à fournir suffisament de donnée en période de pointe, à cause des multiples accès simultanée. Je voudrais donc créer une sorte d'unité de stockage virtuelle dans la RAM ou je stockerais les données les plus demandées. Comme ça plus de problème vis à vis du disque dur. Est-ce que c'est possible? Si oui comment? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Peut-être ça ? $ mount none -t tmpfs /mnt/ram Lien vers le commentaire Partager sur d’autres sites More sharing options...
zaverel Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 C'est possible en ayant le support ramdisk dans le noyau (c'est dans device drivers =>block devices ) Par contre je n'ai aucune idée de la taille maximal que tu peut lui donner et "quelques centaines de Mo" ca va bien bouffer ta ram de dispo pour ton serveur) commencer par modifié /etc/lilo.conf (ou grub mais moi j'utilise lilo) image=/boot/vmlinuz-2.6.8ec6 label="ramdisk-2.6" append="ramdisk_size=20000" <<force la taille a 20Mo read-only +puis # créer un point de montage: mkdir /mnt/ramdisk0 # créer un système de fichiers: mke2fs /dev/ram0 # monter le ramdisk: mount /dev/ram0 /mnt/ramdisk0 et apres tu copie dans /mnt/ramdisk0 tes fichiers Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuxbubling Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Peut-être ça ?QUOTE $ mount none -t tmpfs /mnt/ram +1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ramy Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 j'espere que ton oc est stable si tu veuxpas avoir de mauvaise surprise Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 C'est possible en ayant le support ramdisk dans le noyau(c'est dans device drivers =>block devices ) Par contre je n'ai aucune idée de la taille maximal que tu peut lui donner et "quelques centaines de Mo" ca va bien bouffer ta ram de dispo pour ton serveur) commencer par modifié /etc/lilo.conf (ou grub mais moi j'utilise lilo) image=/boot/vmlinuz-2.6.8ec6 label="ramdisk-2.6" append="ramdisk_size=20000" <<force la taille a 20Mo read-only +puis # créer un point de montage: mkdir /mnt/ramdisk0 # créer un système de fichiers: mke2fs /dev/ram0 # monter le ramdisk: mount /dev/ram0 /mnt/ramdisk0 et apres tu copie dans /mnt/ramdisk0 tes fichiers C'est presque ça, sauf que au lieu de mettre l'image sur le disque dur avec mke2fs puis mount, il suffit de monter le type tmpfs... (d'ailleurs, dans ton exemple, le append de lilo n'est même pas utilisé car tu n'utilise pas de ram!) Lien vers le commentaire Partager sur d’autres sites More sharing options...
zaverel Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 C'est presque ça, sauf que au lieu de mettre l'image sur le disque dur avec mke2fs puis mount, il suffit de monter le type tmpfs...(d'ailleurs, dans ton exemple, le append de lilo n'est même pas utilisé car tu n'utilise pas de ram!) Je n'en suis pas tout a fait sur car dans le noyau la taille du ram disque est regler a 8192Kb et apres l'avoir formater et monter dans /mnt/ram0 , il fait bien 7 et quelques mo.(ya toujours un peu de perte ) En rajoutant a lilo append="ramdisk_size=20000" et en faisant tout pareil et bien /mnt/ram0 fait alors 19 mo . Si j'y copie un fichier et que je redemarre , il n' y a plus rien. Donc pour moi ca marche meme si ta solution est surement mieux. Je viend de l'essayer et j'ai alors un dossier avec 250 mo de libre (la moitié de ma ram quoi) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arofarn Posté(e) le 30 mars 2005 Auteur Partager Posté(e) le 30 mars 2005 Pour préciser, je compte faire une partition virtuelle en RAM d'environ 300 à 500Mo ce qui me laissera encore plus de 500Mo de RAM, largement suffisant Le passage par la définition de la taille de RAM utilisée pour le stockage virtuel passe obligatoirement par la configuration de grub ? Si oui, cela veut dire que je serais obligé de redémarrer pour activer/désactiver, le DD virtuel :-/ . C'est un génant mais pas réellement problématique: le serveur FTP tournera à plein au début de la LAN. Ensuite je participerais au tournois UT2004 (gamer inside) à ce moment j'aurais besoin de toutes ma RAM et le serveur FTP sera plus limité pour ne pas plomber mon ping et mon framerate. Donc si il y avais une solution sans redémarrage, cela m'arrangerait (je sais je suis chiant). Dans tous les cas, si la configuration passe par grub, il me faudra ajouter une entrée au menu de démarrage (une avec DD virtuel en RAM et une autre normale sans). Pour info un peu HS => mon OC est très stable depuis presque deux ans (ancienne machine WC @2.4GHz, en attente de budget pour ré-adaptation au nouveau boitier, donc OC @2GHz avec refroidssement classique). J'ai des uptime de plusieurs semaines. Si cela ne va pas plus loin c'est à cause des LANs lol Un brave 1800+ JIUHB de la belle époque... ;-). d'ailleur la carte mère est aussi à toutes épreuve. J'ai fait la dernière LAN avec le radiateur (Zalman passif) du northbridge du nForce2 tombé au fond du boitier => pas le moindre plantage malgrè l'OC sous UT2004 Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Ben oui, c'est sans redémarrer : l'option à changer, c'est pour choisir la taille du ramdisk ! En fait, y'a même moyen de tout faire sans redémarrer, je pense, en changeant la taille dans /sys/block/ramX/size Edit : non en fait avec cette manière ça marche pas, par contre, il suffit de choisir lors du mount : $ mount none -t tmpfs /mnt/ram -o size=100M zaverel : autant pour moi Lien vers le commentaire Partager sur d’autres sites More sharing options...
flashball Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 vous connaissez le cache I/0 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
zaverel Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 vous connaissez le cache I/0 ? Non . C'est quoi ? vas y , explique . Lien vers le commentaire Partager sur d’autres sites More sharing options...
flashball Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Input/Output , le systeme met en cache dans la memoire les fichiers lu/ecrit frequemment serieu vous deconnez la !! à croire que tu veux absolument que le transfert du/des fichier demmarre un millième de seconde apres la requete !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 gt sur que ct possible, mais c vrai que ca torche. Serieux vive nux Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Ben oui, les entrées/sorties passent par le cache, mais si un fichier est peu demandé par rapport aux autres, il sera plus long à avoir au début de plus, ce cache n'est pas contrôlé dans le sens où il peut se vider à tout moment... C'est sûr que c'est facile à utiliser, mais le but n'est pas forcément le même... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 et puis je doute que l'intégralité d'un patch de 50 Mo puisse rester entier en cache donc le DD virtuel en RAM c'est pas mal Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 On peut gérer le I/O cache comme on veut, ou c plutot un systeme intégré dans le noyau qui travaille tout seul comme un grand ? Et dans le cas ou on peut le controler, qu'est ce que ca apporte de plus ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
knoodrake Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 ...configuré pour accepter des users virtuels (pas de compte anonyme) suivant le tutorial de SupInfo (voir un autre de mes topics à ce propos)... Tu aurait le l'url du tuto ou alors ou chercher ton post ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arofarn Posté(e) le 30 mars 2005 Auteur Partager Posté(e) le 30 mars 2005 Input/Output , le systeme met en cache dans la memoire les fichiers lu/ecrit frequemment serieu vous deconnez la !! à croire que tu veux absolument que le transfert du/des fichier demmarre un millième de seconde apres la requete !! oui, c'est évident mais là je pourrais en quelques sortes controler le contenu du cache.... Et puis bon: DD => Cache DD => Cache controleur => RAM => cache carte réseau => réseau Ca va plus vite de faire: RAM => cache carte réseau => réseau D'auatnt plus que de multiple fichier accéder en même temps auront vite fait de remplir le cache. Donc le cache n'arrêtera pas de se remplir et se vider, d'où d'importante pertre de performance, car beaucoup d'accès au disque pour remplir le cache. Avec ce principe, je remplis le cache une fois au début puis je le vide à la fin pour récupérer la RAM pour autre chose. [troll] demander de faire la même chose sous Windows [/troll] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arofarn Posté(e) le 30 mars 2005 Auteur Partager Posté(e) le 30 mars 2005 Tu aurait le l'url du tuto ou alors ou chercher ton post ? Tutorial: Vsftp avec utilisateurs virtuels et pour plus d'info, fait une recherche avec "vsftpd" et "arofarn" Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 oui, c'est évident mais là je pourrais en quelques sortes controler le contenu du cache.... Et puis bon: DD => Cache DD => Cache controleur => RAM => cache carte réseau => réseau Ca va plus vite de faire: RAM => cache carte réseau => réseau D'auatnt plus que de multiple fichier accéder en même temps auront vite fait de remplir le cache. Donc le cache n'arrêtera pas de se remplir et se vider, d'où d'importante pertre de performance, car beaucoup d'accès au disque pour remplir le cache. Avec ce principe, je remplis le cache une fois au début puis je le vide à la fin pour récupérer la RAM pour autre chose. [troll] demander de faire la même chose sous Windows [/troll] Je pense ca doit etre possible, mais faudrait passer par un logiciel tiers qui allouerait lui meme la mémoire, et apres ca créé un disque virtuel. Mais perso j'ai jamais vu ... Et ce sera jamais aussi rapide que faire le mount Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 30 mars 2005 Partager Posté(e) le 30 mars 2005 Je pense ca doit etre possible, mais faudrait passer par un logiciel tiers qui allouerait lui meme la mémoire, et apres ca créé un disque virtuel. Mais perso j'ai jamais vu ...Et ce sera jamais aussi rapide que faire le mount Et jamais aussi bon marché ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
knoodrake Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 et pkoi pas la racine du FTP sur gmailFS ?. ==> [ ] nb:merci pour l'url Lien vers le commentaire Partager sur d’autres sites More sharing options...
ouragan Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 comme ils ont fait chez gcu ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arofarn Posté(e) le 31 mars 2005 Auteur Partager Posté(e) le 31 mars 2005 et pkoi pas la racine du FTP sur gmailFS ?.==> [ ] nb:merci pour l'url oui profites-en il fait beau Question subsidière, ce système alloue obligatoirement de la RAM physique (très rapide) ou arbitrairement de la RAM virtuelle (qui peut donc être de la RAM physique et/ou du swap) La différence est de taille Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 pci@gandalf ~ $ grep tmp /etc/fstab tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 avec ça (et la config du noyau qui va bien), ton /tmp est monté en RAM, et prend au max la moitié de la RAM (l'allocation est dynamique) sur une machine avec 512 Mo de RAM : pci@gandalf ~ $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/md/0 23070436 15842408 6056100 73% / tmpfs 258192 0 258192 0% /dev/shm tmpfs 258192 36 258156 1% /tmp donc tu décide que ton serveur FTP a pour racine /tmp et dans ton démarrage qq part tu fais un cp -r /ton/arbo /tmp (par contre au premier reboot ... les modifs sont zappés) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.