LINUXOR.SK ... open source notes ...

Linux Storage - RDAC installation commands

category: solutionz · date: 2010-09-30 · updated: 2026-10-03 · author: LALA

Linux Storage Solution · Config document · referenced from RDAC installation and operation

noteThe /proc/mpp listing after the reboot shows three virtual LUNs (virtualLun1–virtualLun3) and is dated 13 August; every other listing in the notes, from 7 September on, shows two LUNs per array. The notes do not explain the difference.

The command set that built the IBM/LSI RDAC (MPP) driver 09.03.0B05.0331 from source on mppsrv01, added a GRUB entry with the MPP initrd, rebooted, and checked that the modules were loaded and the LUNs of DS5300-SITEA mapped. The notes keep no output for the build and no Readme.txt of the package.

ItemValue
Run asroot on mppsrv01
HostRed Hat Enterprise Linux AS 4, kernel 2.6.9-89.0.9.ELsmp, two QLogic HBAs (qla2xxx)
Packagerdac-LINUX-09.03.0B05.0331-source.tar.gz, unpacked to linuxrdac-09.03.0B05.0331/
Producesthe modules mppUpper and mppVhba and the initrd /boot/mpp-2.6.9-89.0.9.ELsmp.img; the tools mppUtil, mppUpdate, mppBusRescan (hot_add), /opt/mpp/lsvdev, /opt/mpp/mppSupport and the init script /etc/init.d/mpp exist afterwards, and I take it they came from the same make install (the notes list them but do not say what installed them)
Needsa non-failover HBA driver and AVT disabled on the array (host type LNXCL), per the vendor documentation quoted in the notes; neither step is in the notes
Edits/boot/grub/menu.lst, see GRUB menu.lst stanza for the MPP initrd
ArrayDS5300-SITEA, controllers A and B, seen through host0 and host1

The commands

The driver source was unpacked:

bash
$ tar -xvzf ./rdac-LINUX-09.03.0B05.0331-source.tar.gz

Then built and installed in the unpacked directory. The notes keep no output of make and do not say what make install prints; as I understand it, this step also writes the MPP initrd into /boot:

bash
$ cd linuxrdac-09.03.0B05.0331/
$ make clean
$ make
$ make install

GRUB got a new entry for the kernel with the MPP initrd. menu.lst was immutable on this host, so the attribute was removed for the edit and set again. The stanza typed into nano is in GRUB menu.lst stanza for the MPP initrd:

bash
$ chattr -i /boot/grub/menu.lst
$ nano /boot/grub/menu.lst
$ chattr +i /boot/grub/menu.lst

The server was rebooted:

bash
$ reboot

After the boot, the first check was that the MPP kernel modules were loaded:

bash
$ lsmod | grep mpp
output 3 lines
mppVhba               138656  0
mppUpper              139132  1 mppVhba
scsi_mod              145297  8 mppVhba,usb_storage,cciss,qla2xxx,scsi_transport_fc,mppUpper,sg,sd_mod

The second check was that the LUNs were mapped, by listing the driver's /proc tree:

bash
$ ls -lR /proc/mpp
output 45 lines
/proc/mpp:
total 0
dr-xr-xr-x  4 root root 0 Aug 13 15:56 DS5300-SITEA

/proc/mpp/DS5300-SITEA:
total 0
dr-xr-xr-x  4 root root 0 Aug 13 15:56 controllerA
dr-xr-xr-x  4 root root 0 Aug 13 15:56 controllerB
-rw-r--r--  1 root root 0 Aug 13 15:56 virtualLun1
-rw-r--r--  1 root root 0 Aug 13 15:56 virtualLun2
-rw-r--r--  1 root root 0 Aug 13 15:56 virtualLun3

/proc/mpp/DS5300-SITEA/controllerA:
total 0
dr-xr-xr-x  2 root root 0 Aug 13 15:56 qla2xxx_h0c0t0
dr-xr-xr-x  2 root root 0 Aug 13 15:56 qla2xxx_h1c0t0

/proc/mpp/DS5300-SITEA/controllerA/qla2xxx_h0c0t0:
total 0
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN1
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN2
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN3

