Te sugiero que uses udev para establecer parámetros para los discos SSD. De esta forma, puede configurar un planificador de colas específico que sea más apropiado para SSD, etc. También puede aplicar parámetros solo a algunos de los dispositivos, en función de muchos parámetros.
Puede obtener los atributos específicos necesarios para que coincidan con sus dispositivos (por ejemplo, el modelo de disco y el fabricante) ejecutando:
udevadm info -a -p /sys/block/sda
y verificando todos los pares ATTR para su dispositivo de bloque.
Otro beneficio es la capacidad de establecer los parámetros para los discos conectables (por ejemplo, en recintos o bahías de intercambio dinámico) y la configuración se aplicará a todos los dispositivos nuevos, siempre que los parámetros del dispositivo coincidan.
Aquí hay un ejemplo para aplicar un planificador específico para SSD Intel, su valor de lectura deseado (4096 bloques = 2048 kb), y también aplicar un planificador diferente para todos los demás SSD:
cat /etc/udev/rules.d/99-ssd.rules
# http://unix.stackexchange.com/a/71409/36574
# Setting specific kernel parameters for a subset of block devices (Intel SSDs)
SUBSYSTEM=="block", ATTRS{model}=="Intel SSDSC*", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="2048", ATTR{queue/scheduler}="deadline"
# for all other non-rotational block devices set a scheduler to 'noop' and readahead to 1024KB
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="1024", ATTR{queue/scheduler}="noop"
Después de guardar el archivo, puede probar si su regla coincidirá con el dispositivo y qué hará udev usando udevadm:
udevadm test --action=add /sys/block/sda
Esto imprime todas las reglas que carga udev, qué coincide, qué no y qué decisiones tomará udev cuando se conecte el dispositivo.
Espero que esto ayude.