web-dev-qa-db-fra.com

Rendre permanent stripe_cache_size

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?

14
BarsMonster

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
15
NeilBrown

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
1
DanglingPointer

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.

0
user8809

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.

0
user1974

Ajouter

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

à /etc/rc.local.

0
Thermionix

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?

0
Ramón

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
0
zpletan