首页 > 代码库 > all about AIX MPIO

all about AIX MPIO

Multipath  I/O (多路径)
  在计算机存储技术里,多路径提供了容错和性能提高,在计算机系统里CPU有多条物理路径通道,块存储设备通过总线,控制器,交换设备以及桥接设备来连接。
 
  简单举例同一台计算机里1块SCSI磁盘连接2个SCSI控制器或者磁盘连接到两个FC端口。如果其中1个控制器,端口或交换设备故障,那操作系统就会自动切换I/O路径到冗余的控制器为应用程序使用,但这样可能会增加延迟
.
 
  一些多路径软件可以利用冗余的路径提高性能,例如
:
 
  Dynamic load balancing 动态负载均衡
  Traffic shaping 流量控制
  Automatic path management 自动路径管理
  Dynamic reconfiguration 动态设置
 
  Multipath I/O software implementations 多路径软件工具
 
  一些操作系统自带支持多路径功能,如下
 
  SGI IRIX - using the LV, XLV and later XVM volume managers (1990s and onwards)
  AIX - MPIO Driver, AIX 5L 5.2 (October 2002) and later
  HP-UX 11.31 (2007)
  Linux - Device-Mapper Multipath . Linux kernel 2.6.13 (August 2005)
  OpenVMS V7.2 (1999) and later
  Solaris Multiplexed I/O (MPxIO), Solaris 8 (February 2000) and later
  Windows MPIO Driver, Windows Server 2003 and Windows Server 2008 (April 2003)
  FreeBSD - GEOM_FOX module
  Mac OS X Leopard and Mac OS X Leopard Server 10.5.2
 
  Multipath software products: (软件产品
)
 
  AntemetA. Multipathing Software solution for AIX for HP EVA Disk Arrays
  NEC PathManager
  EMC PowerPath
  FalconStor IPStor DynaPath
  Fujitsu Siemens MultiPath for Linux and Windows OS
  Fujitsu ETERNUS Multipath Driver (ETERNUSmpd) for Solaris, Windows, Linux and  AIX.
  Hitachi HiCommand Dynamic Link Manager (HDLM)
  HP StorageWorks Secure Path
  NCR UNIX MP-RAS EMPATH for EMC Disk Arrays
  NCR UNIX MP-RAS RDAC for Engenio Disk Arrays
  ONStor SDM multipath
  IBM System Storage Multipath Subsystem Device Driver (SDD), formerly Data Path  Optimizer
  Accusys PathGuard
  Infortrend EonPath
  Sun Multipath failover driver for Windows and AIX
  Sun StorEdge Traffic Manager Software, included in Sun Java StorEdge Software  suite
  Linux
  multipath-tools, used to drive the Device Mapper multipathing driver, first released  on September 2003
  Fibreutils package for QLogic HBAs
  RDAC package for LSI disk controllers
  lpfcdriver package for Emulex HBAs
  Veritas
  Veritas Storage Foundation (VxSF)
  Veritas Volume Manager (VxVM)
  Pillar Data Systems
  Axiom Path Manager for AIX, Windows, Linux, and Solaris
  Areca Multipath failover driver for Windows


 

 

AIX下的MPIO、RDAC、SDDPCM多路径软件操作

一:查看存储盘的路径

1、查看MPIO的存储盘的路径
# lspath                                   (适用于所有存储的MPIO路径查询)
# mpio_get_config  -Av                      (适用于DS3K/DS4K的MPIO路径查询)

2、查看RDAC存储盘的路径
# fget_config -Av                           (适用于DS3K/DS4K的RDAC路径查询)

3、查看SDDPCM存储盘的路径
# pcmpath query device                      (适用于DS6K/DS8K和v7000的SDDPCM路径查询)

4、查看当前操作系统自带的支持IBM存储的多路径软件
# manage_disk_drivers

5、将DS4700默认的多路径软件更改成RDAC
# manage_disk_drivers -d DS4700 -o AIX_fcparray

