Michael Behrens wrote:
Hi all,
does anybody know how i can make the SLES9 to recognize SCSI LUNs >= 8?
I have set up a SLES9 (for IA64 architecture) on a DELL 1850 hardware,
which has to be connected to a HP EVA3000 SAN via two Qlogic HBAs ql2342.
The shipped drivers for the Qlogic HBAs work fine, I'm just not able
to recognize virtual disks presented with LUNs >= 8, which I think is
due to the module scsi_mod.
I tried the parameters "max_luns=128" and "max_reported_luns=128"
for
module "scsi_mod" both in /etc/modprobe.conf.local and in
/boot/grub/menu.lst, but still only LUNs < 8 are recognized by the driver.
The qla2*-Modules don't seem to have any options regarding # of LUNs.
The HBA's BIOS is configured to see 128 LUNs.
It is a fresh installation with all the latest updates from Suse as of
20.1.2005.
/proc/cmdline contains:
root=/dev/sda6 max_luns=128 max_report_luns=128 vga=0x317 selinux=0
console=tty0 resume=/dev/sda2 elevator=cfq splash=silent
Meanwhile I found two solutions for this issue:
--------
The first ist a workaround to make LUNS>7 accessible:
I discovered the "fibretools" package for SLES9 from HP after some
googling. It is contained in the tarball that one may get from here:
http://www.hp.com/cgi-bin/bizsupport/hbaeula1204.pl?Path=ftp://ftp.hp.com/p…
or that may be downloaded directly from this URL:
http://h18004.www1.hp.com/support/files/server/us/download/21342.html
It contains some shell scripts like "probe-luns", "hp-rescan",
"lssd",
"lssg", which might be useful for other purposes too.
E.g. after a "hp-rescan" new vdisks/luns are ready to use. It works by
issuing something like
echo "scsi add-single-device $INST 0 $j $CNT" > /proc/scsi/scsi
in a loop. Despite the name "hp-rescan" is nothing HP-specific, it is
just a shell script.
Also I discovered "blkid" from the Suse-rpm "e2fsprogs-1.34-115.3",
which displays block devices along with their filesystem labels and
uuids, with which I wrote a little skript to mount the LUNs by
filesystem label to be independent of the /dev/sdxx names, see attachment.
----------
The second solution was send to me by a suse-linux-e reader who did not
post it for any reason:
I also found a solution from HP. To see more than
eight luns at boot I
had to edit the /boot/grub/menu.lst file and add
"scsi_mod.dev_flags=HP:HSV100:0x240" to the boot parameters.
This is obviously HP-specific, but the HSV100 ist just the SAN
controller we use here, so I tested and found it functional.
--
Viele Grüße
------------------------------------------------------------------------
Michael Behrens
#! /bin/sh
#
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.
#
# Author: Werner Fink <werner(a)suse.de>de>, 1996
# Burchard Steinbild, 1996
#
# /etc/init.d/boot.local
#
# script with local commands to be executed from init on system startup
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
#
{
echo -e "lsscsi:\n"; /usr/bin/lsscsi -lv;
echo;
/usr/sbin/hp_rescan -a;
echo -e "lsscsi:\n"; /usr/bin/lsscsi -lv;
echo -e "\n/proc/partitions:\n"; cat /proc/partitions;
echo -e "\nblkid -s LABEL:\n"; blkid -c /dev/null -s LABEL
echo -e "\nfscking vdisks:"
blkid -c /dev/null -s LABEL | tr -d ':"' | while read dev label; do
echo $label | grep -q "\.vdsk$" && {
echo -e "\ndevice: $dev $label\n----------------------------------------";
if reiserfsck -a -p $dev; then
mount $label;
else
echo "Errors occured while fscking $dev, not mounting"
fi
}
done;
} | tee /var/log/boot.local.log
echo
read -s -t 10 -p "Hit <return> to continue, or wait 10s" dummy;
echo