HDLM提供了以下一些工具,以方便HDLM多路径管理。

1. dlmgetras

hdlm信息收集工具,用来收集hdlm相关的各种日志、trace、配置等文件,以方便进行hdlm故障分析。

命令格式


DLMgetras {Collection_information_output_point_directory [-f Collection_information_definition_file_name] | -h}

Collection_information_output_point_directory: 输出目录,dlmgetras收集的信息存储在此目录下

-f Collection_information_definition_file_name:指定需要收集的目录和文件

-h:显示命令帮助信息

-f参数的示例文件

# HDLM manager core file
/opt/DynamicLinkManager/bin/core
#
# Oracle initial parameter
/var/app/oracle/admin/sandb/pfile/init.ora
#
# Oracle Alert Directory
/var/app/oracle/rdbms/log

2. dlmcfgmgr

此工具的作用是让/kernel/drv/dlmfdrv.conf文件的配置不需要重启主机而立即生效。

命令格式

dlmcfgmgr {-a|-h}

-a: 将/kernel/drv/dlmfdrv.conf中的配置信息应用到HDLM driver, 即让配置立即生效

-h: 显示帮助信息

3. dlmsetconf

从OS上获得设备信息,生成HDLM driver配置定义文件dlmfdrv.conf和HDLM nexus driver配置定义文件dlmndrv.conf。

命令格式

dlmsetconf [-d output-directory-name] [-r|-u]

-d: 指定dlmfdrv.conf和dlmndrv.conf文件的生成目录

-r: 此参数使当前已经存在的配置定义文件失效, 并重新生成一个新的配置定义文件. 如果不指定-r参数, 新生成的配置定义文件会继承已存在的配置定义文件信息.  二者的区别在于: 如果使用-r参数, 则所有的LUN都要重配置, 这有可能会改变已配置LUN的instance number/ minor number, 造成SVM设备不可用; 如果不使用-r参数, 则HDLM只重配置改变的LUN, 没改变的LUN不重新配置. 如果系统上有些LUN还在使用, 应尽量避免使用-r参数

-u: 使用此参数只更新配置定义文件中LUN是否由HDLM管理这个属性(unconf 0表示由HDLM管理; 1表示从HDLM管理中移除). 此参数不会更新LUN的其它属性. 文件/opt/DynamicLinkManager/config/dlmfdrv.unconf中定义了希望从HDLM管理中移除的LUN信息.

示例:

dlmsetconf -u命令执行前的dlmfdrv.conf中的信息. 配置文件中有2个LUN, 每个LUN有4条路径. unconf属性为0, 表示LUN由HDLM管理.

