Queue Depth settings on QLogic HBA
Tested on RHEL 6.2, Step 2 is likely required for 2u Venices.
Try Step 1 first, if works then great. If the settings does not stick, then do Step 2 also.
Step 1
To View current setting:
# cat /sys/module/qla2xxx/parameters/ql2xmaxqdepth
32
To Change for current session:
# echo 8 > /sys/module/qla2xxx/parameters/ql2xmaxqdepth
To Change over reboots:
Add or modify the follow entry to /etc/modprobe.conf
or a file in /etc/modprobe.d
options qla2xxx ql2xmaxqdepth=8
To Monitor:
# cat $(echo /proc/scsi/sg/device{_hdr,s})|more [root@mds1-120140002 ~]# cat $(echo /proc/scsi/sg/device{_hdr,s})|more host chan id lun type opens qdepth busy online 2 1 0 0 0 1 128 0 1 2 0 0 0 0 1 254 0 1 2 0 1 0 0 1 254 0 1 2 0 2 0 0 1 254 0 1 2 0 3 0 0 1 254 0 1 2 0 4 0 13 1 254 0 1 3 0 0 0 0 1 1 0 1 5 0 0 0 0 1 8 0 1 5 0 0 1 0 1 8 8 1 5 0 0 2 0 1 8 8 1 5 0 1 0 0 1 8 0 1 5 0 1 1 0 1 8 8 1 5 0 1 2 0 1 8 8 1 4 0 0 0 0 1 8 0 1 4 0 0 1 0 1 8 8 1 4 0 0 2 0 1 8 8 1 4 0 1 0 0 1 8 0 1 4 0 1 1 0 1 8 8 1 4 0 1 2 0 1 8 8 1
Step 2
(RHEL 5.3 does not have dracut, use mkinitrd? see reference link below)
If Step 1 does not make the new queue depth settings stick, then we have to do a little more.
1. Backup the stuff in /boot
including sub directories, just in case we have to un-do something.
2. Note which ramfs image grub is using, see the initrd
line in /boot/grub/grub.conf
.
3. Make the desire queue depth changes described in Step 1.
4. Make a ram disk image of the current settings, in this example we appended .qdepth8
to denote its purpose. This can take a minute or two to complete.
dracut /boot/initramfs-$(uname -r).img.qdepth8 $(uname -r)
5. ls /boot
to see the newly made file.
6. Update the initrd
line in /boot/grub/grub.conf
to load from the updated image defined above.
7. Reboot and check if the new values stuck.
References:
http://techmolecules.blogspot.com/2014/04/how-to-change-io-scheduler-and-lun-io.html
https://access.redhat.com/solutions/23366 (requires RedHat login)
http://pinoyunix.blogspot.com/2014/01/how-to-rebuild-initrd-or-initramfs-in.html
0 Comments