With so many customers now using Storwize and SVC storage in their Power environment with VIOS, it is important that we get the configuration of the system correct and supported.
In the last few months, I have been involved with customers who already have their Power and Storwize systems up and running. Something I’ve found that has been missing on a few occasions is the correct VIOS multipath I/O (MPIO) device driver for the Storwize systems.
We need an MPIO driver in AIX and VIOS as, normally, we access our SAN-based disks via multiple Fibre Channel ports. The MPIO driver manages the multiple connections to our external disks to provide performance and resiliency.
AIX, and therefore VIOS, comes with a built-in MPIO driver which, as far as I can see, was designed for FAStT and DSxxxx storage. If we use Storwize, DS8000 or SVC with our VIOS/AIX LPARs, then we should be replacing the built-in MPIO driver with the SDDPCM MPIO driver provided by IBM.
The SDDPCM driver can be downloaded free of charge from IBM and is available for the following operating systems:
● AIX
● Linux
● Windows
You’ll notice that IBM i isn’t on that list of operating systems. This is because IBM i already has the necessary MPIO support built in so there is no additional configuration required for IBM i when connecting to Storwize/SVC using NPIV.
When to install SDDPCM
If you are connecting to Storwize, SVC or DS8000 directly from any of the above operating systems, you should install SDDPCM.
For AIX and Linux client LPARs using NPIV, the SDDPCM driver should be installed in the client LPAR. So, if you have 50 AIX LPARs using NPIV connectivity to Storwize, each AIX LPAR would require SDDPCM installed.
The SDDPCM software is not required for AIX or Linux if the storage is provided using native vSCSI or Shared Storage Pools vSCSI.
VIOS will require SDDPCM for one or more of the following configurations:
● The VIOS OS is installed on Storwize provided storage rather than internal disk.
● The VIOS is providing vSCSI mappings to any client LPAR.
● The VIOS is providing vSCSI mappings to any client LPAR via a Shared Storage Pool.
Downloading SDDPCM
There are two components to download:
1. SDDPCM driver software.
2. AIX host attachment software.
To obtain the SDDPCM driver software, use the following on Fix Central. Note that you will not need to provide any system details or serial numbers to download SDDPCM.
The download is small – around 3.25MB – and this provides the devices.sddpcm.61.rte package. Note that VIOS 2.x versions are equivalent to AIX 6.1.
You will also need the devices.fcp.disk.ibm.mpio.rte package which provides Host Attachment capabilities for AIX. This is not available from Fix Central but a Google search for the following gives me the download page.
Google search: aix host attachment devices.fcp.disk.ibm.mpio
Again the download is small, less than 100KB.
Installing SDDPCM
The main consideration when installing SDDPCM is that it will require a reboot of VIOS to activate it. This is why it is best to install SDDPCM when VIOS is initially installed and configured.
If you install VIOS without SDDPCM and use the built-in MPIO driver, then you need to amend the reserve_policy attribute on the hdisks to “no”. When SDDPCM is installed, all the hdisks from the Storwize mapped to VIOS will have the reserve_policy set to “no” automatically.
1. On each VIOS you wish to install SDDPCM create a new directory called sddpcm:
mkdir sddpcm
This folder will be located under /home/padmin
2. FTP or scp the devices.* files you downloaded from IBM to your VIOS and put these into the /home/padmin/sddpcm folder. Ensure that you specify binary for the transfer type if using FTP.
3. On the VIOS, change from the padmin environment to the AIX environment using:
oem_setup_env
OR
aix
(only available if you have this set up as an alias)
4. Change to the /home/padmin/sddpcm directory:
cd /home/padmin/sddpcm
5. Create a .toc file for the files in the directory:
inutoc .
(ensure you put a space and full stop after the inutoc command).
6. Use smitty to install the sddpcm and host attachment software:
smitty installp
Take the “Install Software” option.
7. For “INPUT device / directory for software [.]” just use a full stop to represent the current directory.
8. At the Install Software panel, change ACCEPT new license agreements to “yes”.
Press Enter and then again to confirm.
9. The installation normally takes between one and three minutes and does not impact the running VIOS or the client LPARs associated with the VIOS.
10. The SDDPCM driver will not be activated until you reboot the VIOS.
Note that the IBM documentation discusses removing any existing device driver software prior to installing SDDPCM. I have never had to remove any drivers from VIOS prior to installing SDDPCM to date. This may not be the case for your environment.
The IBM documentation also discusses installing the AIX host attachment software prior to the SDDPCM driver. I have always found that using the procedure above does not require this as installp detects the prerequisite and handles this automatically.
Testing SDDPCM
Once you have rebooted your VIOS, you can check that the software is installed and working by moving to your AIX environment (oem_setup_env):
installp -l |grep sddpcm devices.sddpcm.61.rte 2.6.5.1 COMMITTED IBM SDD PCM for AIX V61 devices.sddpcm.61.rte 2.6.5.1 COMMITTED IBM SDD PCM for AIX V61 installp -l |grep disk.ibm devices.fcp.disk.ibm.mpio.rte pcmpath query device Total Dual Active and Active/Asymmetric Devices : 42 DEV#: 0 DEVICE NAME: hdisk0 TYPE: 2145 ALGORITHM: Load Balance SERIAL: 6005076400810044B800000000000014 ========================================================================== Path# Adapter/Path Name State Mode Select Errors 0* fscsi2/path1 OPEN NORMAL 41 0 1* fscsi0/path0 OPEN NORMAL 40 0 2 fscsi1/path2 OPEN NORMAL 6101659 0 3 fscsi3/path3 OPEN NORMAL 6003488 0 DEV#: 1 DEVICE NAME: hdisk1 TYPE: 2145 ALGORITHM: Load Balance SERIAL: 6005076400810044B80000000000001E ========================================================================== Path# Adapter/Path Name State Mode Select Errors 0 fscsi2/path1 OPEN NORMAL 153504 0 1 fscsi0/path0 OPEN NORMAL 145841 0 2* fscsi1/path2 OPEN NORMAL 28 0 3* fscsi3/path3 OPEN NORMAL 28 0 <clipped>
The command output here is showing just two hdisk devices; hdisk 0 and hdisk 1.
Working with SDDPCM
To be honest, there is nothing else you need to do but if you want to use SDDPCM here are some examples.
pcmpath query device 1 DEV#: 1 DEVICE NAME: hdisk1 TYPE: 2145 ALGORITHM: Load Balance SERIAL: 6005076400810044B80000000000001E ========================================================================== Path# Adapter/Path Name State Mode Select Errors 0 fscsi2/path1 OPEN NORMAL 153504 0 1 fscsi0/path0 OPEN NORMAL 145841 0 2* fscsi1/path2 OPEN NORMAL 28 0 3* fscsi3/path3 OPEN NORMAL 28 0
SERIAL: Matches the volume UUID on the Storwize device
Path: Fibre paths to the Storwize volume. Note that 0 and 1 are active while 2 and 3 are passive
pcmpath query adapter Total Dual Active and Active/Asymmetric Adapters : 4 Adpt# Name State Mode Select Errors Paths Active 0 fscsi2 NORMAL ACTIVE 593097391 0 42 42 1 fscsi0 NORMAL ACTIVE 592378327 0 42 42 2 fscsi1 NORMAL ACTIVE 598790259 0 42 42 3 fscsi3 NORMAL ACTIVE 597802168 0 42 42
This command shows four Fibre Channel adapters in use and some high-level statistics.
pcmpath query port Active TargetPorts :4 Port# Wwpn State Mode Select Errors Paths Active 0 500507680b32303e NORMAL ACTIVE 593100714 0 42 42 1 500507680b22303e NORMAL ACTIVE 592381695 0 42 42 2 500507680b23303f NORMAL ACTIVE 598793774 0 42 42 3 500507680b33303f NORMAL ACTIVE 597805703 0 42 42
This shows the target WWPN(s) detected on the Storwize for each Fibre Channel port. This is a useful test to ensure that the VIOS is detecting the Storwize FC ports.
pcmpath query wwpn Adapter Name PortWWN fscsi0 10000090FA7CA326 fscsi1 10000090FA7CA327 fscsi2 10000090FA7C8CF8 fscsi3 10000090FA7C8CF9
This command shows the WWPN of each Fibre Channel port on the VIOS.
Links:
IBM DeveloperWorks: AIX MPIO Best Practices.
IBM DeveloperWorks: SDDPCM AIX Installation.
Glenn Robinson has been PowerWire‘s resident tech tipster for over a decade. He has worked in the IBM computing arena since 1986 on System/34/36/38 and AS/400 through to Power Systems today.
As systems architect for IBM systems and storage at RSI Consulting, based in Northampton, UK, he works predominantly with IBM i clients as well as those using AIX and Linux. In the last five years, he has also had a great deal if experience working with Power customers using SVC and V7000 storage virtualisation.
There’s really no reason to use SDDPCM instead of Native MPIO on AIX or VIO. Native MPIO can be configured to behave exactly the same as SDDPCM. Using native MPIO removes one component of the environment would need to be maintained with the rest.