Inspeccionar las reglas de udev en /etc/udev/rules.d
En los pasos anteriores, aprendimos cómo verificar el planificador de E/S (I/O) activo utilizando /sys
y dmesg
. Ahora, veamos cómo el sistema podría estar configurado para establecer el planificador automáticamente cuando se detectan dispositivos. Esto a menudo lo gestiona udev
.
udev
es un gestor de dispositivos para el kernel de Linux. Gestiona los nodos de dispositivos en /dev
y maneja todos los eventos del espacio de usuario cuando se agregan o eliminan dispositivos de hardware del sistema. udev
utiliza reglas para coincidir con dispositivos y realizar acciones, como establecer permisos o configurar parámetros de dispositivos como el planificador de E/S.
Las reglas de udev
se almacenan típicamente en el directorio /etc/udev/rules.d/
. Estos archivos tienen la extensión .rules
. Podemos inspeccionar estos archivos para ver si hay alguna regla que establezca específicamente el planificador de E/S para ciertos dispositivos.
Primero, listemos los archivos en el directorio /etc/udev/rules.d/
utilizando el comando ls
:
ls /etc/udev/rules.d/
Verá una lista de archivos, posiblemente incluyendo algunos relacionados con dispositivos de bloques o almacenamiento. La salida podría verse algo así:
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
Ahora, echemos un vistazo dentro de uno de estos archivos para ver si podemos encontrar alguna regla relacionada con los planificadores. Usaremos el comando cat
para mostrar el contenido de un archivo. Por ejemplo, echemos un vistazo a 99-vmware-scsi-udev.rules
(el nombre exacto del archivo podría variar ligeramente dependiendo del entorno, pero busque uno que parezca estar relacionado con el almacenamiento o los dispositivos):
cat /etc/udev/rules.d/99-vmware-scsi-udev.rules
Podría ver reglas que coinciden con atributos específicos de dispositivos y luego establecen propiedades. Busque líneas que usen la palabra clave ATTR
para coincidir con atributos de dispositivos y la propiedad ATTR{queue/scheduler}
para establecer el planificador.
Por ejemplo, una regla para establecer el planificador deadline
podría verse algo así:
## Set scheduler for VMware SCSI devices
ACTION=="add|change", SUBSYSTEM=="block", ATTRS{idVendor}=="VMware", ATTRS{idModel}=="VMware Virtual S", ATTR{queue/scheduler}="deadline"
Esta regla coincide con dispositivos de bloques (SUBSYSTEM=="block"
) con atributos específicos de proveedor y modelo y establece su planificador en deadline
cuando se agregan o cambian.
Al inspeccionar estas reglas, puede entender cómo podría estar configurado el planificador de E/S predeterminado en su sistema.