Afficher la pageAnciennes révisionsLiens de retourExportation ODTHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Installation ====== <code bash> $ apt-get install cachefilesd $ sed -i 's/#RUN/RUN/' /etc/default/cachefilesd </code> Optionnel pour tests préliminaires sur noyau non patché. <code> $ modprobe fscache </code> On peut changer le nom du cache dans /etc/cachedfilesd.conf : tag mycache -> tag streamcache ===== Patching noyau ===== Le noyau distribué par Debian expose des bugs sur fscache, corrigés upstream pour la plupart, le mieux étant d'appliquer tous les patches upstream sur fscache. Obtenir les sources du noyau stable : <code bash> git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-kernel-stable-git cd linux-kernel-stable-git </code> Regarder les différences entre la version dans Debian et upstream sur fscache : <code bash> git diff <tag_debian> <tag_upstream_stable> -- fs/fscache git diff <tag_debian> <tag_upstream_stable> -- fs/cachefiles </code> Extraire les patches : FIXME Installation de la chaîne de compilation : <code bash> apt-get install fakeroot build-essential devscripts apt-get build-dep linux </code> Installation des sources du noyau de la distribution : <code bash> apt-get source linux cd linux-* svn export svn://svn.debian.org/svn/kernel/dists/trunk/linux/debian </code> Editer debian/changelog pour ajouter sous la forme "+vme.1", qui est appropriée pour gérer différentes versions. Ajouter sur le champs abi.abiname dans debian/config/defines la même ligne. Ajouter les patches avec quilt. FIXME ===== Installation nouveau noyau ===== Le déposer sur le dépôt apt interne pour les paquets customisés. ====== Activation du cache sur un point de montage ====== <code bash> $ lvcreate -L 180G -n fscache vme-frstd-stream06 $ mkfs -t ext4 /dev/mapper/vme--frstd--stream06-fscache $ mkdir /fscache </code> Mettre user_xattr sur le point de montage ext4 /fscache comme option : <code> /dev/mapper/vme--frstd--stream06-fscache /fscache ext4 defaults,user_xattr 0 2 </code> Considérer les options barrier=0 noatime ou relatime nodiratime noacl (nobh) data=writeback et discard sur ext4 (ext3 aussi) sur des SSD éventuellement (mais pas tjs). et <code bash> $ mount /fscache </code> Mettre l'option fsc au point de montage NFS dans /etc/fstab et <code bash> $ umount -l /data/VME/contents ... ... ... $ mount -a </code> Changer le chemin du cache dans /etc/cachefilesd.conf pour y mettre /fscache et démarrer le service cachefilesd <code bash> $ service cachefilesd start </code> ====== Tuning SSD ====== ===== Scheduler de blocs ===== <code bash> $ apt-get install sysfsutils </code> Réduction des latences, à valider un peu plus ... <code bash> $ vi /etc/sysfs.conf --- 8< --- /etc/sysfs.conf ... block/<device>/queue/scheduler = deadline block/<device>/queue/iosched/front_merges = 0 block/<device>/queue/iosched/read_expire = 150 block/<device>/queue/iosched/write_expire = 1500 ... --- >8 --- </code> Ou <code bash> $ vi /etc/sysfs.conf --- 8< --- /etc/sysfs.conf ... block/<device>/queue/scheduler = noop ... --- >8 --- </code> <code bash> $ service sysfsutils start </code> ===== Alignement des partitions ===== Le but est d'aligner les partitions sur le SSD Erase Block et avec le niveau de RAID de surcroît. Voir ici : http://tytso.livejournal.com/2009/02/20/ FIXME : expliquer le calcul en détail, les configs sur LVM, les options sur mkfs -t ext4 et comment le faire sans destruction des datas mais pas à chaud. ====== Surveillance ====== <code bash> $ find /fscache -type f | wc -l $ watch -n0 cat /proc/fs/fscache/stats </code> ====== Workarounds ====== cachefilesd sur Debian squeeze se met parfois dans une boucle sans fin qui pompe 100% d'un CPU. Il faut alors soit le rédémarrer soit utiliser une version plus récente. fr/fscache.txt Dernière modification : il y a 3 ansde 127.0.0.1