Tengo algunas unidades SSD montados sobre /dev/sda1
y /dev/sdb1
en el servidor SLES 11 SP2, y yo era capaz de ajustar la configuración de la lectura anticipada con blockdev --setra
:
sudo blockdev --setra 4096 /dev/sda
sudo blockdev --setra 4096 /dev/sdb
sudo blockdev --getra /dev/sda
4096
sudo blockdev --getra /dev/sdb
4096
¿Cómo persisto esta configuración en el arranque? Específicamente, ¿hay una configuración correspondiente sysctl.conf
o tendré que conformarme con un script rc para que esto suceda?
block-device
ssd
sles
Banjer
fuente
fuente
Respuestas:
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:
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:
Después de guardar el archivo, puede probar si su regla coincidirá con el dispositivo y qué hará udev usando udevadm:
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.
fuente
OCZ vertex 3
's, pero no creo que sus reglas sugeridas sean específicas de Intel, excepto por el campo del modelo, ¿correcto?udevadm info
para encontrar los parámetros específicos de su hardware.Tenga en cuenta que la lectura anticipada se puede configurar al menos mediante
/sys
(/sys/class/block/sda/queue/read_ahead_kb
)blockdev
yhdparm
(hdparm -a
).hdparm
en Debian y sus derivados viene con unhdparm.conf
atributo que especifica los atributos por dispositivo que se establecerán en el arranque y en el hot-plug (medianteudev
reglas).Entonces puedes tener:
(es mejor usar ID que las
sda
que pueden cambiar de un arranque a otro).fuente
hdparm
en SLES 11, pero parece que no puedo localizarhdparm.conf
. Google parece decirme que se necesita un script rc para que cualquierhdparm
configuración persista, al menos en SuSE.hdparm
consecuencia. He actualizado la respuesta./sys
ruta, aunque laudev
regla @zorlem es bastante buena para la configuración de arranque.No hay nada que corresponda
sysctl
, así que sí,/etc/rc.local
es una forma o similar. Y tenga cuidado, personalmente noté que en Ubuntu, esos cambios se desvían aún más, incluso se establecen una vez después del arranque, por lo que incluso podría tener sentido usarloscrontab
para mantenerlos.fuente