MPIO:

Included as part of AIX at no charge. Packaged as a kernel extension and multipathing module (PCM, Path Control Module). Each storage device requires a PCM. PCM is storage vendor supplied code that gets control from the device driver to handle the path management.

With AIX and multipathing (on IBM storage) we have the following options:
    -classic SDD: (ODM definitions: ibm2105.rte, SDD driver: deviceis.sdd.53.rte)
    -default PCM (MPIO): it comes with AIX (it is activated only if there are no SDD ODM definitions)
    -SDDPCM: SDD version which uses MPIO and has same commands as SDD
             (ODM def: devices.fcp.disk.ibm2105.mio.rte, SDDPCM driver:devices.sddpcm.53.rte)

MPIO is installed as part of the base OS. Paths are discovered during system boot (cfgmgr) and disks are created from paths at the same time. No further configuration is required.

By default fail_over is set to algorithm. To change it to round robin, first change reservation policy and then algorithm:
chdev -l hdiskX -a reserve_policy=no_reserve
chdev -l hdiskX -a algorithm=round_robin

smitty mpio

mkpath -l hdiskX -p fscsiY           add extra path that are attached to an adapter
lspath                               lists paths (lspath -l hdisk46)
lspath -l hdisk44 -H -F "name path_id parent connection status" shows many info
chpath                               changing path state (enabbled, disabled)
chpath -s enabled -l hdisk -p vscsi0 it will set the path to enabled status
rmpath -dl hdiskX -p fcsiY           dynamically remove all paths under a parent adapter
                                     (-d: deletes, without it puts it to define state)
                                     (The last path cannot be removed, the command will fail if you try to remove the last path)

rmpath -dl hdisk3 -p fscsi0 -w 50060e8000c3baf4,2000000000000    <--deletes a path

--------------------------------------------------

Failed path handling:
(there were Hitachi disks in Offline (E) state, but they were not unconfigured earlier)
    -lspath | grep -v Enab
    -rmpath -p fscsiX -d
    -cfgmgr -l fcsX
    -lspath | grep -v Enab
    -dlnkmgr view -lu -item


--------------------------------------------------

Change adapter setting online:

rmpath -d -p vscsi0                             <--removes all paths from adapt. (rmpath -dl hdisk0 -p vscsi0, it removes only specified path)
rmdev -l vscsi0                                 <--puts adapter into defined state
chdev -l vscsi0 -a vscsi_err_recov=fast_fail    <--change adapter setting (if -P is used it will be activated after reboot)
cfgmgr -l vscsi0                                <--configure back adapter



-------------------------------------------------
-------------------------------------------------
-------------------------------------------------



SDDPCM:

SDDPCM is a loadable path control module designed to support the multipath configuration environment in the IBM TotalStorage Enterprise Storage Server, the IBM System Storage SAN Volume Controller, and the IBM TotalStorage DS family.

When the supported devices are configured as MPIO-capable devices, SDDPCM is loaded and becomes part of the AIX MPIO FCP (Fibre Channel Protocol) device driver. The AIX MPIO device driver with the SDDPCM module enhances the data availability and I/O load balancing.

You cannot install SDD and SDDPCM together on a server. When supported storage devices are configured as non-MPIO capable devices (that is, multiple logical device instances are created for a physical LUN), you should install SDD to get multipath support. Where only one logical device instance is created for a physical LUN you must install SDDPCM.

SDDPCM server daemon:
SDDPCM has a server daemon running in the background: lssrc/stopsrc/startsrc -s pcmsrv
psmsrv provides path-recovery function for SDDPCM devices

these module added to the kernel: sddpcmke, sdduserke


pcmpath
pcmpath query adapter            shows adapter configuration
pcmpath query version            shows the version of the sddpcm
pcmpath query device             shows the sddpcm devices (pcmpath query device 44 <--shows only this device)
pcmpath query essmap             good overview

pcmpath set device algorithm     dynamically change the path selection algorithm
pcmpath set device hc_mode       dynamically chane the path health check mode
pcmpath set device hc_interval   dynamically change the path healthcheck time interval

pcmpath set device M  path N online/offline dynamically enable (online) or disable (offline) a path
pcmpath set adapter N online/offline dynamically enable (online) or disable (offline) an adapter
                                 (SDDPCM resereves the last path of a device, it will fail if the device is using the last path)

