如何在 Linux 中映射 LUN、磁碟、LVM 和文件系統
在某些情況下,你需要映射存儲 LUN(邏輯單元號)、塊設備、LVM(LV 和 VG 名稱)和文件系統(FS)信息以進行文件系統擴展或災難恢復(DR)操作。
這是大多數 Linux 管理員的例行活動,我們通常使用一些腳本來顯示針對 SAN LUN 的塊設備映射,然後我們將手動添加 LVM 和文件系統信息來完成操作。
今後,你無需手動干預此活動,因為這些信息可以通過 Shell 腳本進行映射,如下所示。
參考以下類似文章:
在 Linux 中映射 LUN、磁碟、LVM 和文件系統的 Shell 腳本
這個 Shell 腳本可幫助你識別哪些 SAN 磁碟映射到 Linux 上的哪些塊設備、LV、VG 和文件系統。
請注意: 我們排除了 sda
磁碟,因為這是操作系統(OS)盤,它有多個分區。
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
設置 block_device_mapping_with_LUN_FS_LVM.sh
文件的可執行許可權。
chmod +x block_device_mapping_with_LUN_FS_LVM.sh
最後運行腳本查看結果。
sh block_device_mapping_with_LUN_FS_LVM.sh
注意: 在上面的輸出中,設備 sdb
不會顯示任何 LUN 信息,因為它是從 VMWare 端添加的虛擬磁碟,沒有任何 LUN。其他 3 塊磁碟是從存儲映射的,這就是為什麼可以看到 LUN 信息。
如果你想即時運行上述腳本,請使用下面的一行腳本。
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
總結
在本教程中,我們向你展示了如何在 Linux 上檢查 SAN 提供的 LUN 以及底層操作系統磁碟、LV 名稱、VG 名稱和關聯的文件系統。
如果你有任何問題或反饋,請隨時在下面發表評論。
(題圖:MJ/f5da2270-4e5a-4b2c-8998-fae974214384)
via: https://www.2daygeek.com/map-san-lun-physical-disk-filesystem-lvm-info-linux/
作者:Rasool Cool 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive