HP StorageWorks Secure Path V3.0C for Linux and Linux Workgroup Edition Installation and Reference Guide (AA-RU7VD-TE, February 2004)
Fibre Channel Device Software
116 Secure Path v3.0C for Linux and Linux Workgroup Edition Installation and Reference Guide
The sps
program conclusion
Secure Path for Linux uses the sps program for maintaining device persistence.
The program does the following:
■ Reads in a list of associations it knows about (physical -> logical ->
symbolic).
■ Reads in a list of physical devices the hardware indicates is present at that
time.
■ Compares the above and does the following:
— Makes symbolic links for new devices.
— Deletes symbolic links for nonexistent devices.
— Modifies symbolic links to compensate for physical device movement to
another bus and/or another target or LUN.
The symbolic links are maintained in /dev/spdev. Links are created for all
partitions of the LUN. Therefore, you will see /dev/spdev/spa through
dev/spdev/spa15 where spa represents spa0.
Having stated that, here are the issues using persistence and the sps program.
It is possible to fill the sps data file in which case the program will fail to do its
job. The reason for this is built into the technology of persistence itself.
With a Fibre Channel Network, devices may go offline. That does not mean that
they're gone for good. It does mean that they're not available right now. In order to
ensure persistence, sps must remember the device. It is possible over time to fill
the table with devices that may never come back online.
If this happens and a genuine new device is added, there will be no room to add it
to the data file and sps fails.You must edit the persistence data file to remove
unneeded entries because the Linux SCSI layer is currently limited to 128 LUNs.
Editing full Persistence data files
The sps persistence data file is located at /etc/CPQswsp/sppf. You can
tell if the file is full by entering wc -l /etc/CPQswsp/sppf and looking at
the line count. If it’s 128 lines, you cannot add more LUNs. You can add new
LUNs only if you delete existing LUNs from the sppf file. It is possible that
some of the LUNs in the sppf file are no longer used.