/proc/mpp/DS5300-SITEA/controllerA/qla2xxx_h1c0t0:
total 0
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN1
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN2
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN3

/proc/mpp/DS5300-SITEA/controllerB:
total 0
dr-xr-xr-x  2 root root 0 Aug 13 15:56 qla2xxx_h0c0t1
dr-xr-xr-x  2 root root 0 Aug 13 15:56 qla2xxx_h1c0t1

/proc/mpp/DS5300-SITEA/controllerB/qla2xxx_h0c0t1:
total 0
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN1
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN2
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN3

/proc/mpp/DS5300-SITEA/controllerB/qla2xxx_h1c0t1:
total 0
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN1
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN2
-rw-r--r--  1 root root 0 Aug 13 15:56 LUN3

The notes close the installation with FINITO and ;-), the author's "done".

Command or lineWhat it tells
tar -xvzf, make clean, make, make installthe usual build of an out-of-tree driver against the running kernel's headers; the notes keep no output and no package Readme.txt
chattr -i, chattr +ithe immutable attribute on menu.lst was this host's protection against stray edits; it has to come off for the edit
mppVhba 138656 0the virtual HBA module, used by nothing above it in module terms (disks hang off it through the SCSI mid-layer, not through a module reference)
mppUpper 139132 1 mppVhbathe upper driver, referenced by mppVhba
scsi_mod … mppVhba,…,qla2xxx,…,mppUpper,sg,sd_modboth MPP modules, the QLogic driver and the disk and generic drivers all sit on the SCSI mid-layer; cciss is the local HP Smart Array controller, usb_storage the usual USB disk driver
/proc/mpp/DS5300-SITEAone directory per array the driver knows, named after the array
controllerA, controllerBone directory per controller of the array
virtualLun1–virtualLun3the LUNs the virtual HBA presents to the system, one entry per LUN
qla2xxx_h0c0t0, qla2xxx_h1c0t0the physical paths to controller A: low-level driver, host, channel, target. Controller A is target 0 on both HBAs, controller B (qla2xxx_h0c0t1, qla2xxx_h1c0t1) target 1
LUN1–LUN3 under each paththe LUNs seen on that path; three LUNs times four paths here

The listing shows the shape of the tree that the notes describe in the abstract as /proc/mpp/<array>/controller<A/B>/<low-level-driver><HCT#>. Only DS5300-SITEA appears: the standby array DS5300-SITEB had not been seen on 13 August, or was found later with mppBusRescan (see mppBusRescan commands); the notes do not say which.

Checked against NetApp SANtricity 12.10, the Linux kernel 7.2 and Red Hat Enterprise Linux 10

As builtToday
rdac-LINUX-09.03.0B05.0331-source.tar.gz built on Red Hat Enterprise Linux AS 4The build was released on 15 June 2010 for Red Hat Enterprise Linux 4 Update 7 and 8, SLES 9 SP4 and SLES 10; its readme points users of SLES 11 and Red Hat Enterprise Linux 5 to 09.03.0C05.0331. The last builds were 09.03.0B05.0439 (December 2010, Red Hat Enterprise Linux 4 Update 8 only) and 09.03.0C05.0642 (Red Hat Enterprise Linux 5 and 6, SLES 10 and 11). Nothing exists for Red Hat Enterprise Linux 7 or SLES 12
an out-of-tree multipath driver with its own initrdNetApp discontinued RDAC with SANtricity OS 11.25; already the SANtricity 11.20 multipath guide (2015) called it "not the recommended failover driver for the Linux operating system". The replacement is DM-Multipath with the in-kernel device handler scsi_dh_rdac ("Multipath LSI/Engenio/NetApp E-Series RDAC driver"), which scsi_dh.c attaches by itself for IBM 1818 and the other DS and E-Series product IDs; Fedora and Red Hat kernels build it (CONFIG_SCSI_DH_RDAC)
/etc/init.d/mpp, rebootRed Hat Enterprise Linux 4 was retired on 29 February 2012 and left extended life-cycle support on 31 March 2017
the arrays, DS5300Withdrawn from marketing on 23 October 2012, end of support 31 January 2018. The product line continues as NetApp E-Series with SANtricity System Manager 12.10
← solutionz