我们过去写过几篇文章来查找映射到块设备/磁盘的 LUN ID,但是当你管理 VCS 集群时,在某些情况下你可能需要映射 LUN 用于 VxFS 文件系统扩展的 VxVM(Veritas 卷管理器)磁盘的 ID。
这篇短文介绍了如何在 linux 中查找与 VxVM 磁盘关联的 LUN 号。
这个方便的 Shell 脚本可帮助你识别哪个存储 LUN 与 Linux 上的哪个 VxVM 磁盘关联。
该脚本按照以下步骤收集和打印这些信息。
vi VxVM_disk_mApping_with_LUN_number.sh
#!/bin/bash
###########################################################
# Purpose: Mapping LUN Number to VxVM Disk in Linux
# Author: 2DayGeek
# Version: v1.0
###########################################################
echo "DG_Name Block_Device LUN_Number"
echo "-------------------------------------------------------------------"
for dg_name in `vxdg list | awk '{print $1}' | grep -v NAME`
do
for d_name in `vxdisk -e list | grep -i $dg_name | awk '{print $1}'
do
for b_device in `vxdisk list $d_name | grep -w state=enabled | awk '{print $1}' | head -1`
do
echo "$dg_name --> $b_device --> $(lsscsi --scsi | grep $b_device | awk '{print $NF}'"
done
done
done | column -t
设置 Shell 脚本文件的可执行权限。
chmod +x VxVM_disk_mapping_with_LUN_number.sh
最后执行脚本查看结果。
sh VxVM_disk_mapping_with_LUN_number.sh
你的输出将类似于此。但是,DG 名称、块设备和 LUN 会与此不同。
如果你想即时运行上述脚本,请使用下面的单行脚本。
# for dg_name in `vxdg list | awk '{print $1}' | grep -v NAME`; do for d_name in `vxdisk -e list | grep -i $dg_name | awk '{print $1}'; do for b_device in `vxdisk list $d_name | grep -w state=enabled | awk '{print $1}' | head -1`; do echo "$dg_name --> $b_device --> $(lsscsi --scsi | grep $b_device | awk '{print $NF}'"; done; done; done | column -t
Apachedg --> sde --> 3600d0230000000000e11404639558823
apachedg --> sdf --> 3600d0230000000000e11404639558824
apachedg --> sdg --> 3600d0230000000000e11404639558825
sftpdg --> sdh --> 3600d0230000000000e11404639558826
sftpdg --> sdi --> 3600d0230000000000e11404639558827
在本教程中,我们向你展示了如何在 Linux 中查找与 VxVM 磁盘映射的 LUN 号。