J'ai fait
echo 8192 > /sys/block/md0/md/stripe_cache_size
pour améliorer mes performances RAID, et cela m'a beaucoup aidé.
Mais je ne comprends toujours pas comment le rendre permanent.
J'essayais de le définir dans /etc/rc.local - d'autres commandes sont exécutées, mais elles ont été écrasées à 256 ailleurs ... Des astuces?
Ajoutez une règle udev, par exemple à /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"
En fait, je n'ai pas encore essayé cette solution, alors ce n'est peut-être pas tout à fait correct (il peut s'agir de fautes de frappe), mais cela devrait être proche. Cochez man udev
pour en savoir plus.
Vous pouvez également exécuter les commandes suivantes pour appliquer immédiatement la nouvelle règle:
udevadm trigger
udevadm control --reload-rules
Juste pour développer le dernier post; le script ci-dessous fonctionne pour moi. Il suffit d'échanger vos informations entre le "<...>". Prendre plaisir!
#!/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
J'essaie aussi de comprendre cela. Je mets le mien dans rc.local et pas de chance. Je le démarre manuellement après la connexion. Je suppose que vous pourriez écrire un script pour gérer cela et le mettre dans vos "Applis de démarrage", mais cela ne vous aidera pas du tout si vous n'êtes pas connecté à gnome.
Je n'ai pas de vraie réponse pour vous, mais vous pourriez peut-être essayer de créer un script de démarrage rapide. Créez un fichier dans/etc/init avec l’extension .conf. Dans le fichier mis:
start on started tty1
exec echo 8192 > /sys/block/md0/md/stripe_cache_size
Ma pensée est que cela devrait exécuter la commande au moment où le terminal a démarré, ce qui est probablement à peu près au même moment où vous exécutez la commande.
Ajouter
echo 8192 > /sys/block/mdX/md/stripe_cache_size
à /etc/rc.local
.
Tir total dans le noir car je n'ai pas de configuration RAID 5 à tester: peut-être ajouter une ligne avec
chmod -w /sys/block/md0/md/stripe_cache_size
dans rc.local pour supprimer les autorisations d'écriture une fois qu'il est défini. Peut-être que cela l'empêchera d'être changé ailleurs?
Est-ce que l'aide du paquet sysfsutils résoudrait votre problème?
RÉPONSE ORIGINALE:
Je n'arrive pas à comprendre comment répondre à votre question. J'imagine que je vais modifier cette réponse au fur et à mesure que j'en apprends davantage sur votre problème.
Pouvez-vous poster (ou Pastebin, si c'est long) la sortie de
grep -R md0 /etc/init.d