如何在 Linux 中映射 SAN LUN、磁盤和文件系統(tǒng)
對于某些需求,你可能需要找到映射到邏輯單元號(LUN)和文件系統(tǒng)(FS)的塊設備,以進行文件系統(tǒng)擴展或災難恢復(DR)活動。
當你管理更大的基礎設施時,類似的活動可能會經(jīng)常發(fā)生。假設有超過 1000 臺服務器托管各種應用。
參考以下類似文章:
在本文中,我們將向你展示如何在 Linux 中映射物理磁盤、存儲 LUN 和文件系統(tǒng)(FS)。
將物理磁盤映射到 Linux 中的存儲 LUN 和文件系統(tǒng)的 Shell 腳本
這個小 shell 腳本可幫助你識別哪些 SAN 磁盤映射到 Linux 上的哪些塊設備和文件系統(tǒng)。
vi block_device_mapping_with_LUN_FS.sh
#!/bin/bash
for lunmap in `lsblk | grep disk | grep ^s | awk '{print $1}'`
do
for mpoint in `lsblk /dev/$lunmpa | grep lvm | awk '{print $NF}'`
do
echo "$lunmap --> $mpoint --> $(smartctl -a /dev/$lunmap | grep "Logical Unit id" | awk -F":" '{print $2}')"
done
done
設置 block_device_mapping_with_LUN_FS.sh
文件的可執(zhí)行權(quán)限。
chmod +x block_device_mapping_with_LUN_FS.sh
最后運行腳本查看結(jié)果。
sh block_device_mapping_with_LUN_FS.sh
注意: 在上面的輸出中,設備 sda
不會顯示任何 LUN 信息,因為它是從 VMWare 端添加的虛擬磁盤,沒有任何 LUN。其他 3 個磁盤是從存儲映射的,這就是我們能夠看到 LUN 信息的原因。
如果你想即時運行該腳本,請使用下面的一行腳本。
for lunmap in `lsblk | grep disk | grep ^s | awk '{print $1}'`; do
for mpoint in `lsblk /dev/$lunmpa | grep lvm | awk '{print $NF}'`; do
echo "$lunmap --> $mpoint --> $(smartctl -a /dev/$lunmap | grep "Logical Unit id" | awk -F":" '{print $2}')"
done
done
sda --> /
sda --> /usr
sda --> /opt
sda --> /tmp
sda --> /var
sda --> /home
sdb --> /data --> 0x3600d0230000000000e1140463955737c
sdc --> /app --> 0x3600d0230000000000e114046395577cd
sdd --> /backup --> 0x3600d0230000000000e11404639558cc5
總結(jié)
在本教程中,我們向你展示了如何在 Linux 上檢查 SAN 提供的 LUN 以及底層操作系統(tǒng)磁盤和關聯(lián)的文件系統(tǒng)。