如何在 Linux 中映射 LUN、磁盘、LVM 和文件系统
创始人
2024-03-02 17:06:12
0

在某些情况下,你需要映射存储 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

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

CentOS系统磁盘复制全...
在服务器维护和数据迁移过程中,磁盘复制是CentOS系统管理员的核...
2025-03-10 09:11:04
原创 ...
一夜之间,几乎每个人都在谈论AI,每家企业都在焦虑与希冀中拥抱AI...
2025-03-03 09:23:33
绿联NAS搭建macOS最...
作为NAS玩家,平时我还是蛮爱折腾虚拟机、Docker啥的。 最近...
2025-02-25 12:49:18
华为云Flexus,X服务...
828华为云盛典,Flexus,X引领算力新纪元!, 在数字化转型...
2025-02-14 06:16:53
ByteArray未能及时...
在使用ByteArray进行文件写入操作时,需要使用File类的f...
2025-01-12 21:00:36
不知道如何在使用struc...
在使用structlog时,可以使用标准库中的logging模块来...
2025-01-12 08:00:53

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...