Für meinen Homeserver habe ich mich ein bisschen mit den möglichen und sinnvollen Tuning Optionen für Software Raid unter Linux beschäftigt. Dabei ist bei mir folgendes Skript rausgekommen, dass ich nach dem Boot ausführe:
# Get Arrays and physical Disks for active Raid5 Volumes ARRAYS="" DISKS="" for field in `cat /proc/mdstat | grep "active raid5"` do if [[ "x${field:0:2}x" == "xmdx" ]] then ARRAYS="$ARRAYS $field" elif [[ "x${field:0:2}x" == "xsdx" ]] then DISKS="$DISKS ${field:0:3}" fi done # Changes on physical Devices for disk in $DISKS do #Set read-ahead to 16MB blockdev --setra 16384 /dev/$disk #Device Queue Tuning echo 1024 > /sys/block/$disk/queue/read_ahead_kb echo 256 > /sys/block/$disk/queue/nr_requests #Disable NCQ echo 1 > /sys/block/$disk/device/queue_depth done # Changes on Raid Arrays for array in $ARRAYS do #Set read-ahead to 64MB blockdev --setra 64536 /dev/$array #Increase stripe-cache size echo 16384 > /sys/block/$array/md/stripe_cache_size done
Die einzelnen Zahlenwerte habe ich für mein Setup getestet und können variieren.
IT Enthusiast with focus on linux, vmware, container technologies