Inspecter les règles udev dans /etc/udev/rules.d
Dans les étapes précédentes, nous avons appris à vérifier le planificateur d'E/S actif en utilisant /sys
et dmesg
. Maintenant, examinons comment le système peut être configuré pour définir automatiquement le planificateur lorsque des périphériques sont détectés. Cela est souvent géré par udev
.
udev
est un gestionnaire de périphériques pour le noyau Linux. Il gère les nœuds de périphériques dans /dev
et gère tous les événements de l'espace utilisateur lorsque des périphériques matériels sont ajoutés ou supprimés du système. udev
utilise des règles pour identifier les périphériques et effectuer des actions, telles que définir les autorisations ou configurer des paramètres de périphérique comme le planificateur d'E/S.
Les règles udev
sont généralement stockées dans le répertoire /etc/udev/rules.d/
. Ces fichiers ont une extension .rules
. Nous pouvons inspecter ces fichiers pour voir s'il existe des règles qui définissent spécifiquement le planificateur d'E/S pour certains périphériques.
Tout d'abord, listons les fichiers dans le répertoire /etc/udev/rules.d/
en utilisant la commande ls
:
ls /etc/udev/rules.d/
Vous verrez une liste de fichiers, qui peut potentiellement inclure certains liés aux périphériques de bloc ou au stockage. La sortie pourrait ressembler à ceci :
10-snapd.rules 50-cloudimg-settings.rules 70-snap.core.rules 70-snap.lxd.rules 70-snap.microk8s.rules 70-snap.snapd.rules 70-snap.snapd-desktop-integration.rules 99-vmware-scsi-udev.rules
Maintenant, examinons le contenu d'un de ces fichiers pour voir si nous pouvons trouver des règles liées aux planificateurs. Nous utiliserons la commande cat
pour afficher le contenu d'un fichier. Par exemple, examinons le fichier 99-vmware-scsi-udev.rules
(le nom exact du fichier peut varier légèrement en fonction de l'environnement, mais recherchez celui qui semble lié au stockage ou aux périphériques) :
cat /etc/udev/rules.d/99-vmware-scsi-udev.rules
Vous pourriez voir des règles qui correspondent à des attributs de périphérique spécifiques et définissent ensuite des propriétés. Recherchez les lignes qui utilisent le mot-clé ATTR
pour correspondre aux attributs de périphérique et la propriété ATTR{queue/scheduler}
pour définir le planificateur.
Par exemple, une règle pour définir le planificateur deadline
pourrait ressembler à ceci :
## Set scheduler for VMware SCSI devices
ACTION=="add|change", SUBSYSTEM=="block", ATTRS{idVendor}=="VMware", ATTRS{idModel}=="VMware Virtual S", ATTR{queue/scheduler}="deadline"
Cette règle correspond aux périphériques de bloc (SUBSYSTEM=="block"
) avec des attributs de fabricant et de modèle spécifiques et définit leur planificateur sur deadline
lorsqu'ils sont ajoutés ou modifiés.
En inspectant ces règles, vous pouvez comprendre comment le planificateur d'E/S par défaut peut être configuré sur votre système.