Sunday 17 March 2013

MPIO in AIX

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

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

No comments:

Post a Comment