首页 > 代码库 > all about AIX MPIO
all about AIX MPIO
Multipath I/O (多路径) |
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 重启