我做了
echo 8192 > /sys/block/md0/md/stripe_cache_size
改善了我的RAID性能,确实起到了很大的作用。
但是我仍然不知道如何使它永久化。
我试图在/etc/rc.local中设置它-执行了其他命令,但是它在其他地方被覆盖为256 ...有任何提示吗?
我做了
echo 8192 > /sys/block/md0/md/stripe_cache_size
改善了我的RAID性能,确实起到了很大的作用。
但是我仍然不知道如何使它永久化。
我试图在/etc/rc.local中设置它-执行了其他命令,但是它在其他地方被覆盖为256 ...有任何提示吗?
Answers:
添加udev规则,例如/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"
我实际上没有尝试过,因此可能不是100%正确(可能是一些错别字),但是应该很接近。检查man udev
以了解更多信息。
您之后可能还需要运行以下命令以立即应用新规则:
udevadm trigger
udevadm control --reload-rules
只是为了扩展最后一个帖子;下面的脚本对我有用。只需在“ <...>”之间交换您的详细信息。请享用!
#!/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
我也想弄清楚这一点。我把我放在rc.local中,没有运气。登录后,我将手动启动它。我想您可以编写一个脚本来处理此问题,并将其放入“启动应用程序”中,但是如果您未登录gnome,那根本没有帮助。
sysfsutils软件包会帮助您解决问题吗?
原始答案:
我不知道该如何评论您的问题;我想我会在进一步了解您的问题时编辑此答案。
您能否发布(或粘贴,如果很长的话)
grep -R md0 /etc/init.d
我没有一个真正的答案,但是也许您可以尝试创建一个简单的新贵启动脚本。在/ etc / init中以.conf扩展名创建文件。在文件中放入:
start on started tty1
exec echo 8192 > /sys/block/md0/md/stripe_cache_size
我的想法是应该在终端启动时运行该命令,这大概是在您运行该命令的同时。
tty1
由于我没有要测试的RAID 5设置,因此黑暗中的总拍摄次数:也许添加一行
chmod -w /sys/block/md0/md/stripe_cache_size
在rc.local中删除设置后的写许可权。也许这会阻止它在其他地方进行更改?
附加
echo 8192 > /sys/block/mdX/md/stripe_cache_size
到 /etc/rc.local
。