aix 查看hdisk容量

    技术2024-07-16  78

    SVC是IBM提供的功能极其强大且用途广泛的SAN虚拟化产品。 它支持众多功能,例如精简配置,IBM Real-time Compression™,在线数据迁移等。 SVC的管理是通过一个简单的Web界面完成的,该界面使使用它非常直观和容易。 但是,从AIX主机的角度来看,映射哪个AIX hdisk映射回哪个SVC卷可能很耗时并且很困难。 如果需要从AIX服务器删除SVC LUN hdisk设备,则需要确保了解哪个hdisk映射到哪个SVC LUN,以防止删除错误的LUN。 本文介绍如何在AIX上使用SDDPCM多路径软件时发现哪个SVC卷支持每个AIX hdisk。

    手动追踪

    如果只有几个AIX hdisk需要映射回SVC卷,那么最简单的方法就是手动完成。 我们首先需要从AIX服务器收集信息。 本文适用于使用IBM子系统设备驱动程序路径控制模块(SDDPCM)多路径软件的AIX服务器。 SDDPCM提供了pcmpath命令,它是一个非常强大的命令,它可以收集有关AIX服务器上可见的,由SDDPCM控制的LUN的信息。 首先登录到AIX服务器并运行pcmpath query device命令。 这显示了有关由SDDPCM控制的每个SAN LUN的状态的详细信息。 每个LUN列出的项目之一是序列号。 序列号是我们可以用来将hdisk追溯到SVC卷的密钥,因为SVC显示的卷号与“ UID”卷相同。

    清单1. pcmpath查询设备的示例输出
    # pcmpath query device DEV#: 0 DEVICE NAME: hdisk0 TYPE: 2145 ALGORITHM: Load Balance SERIAL: 60050763624B79486800000000000004 ========================================================================== Path# Adapter/Path Name State Mode Select Errors 0 fscsi0/path0 OPEN NORMAL 8037977 0 1 fscsi0/path1 OPEN NORMAL 8032250 0 2* fscsi0/path2 OPEN NORMAL 62 0 3* fscsi0/path3 OPEN NORMAL 62 0 4 fscsi1/path4 OPEN NORMAL 8066256 0 5 fscsi1/path5 OPEN NORMAL 8070900 0 6* fscsi1/path6 OPEN NORMAL 62 0 7* fscsi1/path7 OPEN NORMAL 62 0 DEV#: 1 DEVICE NAME: hdisk1 TYPE: 2145 ALGORITHM: Load Balance SERIAL: 60050763624B79486800000000000005 ========================================================================== Path# Adapter/Path Name State Mode Select Errors 0 fscsi0/path0 OPEN NORMAL 3009569 0 1 fscsi0/path1 OPEN NORMAL 3008052 0 2* fscsi0/path2 OPEN NORMAL 49 0 3* fscsi0/path3 OPEN NORMAL 49 0 4 fscsi1/path4 OPEN NORMAL 3019297 0 5 fscsi1/path5 OPEN NORMAL 3018514 0 6* fscsi1/path6 OPEN NORMAL 49 0 7* fscsi1/path7 OPEN NORMAL 49 0

    在清单1中,我们可以看到有两个SAN LUN:hdisk0和hdisk1。 输出还显示hdisk0的序列号为60050763624B79486800000000000004,hdisk1的序列号为60050763624B79486800000000000005。

    接下来,登录到SVC Web界面并转到Volumes部分,如图1所示。

    图1. SVC上的“卷”部分

    在“卷”部分中,确认已显示UID列。 如果看不到它,请右键单击顶部标题区域,然后选择UID复选框以启用此列,如图2所示。

    图2.如果需要,启用UID列

    接下来,单击UID列,以便按UID号对卷列表进行排序。 现在,看看列表并发现我们以前从记录的两个序列号pcmpath query device AIX输出清单1.每个LUN AIX序列号pcmpath query device应与SVC音量UID号码之一匹配,如图图3。

    图3.将AIX中的序列号与SVC中的UID匹配

    您可以在图3中看到hdisk0 AIX设备映射回App1_1 SVC卷,而hdisk1 AIX设备映射回App1_2 SVC卷。

    流程自动化

    了解了如何将AIX LUN手动映射回SVC卷之后,下一步是使该过程自动化。 这可以帮助您节省时间,并使在可能已映射了数百个SVC卷的AIX服务器上完成此操作变得切实可行。

    本文介绍了可以自动执行此任务的脚本。 该脚本是从AIX服务器运行的,输出是报告,其中显示了所有AIX SDDPCM控制的LUN及其对应的SVC信息,包括SVC卷名。

    因为该脚本在AIX主机上运行,​​所以它还必须从SVC收集报告的信息。 该脚本支持两种不同的方法来从SVC收集信息。 一种方法是让脚本通过SSH连接(使用SSH密钥或通过手动键入密码)连接到SVC以收集信息。 但是,某些系统管理员无权访问SVC。 在这种情况下,另一个选择是指定一个文件。 该文件必须包含来自SVC的lshostvdiskmap命令的输出。 这样就可以让您的SAN管理员运行lshostvdiskmap命令,向您发送输出,并且仍然能够使用该脚本而无需直接访问SVC。

    运行脚本时,可以将用户名和SVC主机指定为user@svchost或者指定包含先前获得的lshostvdiskmap输出的文件的路径。 该脚本从AIX服务器运行,并在由SDDPCM控制的所有AIX服务器的hdisk上创建报告。

    例如,要使脚本通过SSH连接以“用户”帐户的身份连接到名为“ svchost”的SVC,可以运行类似于清单2的命令。

    清单2.运行svc_report.sh脚本并将其连接到SVC以获得信息的示例命令
    ./svc_report.sh user@svchost

    要在AIX服务器上使用名为/tmp/lshost_output ,其中包含SVC lshostvdiskmap命令的输出,请使用清单3中的命令。

    清单3.运行svc_report.sh脚本并使其使用文件的示例命令
    ./svc_report.sh /tmp/lshost_output

    该报告的输出如图4所示。

    图4. svc_report.sh脚本的示例报告

    该报告显示了AIX hdisk名称,AIX卷组,hdisk大小以及来自SVC的信息,例如卷名称和序列号。

    清单4中显示了用于创建报告的脚本。

    清单4. svc_report.sh脚本
    #!/usr/bin/ksh if ! [ `whoami` = "root" ]; then echo "Script must be run as root" exit 3 fi if [ -n "$1" ]; then if [ -e "$1" ]; then svcinfo=`cat "$1"` else svcinfo=`ssh $1 lshostvdiskmap` fi else echo "Specify filename with SVC lshostvdiskmap output in it" echo "OR specify username@svchost to retrive info from SVC through SSH" echo "example: $0 /path/to/lshostvdiskmap_output" echo "example: $0 user@svc1" exit 1 fi if ! [ -n "$svcinfo" ]; then echo "Error: Unable to retrive SVC info" exit 2 fi printf "AIX_Host_Name   AIX_hdisk  AIX_VG       SIZE_MB " echo "id SVC_AIX_host  SCSI_id vdisk_id SVC_vdisk_name             SVC_vdisk_UID" pcmpath query device | egrep "^DEV|^SERIAL" | paste - - | awk '{print $5 " " $12}' | while read disk serial; do vg=`lspv | grep "^$disk " | awk '{print $3}'` size=`getconf DISK_SIZE /dev/$disk` printf "%-15s %-10s %-12s %-10s " `hostname -s` $disk $vg $size echo "$svcinfo" | grep "$serial *$" || echo "Not found on SVC: $serial" done

    结论

    将AIX hdisk追溯到SVC卷是系统管理员需要定期执行的任务。 正确执行此操作至关重要,这样在执行SVC维护时(例如删除LUN或调整LUN的大小)就不会出错。 阅读本文之后,您应该能够手动将AIX hdisk追溯到SVC卷,并且还可以使用本文中介绍的脚本来自动执行此过程并节省时间。

    翻译自: https://www.ibm.com/developerworks/aix/library/au-tracing-aix-hdisks-to-san/index.html

    相关资源:微信小程序源码-合集6.rar
    Processed: 0.008, SQL: 9