动态多路径(DMP)
1. 介绍动态多路径(DMP)
在某些操作
系统上,Volume Manager支持多路径访问到
磁盘阵列。它自动重新组织到磁盘阵列内具体某个磁盘
设备的多个I/O 路径。Volume Manager的动态多路径功能通过提供路径
故障切换机制,提供更大的可靠性。一旦到磁盘的某个连接丢失,系统将通过到该磁盘的其它可靠的连接继续存取重要的
数据。DMP 还通过将I/O 负载平均分布在多条到磁盘设备的I/O 路径上,提供更大的I/O吞吐量。
Volume Manager DMP
管理多路径目标(如磁盘阵列),多路径目标定义使用多条路径的策略。某些磁盘阵列允许多条路径同时保持活动状态(活动/活动)。某些磁盘阵列只允许一条路径保持活动状态,将替换路径用作备件以防现有路径发生故障(主动/被动),某些磁盘阵列具有设计更精细的策略(如对LUN的互为备援)。
一般情况下,Volume Manager 被设计成将VM 磁盘映射到一个Volume Manager DMP 元节点。为简化VxVM 逻辑操作,每个VM 磁盘都映射到唯一一个Volume Manager DMP元节点,不管在多路径配置中是否连接了物理磁盘设备,此映射都将发生。
ü # vxdmpadm getsubpaths ctlr=c3
NAME STATE PATH-TYPE DMPNODENAME ENCLR-TYPE ENCLR-NAME
======================================================================
c3t1d0s2 ENABLED - c3t1d0s2 Disk Disk
c3t1d1s2 ENABLED - c3t1d1s2 Disk Disk
c3t1d2s2 ENABLED - c3t1d2s2 Disk Disk
c3t1d3s2 ENABLED - c3t1d3s2 Disk Disk
c3t1d4s2 ENABLED - c3t1d4s2 Disk Disk
c3t1d5s2 ENABLED - c3t1d5s2 Disk Disk
c3t1d6s2 ENABLED - c3t1d6s2 Disk Disk
c3t1d7s2 ENABLED - c3t1d7s2 Disk Disk
c3t1d8s2 ENABLED - c3t1d8s2 Disk Disk
c3t1d9s2 ENABLED - c3t1d9s2 Disk Disk
ü # vxdmpadm getsubpaths ctlr=c4
NAME STATE PATH-TYPE DMPNODENAME ENCLR-TYPE ENCLR-NAME
======================================================================
c4t1d0s2 ENABLED - c3t1d0s2 Disk Disk
c4t1d1s2 ENABLED - c3t1d1s2 Disk Disk
c4t1d2s2 ENABLED - c3t1d2s2 Disk Disk
c4t1d3s2 ENABLED - c3t1d3s2 Disk Disk
c4t1d4s2 ENABLED - c3t1d4s2 Disk Disk
c4t1d5s2 ENABLED - c3t1d5s2 Disk Disk
c4t1d6s2 ENABLED - c3t1d6s2 Disk Disk
c4t1d7s2 ENABLED - c3t1d7s2 Disk Disk
c4t1d8s2 ENABLED - c3t1d8s2 Disk Disk
c4t1d9s2 ENABLED - c3t1d9s2 Disk Disk
2. 路径故障切换机制
DMP 与多端口磁盘阵列一起使用时可增强系统可靠性,一旦到磁盘阵列的某个连接丢失,DMP 将自动为I/O 请求动态
选择下一个I/O 路径,而无需系统管理员的任何操作。DMP的自动修复功能只要是 vxconfigd 进程能正常启动,就能自动启动。
ü # vxdmpadm stat restored
The number of daemons running : 1
The interval of daemon: 300
The policy of daemon: check_disabled
如果你想修改DMP的policy,可以修改 /etc/init.d/vxvm-sysboot
文件,找到restore_daemon_opts="interval=300 policy= check_disabled " 可调整interval的值,但减小该值会影响系统
性能。check_disabled 是指DMP的后台进程只定时监控有问题的路径。DMP 允许系统管理员向Volume Manager 中的DMP子系统指出是修复还是恢复连接。这称为DMP 重新配置,重新配置过程还允许检测最新添加的设备(只有当操作系统完全看到它们时),以及完全引导系统后删除的设备。
3. 负载平衡
对于VM 的DMP 功能是自动激活的,例如在阵列只有单控制器的情况下,
主机有两块HBA 卡,当往阵列的
硬盘写数据时,会发现两个HBA 都有I/O,(通过 vxstat
命令查看)。这种情况下读写硬盘数据的I/O瓶颈应在阵列控制器,为了提供阵列路径间的负载平衡,DMP 遵循活动/活动磁盘阵列的平衡路径机制。负载平衡通过使用所有路径的最大带宽,确保最大限度地提高I/O 吞吐量。不过到磁盘的有序I/O 将沿同一条路径发送以优化I/O 吞吐量,这样做是为了使用磁盘跟踪高速缓冲存储器的效果。
对于主动/ 被动磁盘阵列,I/O 将沿主路径(指阵列控制器)发送,直到主路径失败。一旦主路径失败,I/O 将切换到其它可用的主路径或辅助路径,为了避免LUN 的拥有权不断地从一个控制器转让给另一个控制器(这将导致I/O 严重减慢速度)对于主动/ 被动磁盘阵列将不执行路径间的负载平衡。
4. 从DMP 设备启用
当根磁盘受Volume Manager的控制时,如果它是单个磁盘,则将作为DMP 设备自动存取,如果磁盘是多端口磁盘阵列的一部分,则有多条路径。通过对根磁盘进行封装,将增强系统防备到磁盘的一条或多条现有物理路径丢失的可靠性。
5. 启用和禁用控制器
DMP 允许系统管理员关闭到主机I/O 控制器的I/O ,以便执行管理操作。它可用于维护挂接在主机上的控制器或由Volume Manager 支持的磁盘阵列。完成维护任务后,可以启用到主机I/O 控制器的I/O 操作。可以使用由Volume Manager提供的vxdmpadm 命令完成此操作。例如,如果系统有StorEdge A5000(TM) 阵列,当用户需要更改与此磁盘阵列相连的A5000接口板时,应使用vxdmpadm 命令获得连接在此A5000接口板上的主机I/O 控制器列表并应禁用这些控制器。这些控制器一旦被禁用,通过这些控制器对磁盘的进一步I/O 存取将停止。然后,用户就可在不中断对该磁盘阵列中的现有磁盘进行I/O 存取的情况下来更换接口板。这样要求是因为在正常情况下,对于活动/活动类型的磁盘阵列(与本例中的一样),Volume Manager都使用平衡路径机制来调度具有多条路径的磁盘的I/O ,从而使I/O 可以在任意时刻经过任何路径。对于主动/ 被动类型的磁盘阵列,I/O 由Volume Manager调度到主路径,直到主路径发生故障。因此,若要更改磁盘阵列上的接口卡或更改与磁盘阵列相连的主机(可能发生)上的卡,则应禁止到主机I/O 控制器的I/O 操作。这允许在更改硬件前,使所有的I/O 都转移到另一个I/O控制器上的主动辅助路径或主动主路径。此操作结束后,可使用vxdmpadm 命令的启用选项,使这些控制器的路径重新发挥作用。Volume Manager不允许禁用到根磁盘的最后一条活动路径。
6. 显示DMP
数据库信息
vxdmpadm 命令可用于列出DMP 数据库信息并执行其它管理任务,此命令使您得以列出系统上的所有控制器(与磁盘相连)和其它存储在DMP 数据库中的相关信息。该信息可用于定位系统硬件并决定要启用/ 禁用的控制器。注意:通过命令启用/禁用的功能只是临时的,在系统重启后将恢复到缺省设置。vxdmpadm 还提供其它有用的信息,如磁盘阵列序列号和与磁盘阵列相连的DMP 设备(磁盘)列表,具体某个控制器的路径列表,等等。
ü # vxdmpadm listctlr all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c1 Disk ENABLED Disk
c3 Disk ENABLED Disk
c4 Disk ENABLED Disk
ü # vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS
============================================================
Disk Disk DISKS CONNECTED
Disks OTHER_DISKS OTHER_DISKS DISCONNECTED
FAKE_ARRAY0 FAKE_ARRAY FAKE_ENCLR_SNO DISCONNECTED
ü # vxdmpadm getdmpnode nodename=c3t1d9s2
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
=========================================================================
c3t1d9s2 ENABLED Disk 2 2 0 Disk
ü # vxdmpadm getdmpnode enclosure=Disk
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
=========================================================================
c1t1d0s2 ENABLED Disk 1 1 0 Disk
c1t0d0s2 ENABLED Disk 1 1 0 Disk
c3t1d0s2 ENABLED Disk 2 2 0 Disk
c3t1d1s2 ENABLED Disk 2 2 0 Disk
c3t1d2s2 ENABLED Disk 2 2 0 Disk
c3t1d3s2 ENABLED Disk 2 2 0 Disk
c3t1d4s2 ENABLED Disk 2 2 0 Disk
c3t1d5s2 ENABLED Disk 2 2 0 Disk
c3t1d6s2 ENABLED Disk 2 2 0 Disk
c3t1d7s2 ENABLED Disk 2 2 0 Disk
c3t1d8s2 ENABLED Disk 2 2 0 Disk
c3t1d9s2 ENABLED Disk 2 2 0 Disk
7. vxddladm 命令的使用
使用vxddladm命令可以动态添加不支持的阵列到支持库。使DMP能正确使用。
#vxddladm help
listversion Listing of all ASL with their correxponding versions
listsupport Listing Of all Supported Arrays
listexclude Listing Of all excluded Array Libraries
excludearray Exclude an array library/a set of libraries
includearray Include an array library/a set of libraries
addjbod Specify an array to be JBOD :see help addjbod
rmjbod Remove an array from JBOD List :see help rmjbod
listjbod List all JBODs :see help listjbod
listforeign List all Foreign disks :see help listforeign
addforeign Add a Foreign disk :see help addforeign
rmforeign Remove a Foreign disks :see help rmforeign
8. 配置动态多路径DMP(以下内容都是以两块HBA卡为例)
1). 主机至少有两块HBA 卡 ,最好是相同类型。
2). 如果是临时License ,DMP功能是激活的。通过命令查看:
# vxdctl license
All features are available:
Mirroring
Root Mirroring
Concatenation
Disk-spanning
Striping
RAID-5
VxSmartSync
Clustering-full
VVR
DMP (multipath enabled)
3). 查看 /dev/vx/dmp 和 /dev/vx/rdmp 下是否有设备文件。如果想重新产生DMP设备文件,将两个目录下的文件删除。执行 #vxdctl initdmp
4). 通过命令vxdmpadm,必需能看到两块HBA,ENCLR-TYPE不能是OTHER_DISKS,STATE= ENABLED
# vxdmpadm listctlr all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c1 Disk ENABLED Disk
c3 Disk ENABLED Disk
c4 Disk ENABLED Disk
错误输出:(只认到单控制卡)
#vxdmpadm listctlr all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c1 Disk ENABLED Disk
c4 OTHER_DISKS ENABLED OTHER_DISKS
5). 通过#format能看到两倍的物理盘。
6). 通过vxdisk list 只能看到一倍的盘(当DMP正确配置时),
# vxdisk list
DEVICE TYPE DISK GROUP STATUS
c1t0d0s2 sliced rootdisk rootdg online
c1t1d0s2 sliced disk01 rootdg online
c3t1d0s2 sliced - - online
c3t1d1s2 sliced - - online
c3t1d2s2 sliced - - online
c3t1d3s2 sliced - - online
c3t1d4s2 sliced - - online
c3t1d5s2 sliced - - online
c3t1d6s2 sliced - - online
c3t1d7s2 sliced aaadg00 aaadg online
c3t1d8s2 sliced aaadg01 aaadg online
c3t1d9s2 sliced abcdg00 abcdg online
#vxdisk_list_lun00
Device:c5t0d0s2
devicetag: c5t0d0
type: sliced
hostid: p9adv.nielsenmedia.com
disk: name=lun00 id=1046287031.1750.p8adv.nielsenmedia.com
group: name=occdg id=1046291758.1896.p8adv.nielsenmedia.com
flags: online ready private autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c5t0d0s4 char=/dev/vx/rdmp/c5t0d0s4
privpaths: block=/dev/vx/dmp/c5t0d0s3 char=/dev/vx/rdmp/c5t0d0s3
version: 2.2
iosize: min=512 (bytes) max=256 (blocks)
public: slice=4 offset=0 len=25155072
private: slice=3 offset=1 len=8447
update: time=1048104676 seqno=0.37
headers: 0 248
configs: count=1 len=6210
logs: count=1 len=941
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-006227[005979]: copy=01 offset=000231 enabled
log priv 006228-007168[000941]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 4
c5t0d0s2 state=enabled type=secondary
c5t4d0s2 state=enabled type=
c6t2d0s2 state=enabled type=secondary
c6t6d0s2 state=enabled type=
#vxdmpadm_getdmpnode_nodename=c5t4d0s2
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
=========================================================================
c5t0d0s2 ENABLED EMC_CLARiiON 4 4 0 EMC_CLARiiON0
#vxdmpadm_get_dmpnode enclosure=EMC_CLARiiON0
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
=========================================================================
c5t0d0s2 ENABLED EMC_CLARiiON 4 4 0 EMC_CLARiiON0
c5t0d1s2 ENABLED EMC_CLARiiON 4 4 0 EMC_CLARiiON0
c5t0d2s2 ENABLED EMC_CLARiiON 4 4 0 EMC_CLARiiON0
#vxdmpadm_getsubpaths_ctlr=c5
NAME STATE PATH-TYPE DMPNODENAME ENCLR-TYPE ENCLR-NAME
======================================================================
c5t0d0s2 ENABLED SECONDARY c5t0d0s2 EMC_CLARiiON EMC_CLARiiON0
c5t0d1s2 ENABLED SECONDARY c5t0d1s2 EMC_CLARiiON EMC_CLARiiON0
c5t0d2s2 ENABLED c5t0d2s2 EMC_CLARiiON EMC_CLARiiON0
c5t0d3s2 ENABLED c5t0d3s2 EMC_CLARiiON EMC_CLARiiON0
c5t0d4s2 ENABLED c5t0d4s2 EMC_CLARiiON EMC_CLARiiON0
#vxdmpadm.getsubpaths.ctlr=c6
NAME STATE PATH-TYPE DMPNODENAME ENCLR-TYPE ENCLR-NAME
======================================================================
c6t2d0s2 ENABLED SECONDARY c5t0d0s2 EMC_CLARiiON EMC_CLARiiON0
c6t2d1s2 ENABLED SECONDARY c5t0d1s2 EMC_CLARiiON EMC_CLARiiON0
c6t2d2s2 ENABLED c5t0d2s2 EMC_CLARiiON EMC_CLARiiON0
c6t2d3s2 ENABLED c5t0d3s2 EMC_CLARiiON EMC_CLARiiON0
c6t2d4s2 ENABLED c5t0d4s2 EMC_CLARiiON EMC_CLARiiON0
#vxdmpadm_listctlr_all
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c1 SENA ENABLED sena0
c4 SENA ENABLED sena0
c5 EMC_CLARiiON ENABLED EMC_CLARiiON0
c6 EMC_CLARiiON ENABLED EMC_CLARiiON0
7).通过vxdisk list 列某一块盘时,能看到信息
Multipathing information:
numpaths: 2
c3t1d9s2 state=enabled
c4t1d9s2 state=enabled
# vxdisk list c3t1d9s2
Device: c3t1d9s2
devicetag: c3t1d9
type: sliced
hostid: sun2801
disk: name=abcdg00 id=1052368240.2809.sun2801
group: name=abcdg id=1052368257.2812.sun2801
flags: online ready private autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c3t1d9s4 char=/dev/vx/rdmp/c3t1d9s4
privpaths: block=/dev/vx/dmp/c3t1d9s3 char=/dev/vx/rdmp/c3t1d9s3
version: 2.2
iosize: min=512 (bytes) max=256 (blocks)
public: slice=4 offset=0 len=6287360
private: slice=3 offset=1 len=2559
update: time=1052812106 seqno=0.54
headers: 0 248
configs: count=1 len=1865
logs: count=1 len=282
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-001882[001634]: copy=01 offset=000231 enabled
log priv 001883-002164[000282]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 2
c3t1d9s2 state=enabled(阵列单控制器的情况下,没有看到type=primary
c4t1d9s2 state=enabled 或type=secondary?在阵列为A/P时看到)
8). 如果通过vxdisk list 能看到两倍的盘,说明VM的DMP没有正确配置。
先通过命令查看同一块盘的信息是否一样,如果不同,先调阵列。
# cd /etc/vx/diag.d
# ./vxdmpinq /dev/rdsk/c3t1d9s2
Inquiry for /dev/rdsk/c3t1d9s2, evpd 0x0, page code 0x0
Vendor id : DGC
Product id : RAID 5
Revision : 0524
Serial Number : 093E580000CL
# ./vxdmpinq /dev/rdsk/c4t1d9s2
Inquiry for /dev/rdsk/c4t1d9s2, evpd 0x0, page code 0x0
Vendor id : DGC
Product id : RAID 5
Revision : 0524
Serial Number : 093E580000CL
9). 如果阵列VM缺省不支持,请先安装ASL包。
#vxddladm listjbod
VID PID Opcode Page Code Page Offset SNO length
==========================================================================
SEAGATE ALL PIDs 18 -1 36 12
SUN SESS01 18 -1 36 12
10). 然后添加到DMP支持列表库
#vxddladm addjbod vid=DGC
#vxddladm listjbod
VID PID Opcode Page Code Page Offset SNO length
==========================================================================
SEAGATE ALL PIDs 18 -1 36 12
SUN SESS01 18 -1 36 12
DGC ALL PIDs 18 -1 36 12
11). 执行#vxdctl enable
12). #vxdisk list应只能看到一倍的盘。
13). The following three parameters must be set on the master controller unit:
Ø Multi-path support software:
§ DMP: sys mp_support rw
§ STMS: sys mp_support mpxio
Ø sys cache auto
Ø sys mirror auto
14). 有一种工作方式:有些阵列控制器的工作方式可以是对具体的LUN互为备援。既partner pair configuration ,所以当用命令#vxdisk list查看,会发现只列出第一块HBA卡所读到的信息。
The T3 array in partner pair configuration provides 2 paths to each logical unit (LUN). One path is considered the primary and the other path is considered the secondary for any given LUN. In normal operation, all I/O for a particular LUN goes down the primary path. If the primary path for a LUN fails, I/O for that LUN is sent down the secondary path. In order to balance the I/O load, half of the LUNs use one path as the primary and half use the other. This means that both paths are considered primary for some LUNs and secondary for some LUNs. Because there is a primary and secondary path for each LUN, the T3 is an Active/Passive type array.
When Dynamic Multipathing (DMP) scans the device list looking for devices that are accessed through more than one controller, it assigns the name of the disk media record based on whichever controller is probed first. Because of this all the LUNs in the array will have DM records that start with the same controller. The DM record name does not indicate which controller is in use as the primary path for a particular LUN.
EXAMPLE:
The array is attached to the host through 2 controllers, C1 and C4. One LUN uses the C1 path as the primary and C4 as the secondary. The other LUN uses C4 as the primary and C1 as the secondary. Both LUNs have DM records that begin with C1.
# vxdisk list
DEVICE TYPE DISK GROUP STATUS
c1t2d0s2 sliced disk01 rootdg online
c1t2d1s2 sliced disk02 rootdg online
DMP does know which path is primary and which is secondary for each LUN. That information can be displayed with the vxdisk list command.
vxdisk list c1t2d0s2
Device: c1t2d0s2
devicetag: c1t2d0
type: sliced
hostid: tpsw-154
disk: name=disk01 id=966899066.1066.tpsw-154
group: name=rootdg id=966899051.1025.tpsw-154
flags: online ready autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c1t2d0s4 char=/dev/vx/rdmp/c1t2d0s4
privpaths: block=/dev/vx/dmp/c1t2d0s3 char=/dev/vx/rdmp/c1t2d0s3
version: 2.1
iosize: min=512 (bytes) max=2048 (blocks)
public: slice=4 offset=0 len=279707648
private: slice=3 offset=1 len=8191
update: time=966899613 seqno=0.9
headers: 0 248
configs: count=1 len=6027
logs: count=1 len=913
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-006044[005796]: copy=01 offset=000231 enabled
log priv 006045-006957[000913]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 2
c1t2d0s2 state=enabled type=secondary
c4t1d0s2 state=enabled
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vxdisk list c1t2d1s2
Device: c1t2d1s2
devicetag: c1t2d1
type: sliced
hostid: tpsw-154
disk: name=disk02 id=966899118.1145.tpsw-154
group: name=rootdg id=966899051.1025.tpsw-154
flags: online ready autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c1t2d1s4 char=/dev/vx/rdmp/c1t2d1s4
privpaths: block=/dev/vx/dmp/c1t2d1s3 char=/dev/vx/rdmp/c1t2d1s3
version: 2.1
iosize: min=512 (bytes) max=2048 (blocks)
public: slice=4 offset=0 len=279707648
private: slice=3 offset=1 len=8191
update: time=966899613 seqno=0.7
headers: 0 248
configs: count=1 len=6027
logs: count=1 len=913
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-006044[005796]: copy=01 offset=000231 enabled
log priv 006045-006957[000913]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 2
c1t2d1s2 state=enabled
c4t1d1s2 state=enabled type=secondary
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The multipathing information shows that C1 is primary for disk02 and secondary for disk01, while C4 is primary for disk01 and secondary for disk02. If the primary path fails, DMP will switch to the secondary path and the type will show as disabled for the failed path.
15). 通过T3查看
On the T3 -
labt3-1:/:<1>port listmap
port targetid addr_type lun volume owner access
u1p1 1 hard 0 v0 u1 primary
u1p1 1 hard 1 v1 u1 primary
u1p1 1 hard 2 u2v0 u2 failover
u1p1 1 hard 3 u2v1 u2 failover
u2p1 2 hard 0 v0 u1 failover
u2p1 2 hard 1 v1 u1 failover
u2p1 2 hard 2 u2v0 u2 primary
u2p1 2 hard 3 u2v1 u2 primary
This shows us our LUN ownership and host port target ID's. This
is an example of an ES pair in a normal state.
labt3-1:/:<2>port list
port targetid addr_type status host wwn
u1p1 1 hard online sun 50020f2300005838
u2p1 2 hard online sun 50020f2300005511
9.关于负载平衡
如果阵列没有两个控制器,且非Active/Active工作方式,(注意:并不是所有厂家的所有阵列都支持这种工作方式)。那么阵列的负载平衡就无法实现。
Depending on the array configuration and running version of Volume Manager, can operate in the following modes:
Active/Active (A/A)
In Active/Active, all sub paths to a disk/lun can be accessed simultaneously. Active/Active allows for load balancing and failover in the event of a path failure.
A Sun A5x00 array is an example of an A/A configuration.
Active/Passive - Auto tresspass (A/P)
In Active/Passive, only one of the paths to a disk/LUN can be used at any one time. In the event of an i/o failure on the primary path, i/os will be sent to one of the secondary paths. With an array configured in trespass mode, the failover is invoked by sending the i/os to the second path. Failover is confined to an individual LUN instance level. Active/Passive arrays do not allow load balancing as only one path can be used under normal operating conditions. Auto trespass is also known as implicit failover.
A Sun T3 array in a single host environment (mp_support=rw) is an example of an A/P - auto-trespass configuration
Active/Passive - Explicit failover (A/PF)
In Active/Passive - explicit failover, only one of the paths (primary) to the disk/LUN can be used at any one time. In the event of an i/o failure, a special command is sent to the array to invoke a failover such that a secondary path can be used. Explicit failover is also known as nonauto-trespass mode.
A Sun T3 array in a multi-host environment (mp_support=std) is an example of an A/PF configuration.
Active/Passive - LUN group failover (A/PG)
In Active/Passive - LUN group failover, a group of one or more LUNs are assigned to a controller on the array, which becomes the primary path to the disks. In the event of an i/o failure to a single LUN, the entire group of LUNs is switched to another controller in the array. This controller becomes the secondary active path.
10.VM的DMP与阵列DMP的结合使用
如果VM的DMP要与阵列的DMP同时使用,请查支持列表,例如HP/CPQ Secure Path 4.0
或EMC PowerPath 3.0.x or ATF,以PKG包的形式存在。
阵列的DMP软件功能是将多路径合并成一条路径,且能实现控制器间的负载均衡。而VM去管理的设备是阵列的DMP软件产生的设备,
通过命令#vxidisk list
emcpower33c simple - - online
emcpower38c simple - - online
emcpower40c simple - - online
emcpower41c simple - - online
emcpower42c simple - - online
emcpower43c simple - - online
emcpower44c simple - - online
emcpower45c simple - - online
emcpower46c simple - - online
emcpower47c simple - - online
emcpower48c simple - - online
emcpower49c simple - - online
emcpower50c simple - - online
emcpower51c simple - - online
emcpower52c simple - - online
11.一个配置PowerPath的例子
Reconfiguring Solaris Hosts running EMC PowerPath and Veritas VxVM...
For configuration purposes, PowerPath stores a primary and alternate device path in the /kernel/drv/emcpower.conf configuration file, and the Symmetrix device number in stored in the /etc/emcpower_to_volnum file.
Due to hardware reconfiguration, the PowerPath configuration may become invalid for the following reasons:
a) primary and/or alternate hardware address for the underlying device has changed
b) a different volume may be placed behind a hardware address..
The objective of this procedure is to completely reconfigure PowerPath and reimport VxVM disk groups:
Assumptions:
1. emcpower/safe devices are not part of an encapsulated root disk
2. when the hardware configuration is implemented, all the physical disks belonging to the disk groups will still be visible to the host
3. VxVM disk groups are defined on emcpower devices
NOTE: This procedure is to be used only when it is sure that the emcpower devices will be renumbered due to hardware changes.
Do not use this procedure unless you fully understand the situations when it is to be used. Please contact the EMC Customer Support Center should you have any questions.
Obtain a copy of inq version 6.02 or higher as previous versions of inq were not built to see "emcpower" devices.
SAVE THE CONFIGURATION
1. inq > inq.before - save a copy of the hardware config
2. vxprint -ht > vxprint.ht.out - save a copy of all disk group configurations
3. vxdisk list > vxdisk.list.out - save a copy of each disk and it's associated device
4. for each disk group: vxprint -hvmps -mg > vxprint.dgname.out
- save a mapfile for each disk group
5. Save the above configuration files on a non-PowerPath filesystem
SHUTDOWN AND RECONFIGURE
6. vxdg deport - deport the disk group
7. add new targets/luns to the sd.conf file
8. init 0
9. implement the hardware changes
10. boot -rs - reconfigure reboot to reconfigure devices
11. inq - verify that the hardware reconfiguration was successful and that all paths are visible to the host
12. rm /dev/dsk/emcpower* - delete the old emcpower nodes
13. rm /dev/rdsk/emcpower* - delete the old emcpower nodes
14. mv /kernel/drv/emcpower.conf /kernel/drv/emcpower.conf.old
15. mv /etc/emcpower_to_volnum /etc/emcpower_to_volnum.old
16. powercf -q - quietly reconfigure PowerPath. Creates a new emcpower.conf and emcpower_to_volnum.
17. reboot -- -r - reboot reconfigure
MAKE POWERPATH DEVICES VISIBLE TO VERITAS SO THAT AN IMPORT SCAN WILL SUCCEED
18. powervxvm setup - create the /dev/vx/(r)dmp/emcpower nodes
19. vxdctl enable - rescan all the devices on the system
20. powervxvm define - bring the emcpower devices into the VxVM disk list
21. powervxvm online - bring devices with valid private regions online
22. vxdisk list - ensure that all the emcpower devices are "online"
23. vxdg import - import the disk group
24. vxvol -g startall - start the volumes