如何在 Linux 中映射 LUN、磁盤(pán)、LVM 和文件系統(tǒng)
在某些情況下,你需要映射存儲(chǔ) LUN(邏輯單元號(hào))、塊設(shè)備、LVM(LV 和 VG 名稱(chēng))和文件系統(tǒng)(FS)信息以進(jìn)行文件系統(tǒng)擴(kuò)展或?yàn)?zāi)難恢復(fù)(DR)操作。
這是大多數(shù) Linux 管理員的例行活動(dòng),我們通常使用一些腳本來(lái)顯示針對(duì) SAN LUN 的塊設(shè)備映射,然后我們將手動(dòng)添加 LVM 和文件系統(tǒng)信息來(lái)完成操作。
今后,你無(wú)需手動(dòng)干預(yù)此活動(dòng),因?yàn)檫@些信息可以通過(guò) Shell 腳本進(jìn)行映射,如下所示。
參考以下類(lèi)似文章:
- 如何在 Linux 中查找 SAN 磁盤(pán) LUN id
- 如何在 Linux 中將 ASM 磁盤(pán)映射到物理磁盤(pán)
- 如何在 Linux 中映射 SAN LUN、磁盤(pán)和文件系統(tǒng)
在 Linux 中映射 LUN、磁盤(pán)、LVM 和文件系統(tǒng)的 Shell 腳本
這個(gè) Shell 腳本可幫助你識(shí)別哪些 SAN 磁盤(pán)映射到 Linux 上的哪些塊設(shè)備、LV、VG 和文件系統(tǒng)。
請(qǐng)注意: 我們排除了 sda
磁盤(pán),因?yàn)檫@是操作系統(tǒng)(OS)盤(pán),它有多個(gè)分區(qū)。
vi block_device_mapping_with_LUN_FS_LVM.sh
#!/bin/bash
for bdevice in `lsblk | grep disk | awk '{print $1}' | grep -v 'sda'`; do
for mpoint in `lsblk /dev/$bdevice | grep lvm | awk '{print $NF}'`; do
LVM_INFO=`lvs -o +devices | grep -i $bdevice | awk '{print $1,$2}'`
LUN_ID=`lsscsi --scsi | grep $bdevice | awk '{print $NF}'`
echo "$bdevice --> $mpoint --> $LVM_INFO --> $LUN_ID"
done
done
設(shè)置 block_device_mapping_with_LUN_FS_LVM.sh
文件的可執(zhí)行權(quán)限。
chmod +x block_device_mapping_with_LUN_FS_LVM.sh
最后運(yùn)行腳本查看結(jié)果。
sh block_device_mapping_with_LUN_FS_LVM.sh
注意: 在上面的輸出中,設(shè)備 sdb
不會(huì)顯示任何 LUN 信息,因?yàn)樗菑?VMWare 端添加的虛擬磁盤(pán),沒(méi)有任何 LUN。其他 3 塊磁盤(pán)是從存儲(chǔ)映射的,這就是為什么可以看到 LUN 信息。
如果你想即時(shí)運(yùn)行上述腳本,請(qǐng)使用下面的一行腳本。
for bdevice in `lsblk | grep disk | awk '{print $1}' | grep -v 'sda'`; do for mpoint in `lsblk /dev/$bdevice | grep lvm | awk '{print $NF}'`; do LVM_INFO=`lvs -o +devices | grep -i $bdevice | awk '{print $1,$2}'`; LUN_ID=`lsscsi --scsi | grep $bdevice | awk '{print $NF}'`; echo "$bdevice --> $mpoint --> $LVM_INFO --> $LUN_ID"; done; done
sdb --> [SWAP] --> swap2lv swapvg --> -
sdc --> /appserver --> appserver_lv appserver_vg --> 360000670000415600477312020662021
sdd --> /data --> data_lv data_vg --> 360000670000415600477312020662022
sde --> /backup --> backup_lv backup_vg --> 360000670000415600477312020662023
總結(jié)
在本教程中,我們向你展示了如何在 Linux 上檢查 SAN 提供的 LUN 以及底層操作系統(tǒng)磁盤(pán)、LV 名稱(chēng)、VG 名稱(chēng)和關(guān)聯(lián)的文件系統(tǒng)。