Powerpath的IO路径工作模式有三种,分别是active、standby和unlic。
以下是文档对三种工作模式的解释:
- active - indicates this path can accept I/O. Load balancing is performed for a device with more than one active path, based on the load-balancing and failover policy set for the device. On active-passive storage systems, I/O is load balanced across paths to a single SP for each logical device.
- standby - indicates this path is held in reserve. Being set to standby does not mean a path will not be used. It only means the weight of the path is heavily adjusted to preclude its use in normal operations. A standby path still can be selected if it is the best path for a request. For example, if the active paths are so heavily loaded that the weighting factor in favor of the active path is overcome, the I/O will be sent to the standby path.
- unlic - indicates that unlicensed PowerPath is running for a CLARiiON storage system (no license key has been installed). In this scenario, all paths are marked unlicensed except one path to each SP. Unlicensed paths cannot become candidates for path failover.
其中active状态表示路径可用,可以用来传输IO。standby表示路径处于保留状态,并不表示路径不可用。当acitve的路径负载很大时,standby也可以用来传输IO。unlic表示没有安装PowerPath license,unlic状态的路径不能用于路径切换。
使用powermt set mode命令可以修改路径的工作模式。
在安装完license后, 会发现仍有路径模式是unlic。并且使用set mode命令也无法把路径设置为active或standby。实际上此时的unlic并不表示没安装license,而是与Powerpath的初始路径policy有关。
root@node1:/ #> powermt display dev=all
Pseudo name=emcpower0a
CLARiiON ID=FCNCP101900011 [Storage Group 17.110]
Logical device ID=6006016006A1280062FB5669434DE111 [LUN 0]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0;
Owner: default=SP A, current=SP A Array failover mode: 4
========================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
========================================================
3074 pci@1,700000/SUNW,qlc@0/fp@0,0 c1t0d0s0 SP A1 active alive 0 0
3075 pci@3,700000/SUNW,qlc@0/fp@0,0 c2t0d0s0 SP B1 unlic alive 0 0
此处3075对应的路径显示为unlic状态。而实际上license已经安装,并且license是有效的。
root@node1:/ #> emcpreg -list
Key XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
Product: PowerPath
Capabilities: All
License没有问题。
root@node1:/ #> powermt set mode=active hba=3075
root@node1:/ #> powermt display dev=all
Pseudo name=emcpower0a
CLARiiON ID=FCNCP101900011 [Storage Group 17.110]
Logical device ID=6006016006A1280062FB5669434DE111 [LUN 0]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0;
Owner: default=SP A, current=SP A Array failover mode: 4
========================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
========================================================3074 pci@1,700000/SUNW,qlc@0/fp@0,0 c1t0d0s0 SP A1 active alive 0 0
3075 pci@3,700000/SUNW,qlc@0/fp@0,0 c2t0d0s0 SP B1 unlic alive 0 0root@node1:/ #> powermt set mode=standby hba=3075
root@node1:/ #> powermt display dev=all
Pseudo name=emcpower0a
CLARiiON ID=FCNCP101900011 [Storage Group 17.110]
Logical device ID=6006016006A1280062FB5669434DE111 [LUN 0]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0;
Owner: default=SP A, current=SP A Array failover mode: 4
========================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
========================================================
3074 pci@1,700000/SUNW,qlc@0/fp@0,0 c1t0d0s0 SP A1 active alive 0 0
3075 pci@3,700000/SUNW,qlc@0/fp@0,0 c2t0d0s0 SP B1 unlic alive 0 0
尝试将3075路径设置为active或standby,都不成功。实际上这与BasicFailover策略设置有关。以上是文档对BasicFailover策略的说明:
As of version 5.5, the BasicFailover (BF) and NoRedirect (NR) policies have been removed from the powermt set policy command usage. In subsequent releases, it will not be possible to manually set these policies. However, on hosts without a valid PowerPath license, BF and NR will continue to be the default policies for EMC and third-party arrays, respectively.
- BasicFailover (bf)
CAUTION: The basic failover policy is supported only in configurations with one HBA connected to a storage system through a switch and one HBA port zoned to each SP on a CLARiiON system, or to a port on two separate FAs on a Symmetrix system. Using this policy in other configurations is not supported and may result in loss of access to data in the event of path failures.
Load balancing is not in effect. I/O routing on failure is limited to one HBA and one port on each storage system interface. When a host boots, it designates one path (through one interface) for all I/O. If an I/O is issued to a logical device that cannot be reached via that path (that is, the I/O cannot reach that logical device through the device's assigned interface), the logical device is assigned to the other interface.
This policy protects against CLARiiON SP failures, Symmetrix FA port failures, and back-end failures, and it allows non-disruptive upgrades to work when running PowerPath without a license key. It does not protect against HBA failures.
This policy is the default policy without a PowerPath license for EMC storage arrays.
BasicFailover策略是没有powerpath license时的缺省策略。只能支持单个HBA卡(口),不支持多个HBA卡。因此不支持HBA卡的failover, 需要修改IO路径策略。
root@node1:/ #> powermt set policy=co dev=all
root@node1:/ #> powermt display dev=all
Pseudo name=emcpower0a
CLARiiON ID=FCNCP101900011 [Storage Group 17.110]
Logical device ID=6006016006A1280062FB5669434DE111 [LUN 0]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0;
Owner: default=SP A, current=SP A Array failover mode: 4
========================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
========================================================
3074 pci@1,700000/SUNW,qlc@0/fp@0,0 c1t0d0s0 SP A1 active alive 0 03075 pci@3,700000/SUNW,qlc@0/fp@0,0 c2t0d0s0 SP B1 standby alive 0 0
修改策略后,3075 IO路径模式变为standby. standy模式是前面最后执行的set mode=standby结果。
root@node1:/ #> powermt set mode=active hba=3075
root@node1:/ #> powermt display dev=all
Pseudo name=emcpower0a
CLARiiON ID=FCNCP101900011 [Storage Group 17.110]
Logical device ID=6006016006A1280062FB5669434DE111 [LUN 0]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0;
Owner: default=SP A, current=SP A Array failover mode: 4
========================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
========================================================
3074 pci@1,700000/SUNW,qlc@0/fp@0,0 c1t0d0s0 SP A1 active alive 0 0
3075 pci@3,700000/SUNW,qlc@0/fp@0,0 c2t0d0s0 SP B1 active alive 0 0
将路径3075修改为active状态。此时路径变成双Active状态,能够支持HBA的failover。