pcmquerypr                        reads and clear persisten reserve and registration keys
pcmquerypr -vh /dev/hdisk30       to query and display the persistent reservation (-V verbose mode, more details)
pcmquerypr -rh /dev/hdisk30       release the persistent reservation if the device is reserved by the current host
pcmquerypr -ch /dev/hdisk30       remove the persistent reservation and clear all reservation key registration
pcmquerypr -ph /dev/hdisk30       remove the persistent reservation if the device is reserved by the other host

pcmgenprkey                       set or clear the PR_key_value ODM attribute for all SDDPCM MPIO devices
------------------------------------

Change adapter settings (reconfigure paths):

1. If possible put the required adapter offline with the subsystem driver (pcmpath,dlnkmgr):
   (this will put into Disabled state)
    -pcmpath set adapter 3 offline
    -dlnkmgr offline -hba 08.07

2. Put all the Disabled path to Defined:
    -for i in `lspath | grep Dis | grep fscsiX| awk '{print$2}'`; do rmpath -l $i -p fscsiX; done

3. If there are other paths still in Enabled or Failed state put them into Defined:
    -rmpath -l hdisk9 -p fscsi1

4. Remove all devices from ODM from the mentioned adapter:
    -rmdev -Rl fcs2
    -lsdev -p fscsi2    <--should not show the disks

5. Change the adapter settings
    -chdev -l fscsi1 -a dyntrk=yes -a fc_err_recov=fast_fail
    -chdev -l fcs1 -a init_link=pt2pt

6. Config:
    -cfgmgr

