对于某些需求,你可能需要找到映射到逻辑单元号(LUN)和文件系统(FS)的块设备,以进行文件系统扩展或灾难恢复(DR)活动。
当你管理更大的基础设施时,类似的活动可能会经常发生。假设有超过 1000 台服务器托管各种应用。
参考以下类似文章:
- 如何在 Linux 中查找 SAN 磁盘 LUN
- 如何在 Linux 中将 ASM 磁盘映射到物理磁盘
在本文中,我们将向你展示如何在 Linux 中映射物理磁盘、存储 LUN 和文件系统(FS)。
将物理磁盘映射到 Linux 中的存储 LUN 和文件系统的 Shell 脚本
这个小 shell 脚本可帮助你识别哪些 SAN 磁盘映射到 Linux 上的哪些块设备和文件系统。
vi block_device_mapping_with_LUN_FS.shvi block_device_mapping_with_LUN_FS.shvi block_device_mapping_with_LUN_FS.sh
#!/bin/bashfor lunmap in `lsblk | grep disk | grep ^s | awk '{print $1}'`dofor mpoint in `lsblk /dev/$lunmpa | grep lvm | awk '{print $NF}'`doecho "$lunmap --> $mpoint --> $(smartctl -a /dev/$lunmap | grep "Logical Unit id" | awk -F":" '{print $2}')"donedone#!/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#!/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
chmod +x block_device_mapping_with_LUN_FS.shchmod +x block_device_mapping_with_LUN_FS.shchmod +x block_device_mapping_with_LUN_FS.sh
最后运行脚本查看结果。
sh block_device_mapping_with_LUN_FS.shsh block_device_mapping_with_LUN_FS.shsh block_device_mapping_with_LUN_FS.sh
![如何在Linux中映射SAN LUN、磁盘和文件系统 图片[1]-如何在Linux中映射SAN LUN、磁盘和文件系统-不念博客](https://www.bunian.cn/wp-content/uploads/2023/09/image-5.jpeg)
注意:在上面的输出中,设备sda
不会显示任何 LUN 信息,因为它是从 VMWare 端添加的虚拟磁盘,没有任何 LUN。其他 3 个磁盘是从存储映射的,这就是我们能够看到 LUN 信息的原因。
如果你想即时运行该脚本,请使用下面的一行脚本。
for lunmap in `lsblk | grep disk | grep ^s | awk '{print $1}'`; dofor mpoint in `lsblk /dev/$lunmpa | grep lvm | awk '{print $NF}'`; doecho "$lunmap --> $mpoint --> $(smartctl -a /dev/$lunmap | grep "Logical Unit id" | awk -F":" '{print $2}')"donedonefor 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 donefor 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 --> /usrsda --> /optsda --> /tmpsda --> /varsda --> /homesdb --> /data --> 0x3600d0230000000000e1140463955737csdc --> /app --> 0x3600d0230000000000e114046395577cdsdd --> /backup --> 0x3600d0230000000000e11404639558cc5sda --> / sda --> /usr sda --> /opt sda --> /tmp sda --> /var sda --> /home sdb --> /data --> 0x3600d0230000000000e1140463955737c sdc --> /app --> 0x3600d0230000000000e114046395577cd sdd --> /backup --> 0x3600d0230000000000e11404639558cc5sda --> / sda --> /usr sda --> /opt sda --> /tmp sda --> /var sda --> /home sdb --> /data --> 0x3600d0230000000000e1140463955737c sdc --> /app --> 0x3600d0230000000000e114046395577cd sdd --> /backup --> 0x3600d0230000000000e11404639558cc5
总结
在本教程中,我们向你展示了如何在 Linux 上检查 SAN 提供的 LUN 以及底层操作系统磁盘和关联的文件系统。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END