二:MPIO路径的常用操作

1、查看单个盘的路径
# lspath -l hdisk3
#
lspath-F "status name path_id parent connection" | grep -w hdisk3

2、MPIO路径控制
将fcs0卡下的hdisk2的路径禁用
# chpath -l hdisk2 -p fscsi0 -s disable

将fcs0卡下的hdisk2的路径启用
# chpath -l hdisk2 -p fscsi0 -s enable

3、其它参数
# chdev -l hdisk3 -a queue_depth=1         //如果ODM是1.0.1.0以上可以是任何数字

# chdev-l hdisk3 -a hcheck_interval=60     //链路失效检查时间间隔;如果等0,则不会自检

# chdev-l hdisk3 hcheck_mode=nonacive
This parameter specifies which I/O paths should be monitored by the path healthchecking functionality.
nonactive: This mode will check all failed I/O paths and all standby paths of used/openeddevices.
failed: This mode with check failed I/O paths only.
enabled: This mode will check all enabled I/O paths which are opened.

Note:
Non-opened devices are not monitored. Also, this attribute is
not being used at this time since path health checking is not
enabled. This attribute can be ignored

4、修改链路优先级

$ lspath -AHE -l hdisk6 -pfscsi3    //查看链路优先级

attributevalue              description  user_settable

scsi_id   0x10000            SCSI ID      False

node_name0x50060e80132dae70 FC Node Name False

priority  1                  Priority     True

 

# chpath-l hdisk6 -p fscsi0 -w链路1 -a priority=1
# chpath -l hdisk3 -p fscsi0 -w 链路2 -a priority=2

5、处理故障
1)如果发现有很多路径是missing的,可以用cfgmgr重新扫描,如果还有missing的,可以用步骤2和2来激活路径;
2)如果要更换光纤线,可以该卡上的有的路径禁用,换完线后再启用,避免直接拨线产生的风险。


sdd for aix 安装及基本命令 总结出自多个文件(自己做的项目和网上找的资料)

一、sddpcm安装

要安装SDDPCM 驱动程序,需要执行以下步骤。

1.      在安装 SDDPCM程序包之前,安装 AIX SDDPCM主机附件程序包(devices.fcp.disk.ibm.mpio.rte或devices.sas.disk.ibm.mpio.rte)。

2.      使用 root访问权限登录系统,然后解压缩已下载的SDDPCM主机附件程序包(devices.fcp.disk.ibm.mpio.rte.tar.gz或devices.sas.disk.ibm.mpio.rte.tar.gz)并进行安装。您也可以使用 smit选项。

#installp-aXY devices.fcp.disk.ibm.mpio.rte

3.      现在,您需要安装 SDDPCM程序包(devices.sddpcm.52.rte、devices.sddpcm.53.rte或devices.sddpcm.61.rte)。

#installp-aXY devices.sddpcm.61.rte

4.      安装必要组件之后,安装 .bff文件。

#installp-aXY devices.sddpcm.61.2.6.3.2.bff

 

5.sddpcm的检查

# pcmpathquery version

# lslpp-l *sddpcm*  

检查SDDPCM server(pcmsrv)是否启动

# lssrc-s pcmsrv

Subsystem         Group            PID          Status

pcmsrv                            335960       active

手工启停pcmsrv的方法

# stoppcmsrv                

0513-044The pcmsrv Subsystem was requested to stop.

# startpcmsrv               

pcmsrvstarted

 

完成此安装之后,需要设置一个SDD路径选择策略算法,该算法可以帮助您提高多路径配置的和受支持的存储设备的性能,并且可以让路径故障对应用程序透明。以下路径选择策略受到支持:

?       仅故障转移 (fo)

由于 I/O 错误,在路径发生故障之前,应将所有 I/O操作发送至相同(首选)路径。然后为后续的I/O操作选择一个备用路径。

?       负载平衡 (lb)

