Linux Storage - RDAC installation commands
Linux Storage Solution · Config document · referenced from RDAC installation and operation
/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.
| Item | Value |
|---|---|
| Run as | root on mppsrv01 |
| Host | Red Hat Enterprise Linux AS 4, kernel 2.6.9-89.0.9.ELsmp, two QLogic HBAs (qla2xxx) |
| Package | rdac-LINUX-09.03.0B05.0331-source.tar.gz, unpacked to linuxrdac-09.03.0B05.0331/ |
| Produces | the 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) |
| Needs | a 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 |
| Array | DS5300-SITEA, controllers A and B, seen through host0 and host1 |
The commands
The driver source was unpacked:
$ 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:
$ 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:
$ chattr -i /boot/grub/menu.lst $ nano /boot/grub/menu.lst $ chattr +i /boot/grub/menu.lst
The server was rebooted:
$ rebootAfter the boot, the first check was that the MPP kernel modules were loaded:
$ 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:
$ 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 line | What it tells |
|---|---|
tar -xvzf, make clean, make, make install | the 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 +i | the immutable attribute on menu.lst was this host's protection against stray edits; it has to come off for the edit |
mppVhba 138656 0 | the 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 mppVhba | the upper driver, referenced by mppVhba |
scsi_mod … mppVhba,…,qla2xxx,…,mppUpper,sg,sd_mod | both 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-SITEA | one directory per array the driver knows, named after the array |
controllerA, controllerB | one directory per controller of the array |
virtualLun1–virtualLun3 | the LUNs the virtual HBA presents to the system, one entry per LUN |
qla2xxx_h0c0t0, qla2xxx_h1c0t0 | the 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 path | the 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 built | Today |
|---|---|
rdac-LINUX-09.03.0B05.0331-source.tar.gz built on Red Hat Enterprise Linux AS 4 | The 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 initrd | NetApp 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, reboot | Red Hat Enterprise Linux 4 was retired on 29 February 2012 and left extended life-cycle support on 31 March 2017 |
| the arrays, DS5300 | Withdrawn 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 |