-bash-3.2# more /kernel/drv/dlmfdrv.conf
......
################## Admin Device(Do not change this field) ##################
name="dlmfdrv" parent="pseudo" instance=0 AdminDevice; #
################## T131328 D0(AMS.75040975.0049) ##################
name="dlmfdrv" parent="dlmndrv" instance=1
FilterPath="/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f0,0"
major=0x76 minor=0x2 target=131328 lun=0 first=1
node-type="ddi_block:fabric" port-wwn="50060e80102a00f0"
unconf=0 LDEV="AMS.75040975.0049"
device-id="6964000100060014737364004849544143484920373530343039373530303439"
device-name="c4t50060E80102A00F0d0"
......
name="dlmfdrv" parent="dlmndrv" instance=3
FilterPath="/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f3,0"
major=0x76 minor=0x1a target=131072 lun=0 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f3"
unconf=0 LDEV="AMS.75040975.0049"
device-id="6964000100060014737364004849544143484920373530343039373530303439"
device-name="c4t50060E80102A00F0d0"
......
name="dlmfdrv" parent="dlmndrv" instance=4
FilterPath="/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f1,0"
major=0x76 minor=0x12 target=131072 lun=0 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f1"
unconf=0 LDEV="AMS.75040975.0049"
device-id="6964000100060014737364004849544143484920373530343039373530303439"
device-name="c4t50060E80102A00F0d0"
......
name="dlmfdrv" parent="dlmndrv" instance=2
FilterPath="/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f2,0"
major=0x76 minor=0xa target=131328 lun=0 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f2"
unconf=0 LDEV="AMS.75040975.0049"
device-id="6964000100060014737364004849544143484920373530343039373530303439"
device-name="c4t50060E80102A00F0d0"
......
################## T131328 D1(AMS.75040975.0050) ##################
name="dlmfdrv" parent="dlmndrv" instance=5
FilterPath="/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f0,1"
major=0x76 minor=0x22 target=131328 lun=1 first=1
node-type="ddi_block:fabric" port-wwn="50060e80102a00f0"
unconf=0 LDEV="AMS.75040975.0050"
device-id="6964000100060014737364004849544143484920373530343039373530303530"
device-name="c5t50060E80102A00F0d1"
......
name="dlmfdrv" parent="dlmndrv" instance=6
FilterPath="/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f3,1"
major=0x76 minor=0x2a target=131072 lun=1 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f3"
unconf=0 LDEV="AMS.75040975.0050"
device-id="6964000100060014737364004849544143484920373530343039373530303530"
device-name="c5t50060E80102A00F0d1"
......
name="dlmfdrv" parent="dlmndrv" instance=7
FilterPath="/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f1,1"
major=0x76 minor=0x32 target=131072 lun=1 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f1"
unconf=0 LDEV="AMS.75040975.0050"
device-id="6964000100060014737364004849544143484920373530343039373530303530"
device-name="c5t50060E80102A00F0d1"
......
name="dlmfdrv" parent="dlmndrv" instance=8
FilterPath="/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f2,1"
major=0x76 minor=0x3a target=131328 lun=1 first=0
node-type="ddi_block:fabric" port-wwn="50060e80102a00f2"
unconf=0 LDEV="AMS.75040975.0050"
device-id="6964000100060014737364004849544143484920373530343039373530303530"
device-name="c5t50060E80102A00F0d1"
......
################## End of dlmfdrv.conf ################## 修改/opt/DynamicLinkManager/config/dlmfdrv.unconf文件, 将LUN50从HDLM管理中移除
-bash-3.2# more /opt/DynamicLinkManager/config/dlmfdrv.unconf
#
# All Rights Reserved. Copyright (C) 2003, 2012, Hitachi, Ltd.
#
# dlmfdrv.unconf by dlmsetconf 7.31.0 2012/05/17
#
# Usage: To Unconfigure a LU from HDLM, remove only the character '#'
# in front of the "LDEV" property line corresponding to the LU,
# and then execute "dlmsetconf -u" and "reboot -- -r" commands.
# Note1: "LDEV" property represents logical unit (LU) in storage subsystem.
# Note2: Do not edit other character except for the character '#'
# in front of the "LDEV" property lines.
#
##################### HDLM unconfiguration definition file ##################### #
################## T131328 D0(AMS.75040975.0049) ##################
### Device=ssd0 target=131328 lun=0
### Path=/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f0,0
### Device=ssd3 target=131072 lun=0
### Path=/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f3,0
### Device=ssd2 target=131072 lun=0
### Path=/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f1,0
### Device=ssd1 target=131328 lun=0
### Path=/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f2,0
#LDEV=AMS.75040975.0049;
################## T131328 D1(AMS.75040975.0050) ##################
### Device=ssd4 target=131328 lun=1
### Path=/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f0,1
### Device=ssd5 target=131072 lun=1
### Path=/pci@0/pci@0/pci@8/pci@0/pci@1/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f3,1
### Device=ssd6 target=131072 lun=1
### Path=/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f1,1
### Device=ssd7 target=131328 lun=1
### Path=/pci@0/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80102a00f2,1
LDEV=AMS.75040975.0050; ##################### End of dlmfdrv.unconf ##################### 执行dlmsetconf -u:
-bash-3.2# dlmsetconf -u
KAPL10204-I dlmsetconf completed successfully. dlmfdrv.conf文件中LUN50的unconf值变为1
-bash-3.2# grep -i unconf /kernel/drv/dlmfdrv.conf
unconf=0 LDEV="AMS.75040975.0049"
unconf=0 LDEV="AMS.75040975.0049"
unconf=0 LDEV="AMS.75040975.0049"
unconf=0 LDEV="AMS.75040975.0049"
unconf=1 LDEV="AMS.75040975.0050"
unconf=1 LDEV="AMS.75040975.0050"
unconf=1 LDEV="AMS.75040975.0050"
unconf=1 LDEV="AMS.75040975.0050"

HDLM工具介绍的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

    注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...

  2. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  3. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  4. Android APP压力测试(一)之Monkey工具介绍

    Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...

  5. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  6. 简要介绍Apache、php、mysql安装和工具介绍

    1 安装Apache 网站:www.Apache.org下载相应的Apache,目前下载了近期的:httpd-2.2.15-win32-x86-openssl-0.9.8msi 安装简要步骤如下图: ...

  7. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  8. RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用

    RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用 功能介绍 这个项目经过了大半年的持续更新到目前的阶段基本稳定 所有源代码都是开源的,在gith ...

  9. 用户管理 之 Linux 用户管理工具介绍

    Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...

随机推荐

  1. 在移动端做查看日志信息的js

    Vconsole.js下载这个js引入需要使用的html文件,当运行到页面是就会在右下角显示提示,点击就出出现像pc端上的控制台页面 在线查看的网址 http://console.hongliang. ...

  2. Hibernate 关于实体映射常用注解

    注解 类注解(写在类上面的) @Entity       标明实体类 @Table(name="数据库标明")      生成数据库时的表名由这个决定 @DynamicInsert ...

  3. 查找和删除倒数第n个节点的问题

    class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public class NthNodeFromEnd ...

  4. JS实现百叶窗效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Android 6.0运行时权限第三方库的使用-----RxPermissions

    运行时权限的讲解在前一篇博客已经算是说的比较清楚了,这里就不说了,如果对6.0这个新特性不是很了解的朋友建议先看看(地址:http://blog.csdn.net/qq_33923079/articl ...

  6. review38

    Java程序中可以存在多个线程,但是在处理多线程问题时,必须注意这样一个问题:当两个或多个线程同时访问同一个变量,并且一些线程需要修改这个变量.这时可能发生混乱. 所谓线程同步就是若干个线程都需要一个 ...

  7. python中的list和array的不同之处 2

    版权声明:本文为博主非原创文章,未经博主允许可以转载.     Python中的list和array的不同之处 python中的list是python的内置数据类型,list中的数据类不必相同的,而a ...

  8. 51nod 1428 贪心

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活动安排问题 基准时间限制:1 秒 空间限制:13107 ...

  9. Hadoop单机模式和伪分布式搭建教程CentOS

    1. 安装JAVA环境 2. Hadoop下载地址: http://archive.apache.org/dist/hadoop/core/ tar -zxvf hadoop-2.6.0.tar.gz ...

  10. Debian For ARM Webmin Server

    /******************************************************************************** * Debian For ARM W ...