通过评估适配器上每个路径连接的负载来选择用于I/O操作的路径。负载是同时进行的 I/O操作数量的函数。如果多个路径具有相同的负载,则会从这些路径中随机选择一条路径。负载平衡模式还会并入故障转移保护。负载平衡策略也称为优化策略。

?       负载平衡顺序 (lbs)

该策略与用于顺序I/O 优化的负载平衡策略相同。此负载平衡顺序策略也称为优化顺序策略。这是默认设置。

?       轮循 (rr)

从没有用于最后一个I/O 操作的路径中随机选择用于每个 I/O 操作的路径。如果设备只有两个路径,那么SDD会交替使用这两个路径。

?       轮循顺序 (rrs)

该策略与针对顺序I/O 进行优化的轮循 (round-robin) 策略相同。

您需要为您的环境选择最适当的SDD路径选择策略,并使用以下方法应用该策略。

注意:在更改算法之前,您需要将磁盘保留策略更改为no_reserve。

# chdev-l hdiskX -a reserve_policy=no_reserve

用于设置不同的SDD路径选择策略算法的命令的示例

# chdev-l hdiskX -a algorithm=load_balance_port

# chdev-l hdiskX -a algorithm=round_robin

您可以使用pcmpath query device命令查看磁盘策略。

二、常用命令

1、多路径状态查看

# sddpcm_get_config -Av

Frameid 0:

    Storage Subsystem worldwide name: 608e5002c7eb6000050aeea7e

    Controller count: 2

    Partition count: 1

    Partition 0:

    Storage Subsystem Name = ‘‘

        hdisk      LUN #  Ownership          User Label

        hdisk4         0  A (preferred)      ha_data1

        hdisk5        1   B (preferred)      ha_data2

        hdisk6         2  A (preferred)      ha_cwback1

        hdisk7         3  B (preferred)      ha_cwback2

 

pcmpathquery device

TotalDual Active and Active/Asymmetric Devices : 6

DEV#:   2  DEVICENAME: hdisk2  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812800

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN   NORMAL    543944          0

    1          fscsi0/path3           OPEN   NORMAL    543359          0

    2          fscsi2/path5           OPEN   NORMAL    528429          0

    3          fscsi2/path7           OPEN   NORMAL    489034          0

DEV#:   3  DEVICENAME: hdisk3  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812801

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN   NORMAL  11759444          1

    1          fscsi0/path3           OPEN   NORMAL   11758904          1

    2          fscsi2/path5           OPEN   NORMAL  12656811          2

    3          fscsi2/path7           OPEN   NORMAL  10132830          1

DEV#:   4  DEVICENAME: hdisk4  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812802

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN   NORMAL      2262          0

    1          fscsi0/path3           OPEN   NORMAL      2418          0

    2          fscsi2/path5           OPEN   NORMAL      2428          0

    3          fscsi2/path7           OPEN   NORMAL      2295          0

DEV#:   5  DEVICENAME: hdisk5  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812900

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN   NORMAL      2168          0

    1          fscsi0/path3           OPEN   NORMAL      2608          0

    2          fscsi2/path5           OPEN   NORMAL      2359          0

    3          fscsi2/path7           OPEN   NORMAL      2274          0

DEV#:   6  DEVICENAME: hdisk6  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812901

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN  NORMAL    2318740          0

    1          fscsi0/path3           OPEN   NORMAL   2319666          0

    2          fscsi2/path5           OPEN   NORMAL   2355086          0

    3          fscsi2/path7           OPEN   NORMAL   2132693          0

DEV#:   7  DEVICENAME: hdisk7  TYPE: 2107900  ALGORITHM: Load Balance

SERIAL:75WH8812902

==========================================================================

Path#      Adapter/Path Name          State     Mode    Select     Errors

    0          fscsi0/path2           OPEN   NORMAL      2535          0

    1          fscsi0/path3           OPEN   NORMAL      2475          0

    2          fscsi2/path5           OPEN   NORMAL      2470          0

    3          fscsi2/path7           OPEN  NORMAL       2312          0

