服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统

如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统

2023-09-05 17:06未知服务器之家 Linux

在某些情况下,你需要映射存储 LUN(逻辑单元号)、块设备、LVM(LV 和 VG 名称)和文件系统(FS)信息以进行文件系统扩展或灾难恢复(DR)操作。 这是大多数 Linux 管理员的例行活动,我们通常使用一些脚本来显示针对 SAN LUN 的

如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统

在某些情况下,你需要映射存储 LUN(逻辑单元号)、块设备、LVM(LV 和 VG 名称)和文件系统(FS)信息以进行文件系统扩展或灾难恢复(DR)操作。

这是大多数 Linux 管理员的例行活动,我们通常使用一些脚本来显示针对 SAN LUN 的块设备映射,然后我们将手动添加 LVM 和文件系统信息来完成操作。

今后,你无需手动干预此活动,因为这些信息可以通过 Shell 脚本进行映射,如下所示。

参考以下类似文章:

  • 如何在 Linux 中查找 SAN 磁盘 LUN id
  • 如何在 Linux 中将 ASM 磁盘映射到物理磁盘
  • 如何在 Linux 中映射 SAN LUN、磁盘和文件系统

在 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

如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统

注意:在上面的输出中,设备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 名称和关联的文件系统。

延伸 · 阅读

精彩推荐