vcovco wrote:Set it as a kernel boot parameter in the grub config file?
Running OEL 5.5 x64. Have set up multipath no probs, but notice that I get far better performance when using NOOP instead of CFQ, which is the default. Rather than having to change this every time I boot, wondering if there is a way to have it persistent across boots?
The issue is that it seems it must be done at the block level. For example, echo noop > /sys/block/sda/queue/scheduler . The problem is that these block device paths change all the time. I saw something about doing it within grub.conf, but that did not work for me (http://lonesysadmin.net/2008/02/21/elevatornoop/)Hmm... perhaps in udev rules? These execute when the mpath devices are created. I use these to set permissions for mpath devices (at boot time or dynamically when refreshed). That should be the most appropriate place I think...
All schedulers are available it seems, with noop the default? How does one read this output?
root@nvs-dev1 /root> multipath -l | grep sdk \_ 2:0:0:8 sdk 8:160 [active][undef] root@nvs-dev1 /root> cat /sys/block/sdk/queue/scheduler noop anticipatory deadline [cfq]
I have found that noop works better in our SAN devices where the SAN handles the queuing instead.I'm not sure if this is relevant. SCSI also handles the queuing for example. Perhaps it depends whether or not you are accessing your disk controller memory cache or performing physical disk reads.