One "Path Control Module" to Rule Them All!
For many a year, SDDPCM ruled the world of IBM SAN attached storage on AIX servers. For example, with IBM SVC disk.
Times are changing.
The recommended multi-path driver to use on IBM AIX and VIOS when attached to SVC and Storwize storage devices running microcode levels V7.6.1 and later is changing from the SDDPCM to the default AIX PCM. Please read the following technote on the subject.
https://www-01.ibm.com/support/docview.wss?uid=ssg1S1010218
In addition to the removal of support for the SVC, support for the DS8000 (2107DS8K) storage devices is also being retired and customers are encouraged to migrate away from SDDPCM.
SDDPCM is not supported on POWER9 servers.
The official way to migrate from SDDPCM to AIXPCM is documented here (please read this):
How To Migrate SDDPCM to AIXPCM
http://www-01.ibm.com/support/docview.wss?uid=ssg1S1010646
Here's another way.
Use the manage_disk_drivers command.
https://www.ibm.com/support/knowledgecenter/sv/ssw_aix_72/com.ibm.aix.cmds3/manage_disk_drivers.htm
This command allows administrators to choose between different Patch Control Modules (PCMs), or between using a PCM and configuring the disks as non-MPIO disks.
It may be the easiest method for transitioning from using SDDPCM to the AIX default PCM.
The -l option shows a list of all options available (the columns show the device family, the driver currently used by that family, and the different options available).
# manage_disk_drivers -l | grep -i svc
IBMSVC NO_OVERRIDE NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
The "NO_OVERRIDE" option indicates that the configuration is not overridden by manage_disk_drivers, and so the device family is configured based on the available ODM to match that family. The ODM supplied by SDDPCM takes precedence over the AIX default PCM ODM. So a value of "NO_OVERRIDE" indicates that SDDPCM is used to configure devices of that family if SDDPCM is installed. If SDDPCM is not installed, then the AIX default PCM is used.
By selecting the "AIX_AAPCM" option, the administrator can instruct AIX to use the AIX default PCM even if SDDPCM is installed. The AIX LPAR must be rebooted in order for the disks to be reconfigured to use the AIX PCM. Once AIX is rebooted, SDDPCM is no longer in use for the disk family specified in the manage_disk_drivers command. If no disks are using SDDPCM, then the SDDPCM filesets may be uninstalled.
Note: The values of the attributes of the disks are not preserved during this conversion. In particular, the AIX default PCM uses the "single_path" reservation policy as the default reservation policy, and the "fail_over" algorithm as the default algorithm. If the disks being switched from SDDPCM to AIX PCM are shared among multiple nodes in a cluster, this default reservation policy must be changed before the disk is opened. If this is not done, other nodes in the cluster will lose access to the shared disks until the reservation policy is changed. The chdev command may be used to change the reservation policy. This also applies to VSCSI backing disks in a dual VIOS environment. In my opinion it is a good idea to add the recommended values to the predefined attributes in ODM. These values should be applied BEFORE rebooting your system into AIXPCM mode.
# chdef -a queue_depth=32 -c disk -s fcp -t mpioosdisk
queue_depth changed
# chdef -a reserve_policy=no_reserve -c disk -s fcp -t mpioosdisk
reserve_policy changed
# chdef -a algorithm=shortest_queue -c disk -s fcp -t mpioosdisk
algorithm changed
Any future LUN will now have the recommended values.
I personally recommend (and this is not an official IBM recommendation), to use the following defaults for AIX PCM hdisks.
# chdev -l hdiskX -a algorithm=shortest_queue -a reserve_policy=no_reserve -a queue_depth=32 -a hcheck_interval=60 -U
Here's an example of using the manage_disk_drivers command to switch from SDDPCM to AIX PCM for a system that's using IBM SVC 2145 disk.
a) Confirm the system is using SDDPCM for MPIO.
# manage_disk_drivers -l | grep -i svc
IBMSVC NO_OVERRIDE NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
# pcmpath query device
Total Dual Active and Active/Asymmetric Devices : 2
DEV#: 3 DEVICE NAME: hdisk2 TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050768017F00362000000000000346 VENDOR: IBM SIZE: 30.00 GB
==========================================================================
Path# Adapter/Path Name State Mode Select Errors
0* fscsi0/path0 OPEN NORMAL 50 0
1 fscsi0/path1 OPEN NORMAL 9343 0
2* fscsi1/path2 OPEN NORMAL 51 0
3 fscsi1/path3 OPEN NORMAL 9236 0
DEV#: 4 DEVICE NAME: hdisk3 TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050768017F00362000000000000347 VENDOR: IBM SIZE: 2.00 TB
==========================================================================
Path# Adapter/Path Name State Mode Select Errors
0 fscsi0/path0 OPEN NORMAL 117 0
1* fscsi0/path1 OPEN NORMAL 36 0
2 fscsi1/path2 OPEN NORMAL 121 0
3* fscsi1/path3 OPEN NORMAL 36 0
The AIX PCM lsmpio command does not return anything, as SDDPCM is in control at this time.
# lsmpio -are
#
# lsdev -Cc disk
hdisk2 Available 42-T1-01 MPIO FC 2145
hdisk3 Available 42-T1-01 MPIO FC 2145
# lspath
Enabled hdisk2 fscsi0
Enabled hdisk3 fscsi0
Enabled hdisk2 fscsi0
Enabled hdisk3 fscsi0
Enabled hdisk2 fscsi1
Enabled hdisk3 fscsi1
Enabled hdisk2 fscsi1
Enabled hdisk3 fscsi1
b) Run the manage_disk_drivers command to switch to AIX PCM and reboot the system.
# manage_disk_drivers -d IBMSVC -o AIX_AAPCM
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# bosboot -ad /dev/ipldevice
# shutdown -Fr
After the reboot, AIX PCM is now in control of MPIO on this system.
# manage_disk_drivers -l | grep -i svc
IBMSVC AIX_AAPCM NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
# lsmpio -are
Adapter Driver: fscsi0 -> AIX PCM
Adapter WWPN: c0507607e05e0078
Link State: Up
Connection Errors
Last 10 Minutes: 0
Last 60 Minutes: 0
Last 24 Hours: 0
Total Errors: 0
Connection Errors
Last 10 Last 60 Last 24
Minutes Minutes Hours
50050768011006c4 0 0 0
500507680110062b 0 0 0
Adapter Driver: fscsi1 -> AIX PCM
Adapter WWPN: c0507607e05e007a
Link State: Up
Connection Errors
Last 10 Minutes: 0
Last 60 Minutes: 0
Last 24 Hours: 0
Total Errors: 0
Connection Errors
Last 10 Last 60 Last 24
Minutes Minutes Hours
50050768011006c4 0 0 0
500507680110062b 0 0 0
#
# pcmpath query device
No device file found
What if I wanted to roll back to SDDPCM? Simple, just run manage_disk_drivers again and select NO_OVERRIDE. Of course, this assumes you have not de-installed the SDDPCM device drivers.
# manage_disk_drivers -d IBMSVC -o NO_OVERRIDE
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# shutdown -Fr
SDDPCM is now in control of MPIO again.
# manage_disk_drivers -l | grep -i svc
IBMSVC NO_OVERRIDE NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
# pcmpath query device
Total Dual Active and Active/Asymmetric Devices : 2
DEV#: 3 DEVICE NAME: hdisk2 TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050768017F00362000000000000346 VENDOR: IBM SIZE: 30.00 GB
==========================================================================
Path# Adapter/Path Name State Mode Select Errors
0* fscsi0/path0 OPEN NORMAL 50 0
1 fscsi0/path1 OPEN NORMAL 9637 0
2* fscsi1/path2 OPEN NORMAL 51 0
3 fscsi1/path3 OPEN NORMAL 9674 0
DEV#: 4 DEVICE NAME: hdisk3 TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050768017F00362000000000000347 VENDOR: IBM SIZE: 2.00 TB
==========================================================================
Path# Adapter/Path Name State Mode Select Errors
0 fscsi0/path0 OPEN NORMAL 144 0
1* fscsi0/path1 OPEN NORMAL 36 0
2 fscsi1/path2 OPEN NORMAL 109 0
3* fscsi1/path3 OPEN NORMAL 36 0
AIX PCM lsmpio does not return any information when SDDPCM is in control.
# lsmpio
#
Now, when you've switched from SDDPCM to AIX PCM, you can uninstall the SDDPCM device drivers at this point.
; Confirm AIX PCM is in control i.e. output from lsmpio.
# lsmpio
name path_id status path_status parent connection
hdisk2 0 Enabled Non fscsi0 50050768011006c4,0
hdisk2 1 Enabled Opt fscsi0 500507680110062b,0
hdisk2 2 Enabled Non fscsi1 50050768011006c4,0
hdisk2 3 Enabled Sel,Opt fscsi1 500507680110062b,0
hdisk3 0 Enabled Opt fscsi0 50050768011006c4,1000000000000
hdisk3 1 Enabled Non fscsi0 500507680110062b,1000000000000
hdisk3 2 Enabled Sel,Opt fscsi1 50050768011006c4,1000000000000
hdisk3 3 Enabled Non fscsi1 500507680110062b,1000000000000
# smit deinstall
Remove Installed Software
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* SOFTWARE name [devices.fcp.disk.ibm.mpio.rte devices.sddpcm.72.rte]
PREVIEW only? (remove operation will NOT occur) yes +
REMOVE dependent software? yes +
EXTEND file systems if space needed? no +
DETAILED output? +
FILESET STATISTICS
------------------
2 Selected to be deinstalled, of which:
2 Passed pre-deinstall verification
----
2 Total to be deinstalled
ADDITIONAL INFORMATION
----------------------
One or more of the selected filesets will cause a bosboot to be performed.
The bosboot command will rebuild the boot image. As a result it may
be necessary to reboot your system for the changes to take effect.
It is recommended that you reboot the system as soon as possible
after the installation of this software to avoid disruption of
current functionality.
Name Level Part Event Result
-------------------------------------------------------------------------------
devices.sddpcm.72.rte 2.7.1.0 ROOT DEINSTALL SUCCESS
devices.sddpcm.72.rte 2.7.1.0 USR DEINSTALL SUCCESS
devices.fcp.disk.ibm.mpio.r 1.0.0.25 USR DEINSTALL SUCCESS
# lslpp -l | grep sddpcm
#
# pcmpath query device
ksh: pcmpath: not found.
Note: Please take note of the following important information in the Technote (S1010218) I mentioned earlier:
Note1: Removing SDDPCM will set the queue to the default value of 20. Any modification made to the queue depth prior to removal will need to be reapplied.
Note2: The default path selection algorithm for AIXPCM is "fail_over". The AIX PCM supports the "shortest_queue" algorithm which is similar to SDD PCM's "load_balance" algorithm. The chdev command may be used to set the algorithm, though it may also be necessary to set the reserve policy when changing the algorithm. For example, to set hdisk5 to use the "shortest_queue" algorithm, execute this command: chdev -l hdisk5 -a algorithm=shortest_queue -a reserve_policy=no_reserve
Note3: Multipath management commands differ between AIXPCM and SDDPCM. If the SDDPCM is removed from your system any scripts that have been generated that utilize these commands will need to be modified to use the corresponding AIXPCM commands.