20 comments:

  1. some very useful information... Thanks.

    ReplyDelete
  2. Hi AIX,

    Whether the Hitachi LUNs can be accessed without dlinkmgr software ie., by using default SDDPCM driver.

    ReplyDelete
    Replies
    1. The answer to your question is yes and no.
      Yes, Hitachi LUNs can be accessed without dlnkmgr software, but SDDPCM is not for Hitachi LUNs.
      You have to differentiate SDDPCM and PCM (native AIX PCM)
      SDDPCM is for IBM storage only, for this you need to install additional fileset, for example devices.sddpcm53.rte and then you can use pcmpath commands. But for native AIX PCM (MPIO) you don't have to install addtional software. AIX, with a base operating system install, is capable to use some third party devices (ie. Hitachi) as MPIO devices (lspath, rmpath...)
      But you need to ask Hitachi support as well, if the model you have is capable for using this way.

      Delete
  3. Hi,

    I have received this from Jose, and I would like to share:

    "I was interested in a summary table of my disks so I wrote the below script, pcmpath query essmap was as well ok for me but gave me further info

    display the disk in lspath in “ No hdiskxx size mb No-paths” with no root authority
    p="/usr/sbin/lspath";for i in `$p| awk ' !/Missing/ {print $2}'|sort|uniq `;do echo "$i; `getconf DISK_SIZE /dev/$i` mb; `$p| awk ' !/Missing/ &&/'$i' / {print $2}'|wc -l|sed 's/ //g'`" ; done|cat -n

    Output
    1 hdisk0; 70006 mb; 1
    2 hdisk1; 70006 mb; 1
    3 hdisk2; 20480 mb; 4
    4 hdisk25; 20480 mb; 4
    5 hdisk26; 20480 mb; 4"

    ReplyDelete
  4. Very helpful.
    Is there anyway, I can locate the network adapter location by turn-on the light, as I have 3 Network adapter in P550 Machine in production environment. My oslevel is AIX52TL4.
    Thanks in advance.

    ReplyDelete
    Replies
    1. Hi, on AIX 5.3, if you issue the command: diag -> Task Selection -> Hot Plug Task -> PCI Hot Plug Manager -> Identify a PCI Hot Plug Slot
      This will blink the light at that location on AIX 5.3, you should try, maybe it works on AIX 5.2 as well

      Delete
    2. Thank for your help. It work.

      Delete
  5. Hi,

    Please explain briefly about Missing, Failed and Defined states in lspath output.

    Regards,
    Siva

    ReplyDelete
    Replies
    1. Hi,

      failed
      Indicates that the path is configured, but it has had IO failures that have rendered it unusable. It will not be considered when paths are selected for IO.
      defined
      Indicates that the path has not been configured into the device driver.
      missing
      Indicates that the path was defined in a previous boot, but it was not detected in the most recent boot of the system.

      Delete
    2. Hi,

      enabled
      Indicates that the path is configured and operational. It will be considered when paths are selected for IO.
      disabled
      Indicates that the path is configured, but not currently operational. It has been manually disabled and will not be considered when paths are selected for
      IO.
      failed
      Indicates that the path is configured, but it has had IO failures that have rendered it unusable. It will not be considered when paths are selected for
      IO.

      defined
      Indicates that the path has not been configured into the device driver.
      missing
      Indicates that the path was defined in a previous boot, but it was not detected in the most recent boot of the system.
      detected
      Indicates that the path was detected in the most recent boot of the system, but for some reason it was not configured. A path should only have this status
      during boot and so this status should never appear as a result of the lspath command.
      Regards
      Virender Kumar

      Delete
  6. hello,

    if I have the command pcmpath then I have everything right sddpcm? stg ds8k

    ReplyDelete
    Replies
    1. hi, I would say yes...if it works correctly.

      Delete
  7. i am having MPIO on vio , i use lspath display 1 of the SAN disk in vio server.
    # lspath -l hdisk12 -H -F "name parent connection path_id"
    name parent connection path_id

    hdisk12 fscsi0 500507630700067a,4060400500000000 0
    hdisk12 fscsi0 50050763070b067a,4060400500000000 1
    hdisk12 fscsi1 500507630710067a,4060400500000000 2
    hdisk12 fscsi1 50050763071b067a,4060400500000000 3

    how to explain connection and path_id ?

    ReplyDelete
    Replies
    1. Hi,
      both of them can be used tu uniquely identify paths, for example with chpath commands.

      The connection information differentiates the multiple path instances that share the same logical parent (adapter). (SCSI ID and LUN ID of the device associated with this path.)


      path_id: Indicates the ID of the path, it is used to uniquely identify a path

      Delete
  8. Hi,

    I need to findlut the MPIO package version which is installed in AIX. And need to know which version of HBA cards are using?

    Thank you

    ReplyDelete
    Replies
    1. Hi ,
      try the following :
      # lslpp -L '-a' devices.common.IBM.mpio.rte
      or :
      # smit list_installed

      Delete
  9. Hi,

    how can we check the disk raid level from AIX 7.1 Machine.

    Note: In AIX 5.3 it is #lsattr -El hdisk8 | grep -i raid

    Thanks

    ReplyDelete
  10. Hi AIX man !
    I have this environment were a HDS disk is connected to a LPAR. The point is, even with mpio installed, there is not 2 paths to the disks. So, my question is, what are the required packages required at AIX to configure multipath?

    AIX 6100-04
    devices.common.IBM.mpio.rte
    6.1.5.0 COMMITTED MPIO Disk Path Control Module
    devices.fcp.disk.Hitachi.array.mpio.rte
    5.4.0.0 COMMITTED AIX MPIO Support for Hitachi
    5.4.0.1 APPLIED AIX MPIO Support for Hitachi
    5.4.0.2 APPLIED AIX MPIO Support for Hitachi
    5.4.0.3 APPLIED AIX MPIO Support for Hitachi
    5.4.0.4 APPLIED AIX MPIO Support for Hitachi
    5.4.0.5 APPLIED AIX MPIO Support for Hitachi
    devices.fcp.disk.Hitachi.modular.mpio.rte
    6.0.0.0 COMMITTED AIX MPIO Support for Hitachi
    6.0.0.1 APPLIED AIX MPIO Support for Hitachi
    devices.common.IBM.mpio.rte
    6.1.5.0 COMMITTED MPIO Disk Path Control Module

    ReplyDelete
  11. Hi All
    I have a question ? I am trying to install Hitachi software 6001 which is already their in my . file after running everything the output is coming failed.
    This is what i am getting can anyone tell me where i am doing mistake ?

    cannot open /output/hitachi/odm/mpio/6000/HTC_MPIO_Modular_ODM_6000I: No such file or directory
    Please mount volume 1 on /output/hitachi/odm/mpio/6000/HTC_MPIO_Modular_ODM_6000I
    ...and press Enter to continue installp: An error occurred while running the restore command.
    Use local problem reporting procedures.

    installp: CANCELED software for:
    devices.fcp.disk.Hitachi.modular.mpio.rte 6.0.0.0

    Thanks.

    ReplyDelete