欢迎加入IT云增值在线QQ交流群:342584734
分类:
2005-07-15 22:52:02
vxdmpadm 实用程序管理 Volume Manager 的动态多路径 (DMP) 功能性。有关此命令的选项和属性的详细描述,请参阅 vxdmpadm(1M) 实用程序的手册页。
可以使用 vxdmpadm 实用程序命令 listctlr 列出所有与挂接在主机上的磁盘相连的控制器。例如,若要列出所有与主机上的磁盘相连的控制器,请使用如下命令:
# vxdmpadm listctlr all
显示下列实例输出:
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c0 OTHER ENABLED others0
c1 SEAGATE ENABLED seagate0
c2 SEAGATE ENABLED seagate0
上面显示的输出表明:
第一个控制器 c0 与不在任何所识别的 DMP 种类下的磁盘相连
第二个和第三个控制器(c1 和 c2) 与 A5x00 (SEAGATE) 磁盘阵列相连
上面所有的控制器都处于 ENABLED 状态,这表示它们都可用于 IO 操作。状态 DISABLED 用于表示控制器不可用于 IO 操作。此不可用性可能是因为硬件故障或系
统管理员禁止在该控制器上进行 IO 操作。可使用 vxdmpadm 实用程序更改控制器状态。
若要列出与具体某个控制器相连的所有路径,可以将 getsubpaths 选项与 ctlr 属性一起使用。例如,使用如下命令:
# vxdmpadm getsubpaths ctlr=c1
显示下列实例输出:
NAME STATE PATH-TYPE DMPNODENAME ENCLR-TYPE ENCLR-NAME
==================================================================
c1t0d0s2 ENABLED - c2t0d0s2 SEAGATE seagate0
c1t1d0s2 ENABLED - c2t1d0s2 SEAGATE seagate0
c1t2d0s2 ENABLED - c2t2d0s2 SEAGATE seagate0
c1t3d0s2 ENABLED - c2t3d0s2 SEAGATE seagate0
c1t4d0s2 ENABLED - c2t4d0s2 SEAGATE seagate0
c1t5d0s2 ENABLED - c2t5d0s2 SEAGATE seagate0
c1t6d0s2 ENABLED - c2t6d0s2 SEAGATE seagate0
c1t16d0s2 ENABLED - c2t16d0s2 SEAGATE seagate0
c1t17d0s2 ENABLED - c2t17d0s2 SEAGATE seagate0
c1t18d0s2 ENABLED - c2t18d0s2 SEAGATE seagate0
c1t19d0s2 ENABLED - c2t19d0s2 SEAGATE seagate0
c1t20d0s2 ENABLED - c2t20d0s2 SEAGATE seagate0
c1t21d0s2 ENABLED - c2t21d0s2 SEAGATE seagate0
c1t22d0s2 ENABLED - c2t22d0s2 SEAGATE seagate0
输出显示表明了与名为 c1 的控制器相连的路径
显示的附加信息表明:
路径 c1t0d0s2 (由 /dev/rdsk 和 /dev/dsk 目录中的节点表示)处于ENABLED 状态。
路径 c1t0d0s2 由 DMP metanode c1t0d0s2 表示,而 DMP metanode c1t0d0s2 由 /dev/vx/dmp 和 /dev/vx/rdmp 目录中的设备节点表示。
可以将 getsubpaths 选项与 dmpnodename 属性一起使用,列出与 LUN (由 DMP 设备表示)相连的所有路径。例如,若要列出有关指向 LUN 命名的 c1t0d0s2 的路径信息,请使用如下命令:
# vxdmpadm getsubpaths dmpnodename=c1t0d0s2
显示下列实例输出:
NAME STATE PATH-TYPE CTLR-NAME ENCLR-TYPE ENCLR-NAME
==================================================================
c2t0d0s2 DISABLED - c2 SEAGATE seagate0
c1t0d0s2 ENABLED - c1 SEAGATE seagate0
上面的列表显示了有两条路径可到达 DMP 设备 c1t0d0s2,分别是 c1t0d0s2 和c2t0d0s2。附加信息表明其中只有一条路径可用于 I/O 操作。其中一条路径处于
ENABLED 状态,另一条处于 DISABLED 状态。两条路径都在 SEAGATE 磁盘阵列中。
若要检索控制特定路径的 DMP 设备的名称,可使用下列命令将 getdmpnode 选项与nodename 属性结合起来:
# vxdmpadm getdmpnode nodename=c1t0d0s2
显示下列实例输出:
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
===============================================================
c2t0d0s2 ENABLED SEAGATE 2 2 0 seagate0
此实例输出显示了路径 c2t0d0s2 由具有两条路径的 DMP 设备 c2t0d0s2 所拥有。
DMP 支持的磁盘阵列
注意DMP 功能支持的阵列是 Volume Manager 支持的阵列的子集。下列阵列有多条路径可以到达同一磁盘。这里没有列出的阵列只有一条路径可到达物理磁盘。
Volume Manager 的动态多路径功能支持下列阵列:
EMC Symmetrix™
HP SureStore™ E Disk Array XP256
IBM Enterprise Storage Servers™ (ESS)
Hitachi Data Systems™ 5700E Disk Array Subsystem™
Hitachi Data Systems 5800E/7700E Disk Array Subsystem™
Sun StorEdge A5x00 Array™
Sun StorEdge T3 Array™
JBOD (几张磁盘)
SEAGATE 磁盘,在标准 SCSI 查询数据中返回唯一序列号
Storage Computer™ OmniRaid™ 磁盘阵列。若要在使用 Volume Manager 3.1 时使Storage Computer 磁盘阵列有多条与系统相连的路径,必须为每一个连接到机器的磁盘阵列指定一个唯一的系统名 。ftp 站点 处的 RAID-5 用户手册描述了如何为 Storage Computer 磁盘阵列设置系统名。
ECCS™ Synchronix™ 阵列
DMP 与驱动程序共存
Volume Manager 的动态多路径功能还支持与下列阵列共存:
在系统上安装了 ATF 驱动程序的 DG CLARiiON
SYMBIOS Sun StorEdge A3000/A3500 阵列,只有当系统上安装了 RDAC 驱动程序时
DMP 和 Sun StorEdge T3 阵列
VERITAS Volume Manager 的动态多路径功能支持主动/ 被动方式的 Sun StorEdge T3阵列。
DMP 仅在具有如下配置的 T3 磁盘阵列上有效:
磁盘阵列上固件的最小级别必须是 1.0 修订版。
mp_support 参数必须设置为 rw。
DMP 和 JBOD 磁盘阵列支持
JBOD 驱动器上的动态多路径功能使 DMP 能够使用 VxVM 使 JBOD 磁盘阵列有多条与系统相连的路径。这些 JBOD 磁盘阵列/ 磁盘可以包含来自任何供应商的磁盘。但是, 只有当满足下列条件时, DMP 才能正确检测到这些磁盘/磁盘阵列的多条路径:
标准 SCSI INQUIRY DATA(字节 36-47)的序列号字段对任何连接到 JBOD 的磁盘应该是“全球唯一的”。用户在尝试配置 DMP 以将这些磁盘添加到 DMP 的 JBOD 种类时,必须知道以上这一事实。
注意如果任何磁盘都没有提供唯一序列号,则 DMP 无法正确检测到磁盘的多条路径,而且结果不可预测。请与 JBOD 磁盘/磁盘阵列供应商联系,了解有关磁盘序列号唯一性的正确信息。
要求 DMP 多路径功能性的 JBOD 磁盘阵列应该是活动/活动类型。这意味着 JBOD 磁盘阵列上到所有 LUN 的所有路径都应该可以通过所有路径同时存取,而不会导致任何性能降低。
一旦知道与 JBOD 磁盘阵列相连的磁盘满足以上条件,必须遵从下面四个步骤获得 DMP的 JBOD 种类下的这些磁盘:
1. 转到 /kernel/drv 目录
2. 在该目录下编辑文件 vxdmp.conf
3. 您将在 vxdmp.conf 中看到下列默认项:
dmp_jbod="HITACHI"
例如,假设有一个 JBOD 与包含 DG Clariion 磁盘的机器相连。需要知道这些磁盘返回的精确供应商 ID 字符串以配置 DMP。这将确保在 JBOD 种类下要求所需的磁盘。
format 命令可用于接收磁盘的供应商 ID 字符串(有关 format 命令的详细信息,请参阅系统上的format(1M) 手册页)。供应商 ID 字符串包含在磁盘返回的标准 SCSI INQUIRY 数据的第 8 - 15 个字节中。format 命令(在磁盘上执行时)的 inquiry 选项返回与输出的 供应商:字段下的磁盘关联的供应商 ID。例如, DG Clariion 磁盘可能返回供应商 ID
string “DGC”
该字符串必须以如下形式包含在 vxdmp.conf 文件中:
dmp_jbod="DGC";
如果一个 JBOD 磁盘阵列中有来自多个供应商的磁盘,则应在 vxdmp.conf 文件中指定所有供应商的供应商 ID。如果没有这样做,则属于 dmp_jbod[] 阵列中没有提到的供应商的磁盘不由 DMP 提供多条路径,并且属于 OTHER DISKS 种类。(OTHER DISKS 是一个单独的磁盘种类,其下的磁盘均不由 DMP 提供多条路径,并且不属于 DMP 支持的任何种类。)
下列实例显示如何为 dmp_jbod[] 阵列中的多个供应商添加项。
dmp_jbod="DGC",
"IBM",
"FUJITSU";
在 vxdmp.conf 文件中指定的供应商 ID 的长度不能超过 8 个字符。如果在 vxdmp.conf文件中指定的供应商 ID 字符串超过 8 个字符,控制台上将显示下列信息:
NOTICE:vxvm:vxdmp: Invalid Vendor ID =
Action:Remove or correct this entry in the vxdmp.conf file.
4. 在编辑完 vxdmp.conf 文件,添加了所需的项后,应重新启动系统以便 DMP 可以为指定的 JBOD 提供多条路径。
Sun StorEdge A5x00 阵列
本节内容适合 A5000、A5100 和 A5200 磁盘阵列。这些磁盘阵列由 SEAGATE 种类下的VxVM (DMP) 要求。
当取下将这些磁盘阵列中的任何一个与主机相连的电缆,并且在主机上执行命令drvconfig、disks 和 vxdctl enable 时,DMP 不以标准的 c#t#d#s# 格式显示路径
名。相反,将显示 NONAME 字符串以表示已删除路径的名称。
例如,假设主机与其中一个 A5x00 磁盘阵列相连。该磁盘阵列通过两条光缆与主机相连。
该磁盘阵列上有一个磁盘。有两条路径可以到达这个磁盘,分别是/dev/[r]dsk/c1t33d0s2 和 /dev/[r]dsk/c2t33d0s2。当此磁盘用于 VxVM 时,在此磁盘上执行的vxdisk list
# vxdisk list c1t33d0s2
Device: c1t33d0s2
devicetag: c1t33d0
type: sliced
hostid: gluon.veritas.com
disk: name=rootdisk id=933470913.1042.gluon.veritas.com
group: name=rootdg id=933470911.1025.gluon.veritas.com
flags: online ready autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c1t33d0s6 char=/dev/vx/rdmp/c1t33d0s6
privpaths: block=/dev/vx/dmp/c1t33d0s7 char=/dev/vx/rdmp/c1t33d0s7
version: 2.1
iosize: min=512 (bytes) max=2048 (blocks)
public: slice=6 offset=1 len=35363560
private: slice=7 offset=1 len=4711
update: time=933471058 seqno=0.9
headers: 0 248
configs: count=1 len=3448
logs: count=1 len=522
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-003465[003217]: copy=01 offset=000231 enabled
log priv 003466-003987[000522]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 2
c1t33d0s2 state=enabled
c2t33d0s2 state=enabled
在取下与控制器 c2 相连的电缆并且在系统上执行 vxdctl enable 命令后,显示的内容变成:
# vxdisk list c1t33d0s2
Device: c1t33d0s2
devicetag: c1t33d0
type: sliced
hostid: gluon.veritas.com
disk: name=rootdisk id=933470913.1042.gluon.veritas.com
group: name=rootdg id=933470911.1025.gluon.veritas.com
flags: online ready autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/c1t33d0s6 char=/dev/vx/rdmp/c1t33d0s6
privpaths: block=/dev/vx/dmp/c1t33d0s7 char=/dev/vx/rdmp/c1t33d0s7
version: 2.1
iosize: min=512 (bytes) max=2048 (blocks)
public: slice=6 offset=1 len=35363560
private: slice=7 offset=1 len=4711
update: time=933471058 seqno=0.9
headers: 0 248
configs: count=1 len=3448
logs: count=1 len=522
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-003465[003217]: copy=01 offset=000231 enabled
log priv 003466-003987[000522]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 2
c1t33d0s2 state=enabled
NONAME state=disabled
同样, vxdmpadm 命令的输出对已经删除的路径名显示的也是 NONAME 字符串。例如,如果从主机中删除控制器 c1 ,则 vxdmpadm 命令将显示以下内容:
# vxdmpadm getsubpaths ctlr=/c1
NAME STATE TYPE DMPNODENAME DA-TYPE DA-SNO
=================================================================
NONAME DISABLED - c1t36d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t49d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t38d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t37d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t53d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t34d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t51d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t54d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t52d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t33d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t50d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t32d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t48d0s2 SEAGATE SEAGATE_DISKS
NONAME DISABLED - c1t35d0s2 SEAGATE SEAGATE_DISKS
还应注意,当用于命名 DMP 元设备(代表 LUN)的路径被删除时,DMP 使用备选路径的名称来命名 DMP 元设备。
例如,假定有两条路径可到达 LUN,分别是 c1t33d0s2 和 c2t33d0s2。代表 LUN 的DMP 元设备名为 c1t33d0s2,且处于 ONLINE 状态。如果取下与控制器 c1 相连的电缆,然后执行 vxdctl enable 命令,则 DMP 元设备将被重命名为 c2t33d0s2。结果,有两个元设备与用户可以看见的同一个 LUN 相对应。这两个元设备中可能有一个处于错误状态,而另一个处于联机状态。注意这不是问题。但是,当在曾用于命名 DMP 设备的原始daname 上执行 vxdisk list
vxvm:vxdisk: 错误:
可使用 rm 命令删除无法再存取的磁盘路径。