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, MPIO
2011-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 重启
all about AIX MPIO