Je vous suggère d'utiliser udev pour définir les paramètres des disques SSD. De cette façon, vous pouvez configurer un planificateur de file d'attente spécifique qui est plus approprié pour le SSD, etc. Vous pouvez également appliquer des paramètres uniquement à certains périphériques, en fonction d'un grand nombre de paramètres.
Vous pouvez obtenir les attributs spécifiques nécessaires pour correspondre à vos périphériques (par exemple, le modèle de disque et le fabricant) en exécutant:
udevadm info -a -p /sys/block/sda
et vérifier toutes les paires ATTR pour votre périphérique bloc.
Un autre avantage est la possibilité de définir les paramètres des disques enfichables (par exemple, dans des boîtiers ou des baies de Hotswap) et le réglage sera appliqué à tous les nouveaux périphériques, à condition que les paramètres du périphérique correspondent.
Voici un exemple pour appliquer un planificateur spécifique pour les SSD Intel, la valeur de lecture anticipée souhaitée (4096 blocs = 2048 ko), et également appliquer un planificateur différent pour tous les autres 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"
Après avoir enregistré le fichier, vous pouvez tester si votre règle correspondra à l'appareil et ce que fera udev en utilisant udevadm:
udevadm test --action=add /sys/block/sda
Cela affiche toutes les règles que udev charge, ce qui correspond, ce qui ne fonctionne pas et quelles décisions udev prendra lorsque le périphérique est branché.
J'espère que cela t'aides.