Technical white paper ‘hpsa’ – A SCSI-based Linux device driver for HP Smart Array Controllers, 2 edition nd Table of contents Abstract 2 What is the hpsa driver? Motivation Availability Affected devices 2 2 2 3 Planning for hpsa What is not changing What is changing 4 4 5 Potential impact of transitioning to hpsa Shared name space Name variability Persistent device naming 9 9 9 10 Deploying the hpsa driver Deploying hpsa during a new OS installation Transitioning to hpsa after the OS installation
Abstract The hpsa driver is an open-source Linux device driver for HP Smart Array controllers. Red Hat and SUSE include the hpsa driver as part of their standard enterprise Linux distributions. Unlike its predecessor, the cciss driver, the hpsa driver presents logical disk devices in the standard SCSI namespace.
newer controllers that are not compatible with the older cciss driver. When deploying SLES 11 SP1 on HP ProLiant Gen8 servers, obtain a Bootable Driver Kit from SUSE, which contains an updated hpsa driver version.1 As of SLES 11 SP2, the standard driver for newer Smart Array controllers (see Table 1) is hpsa. For HP ProLiant Gen8 servers, an updated hpsa driver is included in the SUSE Bootable Driver Kit (BDK).
P822 cciss hpsa cciss hpsa2 hpsa2 hpsa P721m cciss hpsa cciss hpsa2 hpsa2 hpsa Other current controllers cciss cciss cciss cciss cciss cciss Future controllers Cciss2 hpsa cciss hpsa hpsa hpsa There are no optional drivers for RHEL 6 and kernel.org: 1 Cciss is a supported driver in SLES 11, SP1, but an early hpsa version was offered as an optional driver. 2 SLES11 SP1 Bootable Driver Kit (BDK) image from hp.com or drivers.suse.
Repository (SDR) at http://downloads.linux.hp.com/SDR/. The SDR allows you to use native Linux tools like yum, apt, and zypper to install HP drivers. Standard OS utilities All the usual OS-specific storage management tools work with hpsa. The administrative activities for partitioning, formatting, creating a file system, managing a logical volume, and device mapping do not change.
Log and information files After transitioning to the hpsa driver, log files like /var/log/messages contain lines tagged with “hpsa” instead of “cciss”. Driver information files like /proc/driver/cciss/cciss# no longer contain controller information. Now, /proc/scsi/scsi or the lsscsi –long command provides similar information. Use the sysfs file system to discover and set attributes of the driver. The sysfs attribute files provide information about the controller and logical disk devices.
Device naming and numbering Table 3 lists the driver differences that affect device naming and numbering. Figures 2 and 3 illustrate device driver numbering. Table 3. Device naming and numbering. Parameter Driver device numbering cciss driver hpsa driver /dev/cciss/c[0-9]d[0-9]p[0-9] /dev/sd* c[0-9] represents a controller number. * is replaced by a sequential letter for each d[0-9] represents a logical disk number. logical disk and a sequential number for each partition in the logical disk.
Figure 2. cciss driver device numbers include the controller number and logical disk number. Figure 3. hpsa driver device labels include a logical disk letter.
Potential impact of transitioning to hpsa Device name changes are the most visible difference between the cciss and hpsa drivers. Remain aware of all potential impacts of these naming differences to ensure a smooth transition. Shared name space Before hpsa, the names of all Smart Array devices stood apart from those of other storage devices because they appeared in a separate namespace. Now, with hpsa, Smart Array devices group with standard SCSI devices.
For example: You install RHEL 6 on a server with P400 and P212 controllers. P400 controller uses the cciss driver on RHEL 6, according to Table 1. P212 controller uses the hpsa driver, according to Table 1. Any logical disks on the P212 will switch to hpsa-style naming as described in “Device naming and numbering” after hpsa activation. The /dev/cciss/c[0-9]d[0-9] names for P212 logical disks will change to /dev/sd* names.
Names can change for several reasons, including: The number of controllers changes. The order of discovery of devices changes. The number of configured logical disks changes. The driver used with a controller changes. Most modern distributions use one of the persistent naming methods as the default mounting method to insulate the system from most device name changes. The by-id persistent name is not effective for the type of change that occurs during the transition from cciss to hpsa driver.
Deploying the hpsa driver Ideally, you should begin the transition to the hpsa driver during an OS installation. You also can make the change later in certain cases, such as when changing Smart Array controller hardware. Deploying hpsa during a new OS installation The optimum time for deploying hpsa occurs during the installation of a new operating system. This avoids nearly all issues with device name changes. Preparing for the installation Smart Array devices may appear as /dev/sd*.
Figure 5 illustrates the OS device presentation changes that occur when transitioning to hpsa after the OS installation. Figure 5. OS device presentation changes with driver replacement Pre-transition tasks Before transitioning from the cciss driver to the hpsa driver, complete the following processes: 1. 2. 3. 4. 5. Schedule downtime for the transition. Perform and verify a complete system backup. Record physical and logical storage configuration and device mapping.
Figure 6 illustrates the potential device name changes that may occur due to a controller replacement. Figure 6. Controller replacement may change device names. Pre-replacement tasks Replacing a Smart Array controller requires a level of planning identical to the previously discussed case of activating the hpsa driver, since replacement can force a driver transition. We recommend these steps: 1. 2. 3. 4. 5. 6. 7. Schedule downtime for replacing the controller.
Post-replacement tasks 1. Reboot the server. 2. Verify all expected Smart Array devices are accounted for by /dev/sd* names. 3. 4. Perform a full system backup. Verify backup media. Conclusion The new Linux Smart Array driver, hpsa, improves error handling, device management, and integration with standard system tools and utilities. Keep in mind possible changes to device names when implementing hpsa.
Logical drive size expansion is not being recognized or updated in the operating system. The cciss driver communicated directly with the block layer to inform it of size changes in the underlying logical disk devices. With hpsa driver, one must execute a manual refresh command to alert the SCSI layer that size information has changed.