Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95290
  • 博文数量: 19
  • 博客积分: 2030
  • 博客等级: 大尉
  • 技术积分: 315
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-01 23:40
文章分类

全部博文(19)

文章存档

2009年(19)

我的朋友

分类:

2009-03-23 13:45:32

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 = specified in vxdmp.conf
          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: 错误: 不是有效的 DMP 节点磁盘存取名。
      可使用 rm 命令删除无法再存取的磁盘路径。

阅读(1596) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~