17 votes

Rendre stripe_cache_size permanent

Je l'ai fait.

echo 8192 > /sys/block/md0/md/stripe_cache_size

pour améliorer les performances de mon RAID, et ça m'a beaucoup aidé.

Mais je n'arrive toujours pas à trouver comment le rendre permanent.

J'ai essayé de le définir dans /etc/rc.local - d'autres commandes sont exécutées, mais il a été remplacé par 256 ailleurs... Des conseils ?

18voto

kekekela Points 189

Ajouter une règle udev, par exemple pour /etc/udev/rules.d/60-md-stripe-cache.rules :

SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"

Je n'ai pas encore essayé, donc ce n'est peut-être pas tout à fait exact (il peut y avoir des fautes de frappe), mais ça devrait être proche. Vérifiez man udev pour en savoir plus.

Vous pouvez également exécuter les commandes suivantes après coup pour appliquer immédiatement la nouvelle règle :

udevadm trigger
udevadm control --reload-rules

1voto

DanglingPointer Points 825

Juste pour développer sur le dernier post ; le script en dessous fonctionne pour moi. Il suffit d'échanger vos détails entre les "<...>". Bonne lecture !


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#################NOTE######################
##  You are limited by CPU and memory too #
##  <Your Name> <Date of Modification>    #
##  stripe cache size and read-ahead      #
###########################################
echo 16384 > /sys/block/<Your RAID5 or 6 Volume>/md/stripe_cache_size
blockdev --setra 16384 /dev/<Your RAID5 or 6 Volume>

exit 0

0voto

Joe Zack Points 1248

Le paquet sysfsutils aiderait-il à résoudre votre problème ?

RÉPONSE ORIGINALE :

Je n'arrive pas à trouver comment commenter votre question ; je suppose que je modifierai cette réponse au fur et à mesure que j'en saurai plus sur votre problème.

Pouvez-vous poster (ou pastebin, si c'est long) la sortie de

grep -R md0 /etc/init.d

0voto

J'essaie également de résoudre ce problème. J'ai mis le mien dans rc.local et pas de chance. Je le démarre manuellement après m'être connecté. Je suppose que vous pourriez écrire un script pour gérer cela et le mettre dans vos "Startup Applictions" mais cela n'aide pas du tout si vous n'êtes pas connecté à gnome.

0voto

SlinkingAnt Points 61

Je n'ai pas de véritable réponse pour vous, mais vous pourriez peut-être essayer de créer un simple script de démarrage upstart. Créez un fichier dans /etc/init avec l'extension .conf. Dans le fichier mettez :

start on started tty1

exec echo 8192 > /sys/block/md0/md/stripe_cache_size

Je pense que cela devrait exécuter la commande à peu près au moment où le terminal a démarré, ce qui correspond probablement au moment où vous exécutez la commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X