TranslateProject/published/202309/20230816 How to map LUN, Disk, LVM and FileSystem in Linux.md

103 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

[#]: subject: "How to map LUN, Disk, LVM and FileSystem in Linux"
[#]: via: "https://www.2daygeek.com/map-san-lun-physical-disk-filesystem-lvm-info-linux/"
[#]: author: "Rasool Cool https://www.2daygeek.com/author/rasool/"
[#]: collector: "lujun9972"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16160-1.html"
如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统
======
![][0]
在某些情况下,你需要映射存储 LUN逻辑单元号、块设备、LVMLV 和 VG 名称和文件系统FS信息以进行文件系统扩展或灾难恢复DR操作。
这是大多数 Linux 管理员的例行活动,我们通常使用一些脚本来显示针对 SAN LUN 的块设备映射,然后我们将手动添加 LVM 和文件系统信息来完成操作。
今后,你无需手动干预此活动,因为这些信息可以通过 Shell 脚本进行映射,如下所示。
参考以下类似文章:
* [如何在 Linux 中查找 SAN 磁盘 LUN id][1]
* [如何在 Linux 中将 ASM 磁盘映射到物理磁盘][2]
* [如何在 Linux 中映射 SAN LUN、磁盘和文件系统][3]
### 在 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
```
![][4]
**注意:** 在上面的输出中,设备 `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][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.2daygeek.com/author/rasool/
[b]: https://github.com/lujun9972
[1]: https://www.2daygeek.com/find-san-disk-lun-id-linux/
[2]: https://www.2daygeek.com/shell-script-map-oracle-asm-disks-physical-disk-lun-in-linux/
[3]: https://www.2daygeek.com/map-san-lun-physical-disk-filesystem-linux/
[4]: https://www.2daygeek.com/wp-content/uploads/2023/06/map-san-lun-physical-disk-filesystem-lvm-info-linux-1024x155.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202309/05/150634a78yslwka2lilnvr.jpg