2、停止对应lun路径(路径分别是2、3、5、7,这里是路径停止路径7)

pcmpathset device 2 path 7 offline

pcmpathset device 3 path 7 offline

pcmpathset device 4 path 7 offline

pcmpathset device 5 path 7 offline

pcmpathset device 6 path 7 offline

pcmpathset device 7 path 7 offline

 

3、查看对应端口

(这个端口是ds8700对应的端口,之前我们一起激活的时候按顺序激活的,对应的端口号我给你放到最后面,如果我回去这几天或者以后链路出问题,都可以采用相关的命令查看对应的ds8700上的端口,这样对应着去offline相应的port,算是及时处理吧。)

pcmpathquery port

p750lpar1:/#pcmpath query port

 

ActiveTargetPorts :4

 

Port#             Wwpn     State    Mode             Select     Errors Paths  Active

    0  500507630a08471b   NORMAL  ACTIVE           13085149          3     6       6

    1  500507630a08c71b   NORMAL  ACTIVE           13084689          0     6       6

    2  500507630a03471b   NORMAL  ACTIVE           14008161          3     6       6

    3  500507630a03c71b   FAILED OFFLINE           11226300         43     6       0

 

 

这里是dscli命令行里面操作的(下面标注的4个口是本次扩容用到的ds8700对应的端口,这里的顺序是我们之前一起激活的顺序,)

dscli>lsioport

Date/Time:2012年12月14日下午04时44分39秒 IBM DSCLI Version:6.5.1.203 DS: IBM.

2107-75WH881

ID    WWPN             State   Type             topo     portgrp

================================================================

本次扩容左边的I/O卡

I0030500507630A03071B Offline Fibre Channel-SW -        0

I0031500507630A03471B Offline Fibre Channel-SW -       0

I0032500507630A03871B Offline Fibre Channel-SW -        0

I0033500507630A03C71B Offline Fibre Channel-SW -       0

本次扩容右边的i/o卡

I0100500507630A08071B Offline Fibre Channel-SW -        0

I0101500507630A08471B Offline Fibre Channel-SW -       0

I0102500507630A08871B Offline Fibre Channel-SW -        0

I0103500507630A08C71B Offline Fibre Channel-SW -       0

 

之前的i/o卡

I0230500507630A13071B Online  Fibre Channel-SWSCSI-FCP 0

I0231500507630A13471B Online  Fibre Channel-SWSCSI-FCP 0

I0232500507630A13871B Online  Fibre Channel-SWSCSI-FCP 0

I0233500507630A13C71B Online  Fibre Channel-SWSCSI-FCP 0

I0300500507630A18071B Online  Fibre Channel-SWSCSI-FCP 0

I0301500507630A18471B Online  Fibre Channel-SWSCSI-FCP 0

I0302500507630A18871B Online  Fibre Channel-SWSCSI-FCP 0

I0303500507630A18C71B Online  Fibre Channel-SWSCSI-FCP 0

4、启用对应lun路径

pcmpathset device 2 path 7 online

pcmpathset device 3 path 7 online

pcmpathset device 4 path 7 online

pcmpathset device 5 path 7 online

pcmpathset device 6 path 7 online

pcmpathset device 7 path 7 online

5、清除error

p750lpar1:/#pcmpath clear device 3 count error

 Success: error counter reset

 

6、查看sddpcm多路径配置信息

TotalDual Active and Active/Asymmetric Adapters : 2

Adpt#    Name   State     Mode             Select     Errors Paths  Active

 

0  fscsi0  NORMAL   ACTIVE                  0          0     4       0

 

1  fscsi2  NORMAL   ACTIVE                  0          0     4       0

 

7、lun对应路径详细信息

# lspcmcfg

 

hdisk4(Avail pv xvg) 60050768028081D5D800000000000004 = path0 (Failed) path1 (Failed)path2 (Enabled) path3 (Enabled)

 

hdisk5(Avail pv yvg) 60050768028081D5D800000000000005 = path0 (Failed) path1 (Failed)path2 (Enabled) path3 (Enabled)

 

hdisk6(Avail pv xvg) 60050768028081D5A400000000000004 = path0 (Failed) path1 (Failed)path2 (Enabled) path3 (Enabled)

 

hdisk7(Avail pv yvg) 60050768028081D5A400000000000005 = path0 (Failed) path1 (Failed)path2 (Enabled) path3 (Enabled)

其他

重要的 SDDPCM 命令及其功能:

  • pcmpath: 显示和管理 SDDPCM 设备。    
  • pcmpath     query adapter: 显示适配器配置
  • pcmpath     query version: 显示 SDDPCM 的版本
  • pcmpath     query device: 显示 SDDPCM 设备(pcmpath query device 44 仅显示此设备)
  • pcmpath     query essmap: 显示完整概述
  • pcmpath     set device algorithm: 动态更改路径选择算法
  • pcmpath     set device hc_mode: 动态更改路径运行状况检查模式
  • pcmpath     set device hc_interval: 动态更改路径运行状况检查时间间隔
  • pcmpath     set device Mpath N online/offline: 动态启用(联机)或禁用(脱机)路径
  • pcmpath     set adapter N online/offline: 动态启用(联机)或禁用(脱机)适配器(SDDPCM     保留设备的最后一个路径,并且如果该设备正在使用最后一个路径,则会失败)
  • pcmquerypr: 读取并清除暂存的保留和注册密钥
  • pcmquerypr     -vh /dev/hdisk30: 查询并显示暂存的保留(-V 详细模式以及详细信息)
  • pcmquerypr     -rh /dev/hdisk30: 释放暂存保留(如果设备被当前主机保留)
  • pcmquerypr     -ch /dev/hdisk30: 删除暂存保留并清除所有保留密钥注册
  • pcmquerypr     -ph /dev/hdisk30: 删除暂存保留(如果设备被其他主机保留)
  • pcmgenprkey: 设置或清除所有 SDDPCM 多路径     I/O (MPIO) 设备的 PR_key_value Object     Data Manager (ODM) 属性

 

manage_disk_drivers切换RDAC, MPIO2011-04-19 15:16:51

 

在AIX 6.1 TL3及之前
使用manage_disk_drivers 查看以DS4800为例当前使用的是MPIO,支持RDAC跟
MPIO

要切换到RDAC则输入
#manage_disk_drivers -c 5  ( DS4800所在的序号是5)
然后输入 y确认
 
最后执行
# bosboot -a
重启后就切换成RDAC了

AIX 6.1 TL4
的命令跟之前的有所不同
   
    #manage_disk_drivers
    Usage :
    manage_disk_drivers [-l]
    manage_disk_drivers -d device -o driver_option
    manage_disk_drivers -h
    Meaning of the Flags:
    -l: Display the Devices, Present Drivers,and Driver Options
    -d: The Device to change the Driver
    -o: Selects the new Driver
    -h: should be help but is interpretedas an illegal option

我们可以通过
#manage_disk_drivers -l 查看当前使用的是哪种多路径模式
Device  Present Driver Driver Options
DS4100  AIX_APPCM  AIX_APPCM,AIX_fcparray
DS4300  AIX_APPCM  AIX_APPCM,AIX_fcparray
DS4500  AIX_APPCM  AIX_APPCM,AIX_fcparray
DS4700  AIX_APPCM  AIX_APPCM,AIX_fcparray
DS4800  AIX_APPCM  AIX_APPCM,AIX_fcparray
DS5020  AIX_APPCM  AIX_APPCM
DS5100/DS5300AIX_APPCM  AIX_APPCM AIX_APPCM
#manage_disk_drivers -d DS4800 -o AIX_fcparray
将DS4800由AIX_APPCM(MPIO)改成AIX_fcparray(RDAC)
同样输入y确认 然后再执行下#bosboot -a 重启