Too Many LUNs Cause Boot Delays

Ivan Lawrence -

Too Many StorNext Labeled LUNs presented to a RHEL6 system can cause the HAL Daemon to crash during boot.

See:   Keyboard and mouse locks on SAN client

1st workaround

A programatic workaround is to load the QLogic driver after the HAL Daemon has already competed.  This can be configured manually:

1. Backup the files you are going to change: zip -r ~/no_qla-boot.bak.zip /boot /etc/grub.conf /etc/rc.local

2. Add the qlogic module to the blacklist so it won't be loaded: echo "blacklist qla2xxx" > /etc/modprobe.d/blacklist-qlogic.conf

3. Create a new Initialization RAM Disk (initramfs): dracut /boot/initramfs-$(uname -r)-no-qla.img $(uname -r)

4. Update the grub bootloader (/etc/grub.conf) to use the new initramfs: (replace "initrd-2.6.18-128.el5.img" with "initrd-2.6.18-128.el5-no-qla.img")

ex: [before]

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-128.el5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.18-128.el5 ro vga=0x317 root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.18-128.el5.img 

ex: [after]

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-128.el5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.18-128.el5 ro vga=0x317 root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.18-128.el5-no-qla.img 

5. Ensure StorNext will not run before the qlogic drive is loaded: chkconfig cvfs off

6. Enable the qla drive and stornext as the last function of the boot process: for i in "modprobe qla2xxx" "service cvfs start"; do echo $i >> /etc/rc.local; done

Scripts for QLogic and ATTO Celerity cards

Download links at bottom of this article.

Per ticket #20444 a script was created to automate the procedure for the QLogic cards.

Per ticket #22424 John updated the qla (QLogic) script for the AATO cards.

2nd workaround

External reference:
haldaemon fails to start on system with a large number of disks in RHEL 5 and RHEL 
https://access.redhat.com/solutions/27571

 

 

Have more questions? Submit a request

0 Comments

Article is closed for comments.