我們過去寫過幾篇文章來查找映射到塊設備/磁盤的 LUN ID,但是當你管理 VCS 集群時,在某些情況下你可能需要映射 LUN 用于 VxFS 文件系統擴展的 VxVM(Veritas 卷管理器)磁盤的 ID。
這篇短文介紹了如何在 linux 中查找與 VxVM 磁盤關聯的 LUN 號。
在 Linux 中查找映射到 VxVM 磁盤的 LUN 號的 Shell 腳本
這個方便的 Shell 腳本可幫助你識別哪個存儲 LUN 與 Linux 上的哪個 VxVM 磁盤關聯。
這個腳本是如何工作的
該腳本按照以下步驟收集和打印這些信息。
- 它收集系統上活動 “磁盤組”(DG)的列表
- 查找與相應 DG 關聯的 “設備名稱”。
- 接下來,它列出了與各個設備映射的 “塊設備”。
- 最后收集與這些塊設備關聯的 LUN ID 并將它們全部打印在一起,如 DG 名稱、塊設備名稱和 LUN 編號。
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 號。