news 2026/7/6 12:07:19

lsblk 命令 8 个实战场景:从磁盘拓扑到 RAID 状态判断

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
lsblk 命令 8 个实战场景:从磁盘拓扑到 RAID 状态判断

lsblk 命令 8 个实战场景:从磁盘拓扑到 RAID 状态判断

在 Linux 系统管理中,磁盘管理是运维工程师和开发者必须掌握的核心技能之一。lsblk命令作为块设备信息的瑞士军刀,其功能远不止于简单的设备列表展示。本文将深入探讨lsblk在真实运维场景中的高级应用,帮助您从磁盘拓扑分析到 RAID 状态判断,全面提升存储管理效率。

1. 磁盘物理拓扑分析

当我们需要了解服务器的物理磁盘布局时,-t-o参数的组合能揭示硬件层面的连接关系:

lsblk -t -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,TRAN,SUBSYSTEMS

典型输出示例:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT TRAN SUBSYSTEMS sda 8:0 0 1.8T 0 disk sata block:scsi:pci ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 1.8T 0 part nvme0n1 259:0 0 500G 0 disk nvme block:nvme:pci

关键信息解读:

  • TRAN:显示传输类型(sata/nvme/scsi等)
  • SUBSYSTEMS:揭示设备在系统设备树中的位置
  • MAJ:MIN:主次设备号可判断设备类型

提示:在采购新服务器时,先用此命令确认磁盘控制器类型和物理连接方式,可避免后续性能瓶颈。

2. 文件系统权限问题排查

当遇到挂载点访问权限问题时,-f-m参数组合堪称救星:

lsblk -fm -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT,OWNER,GROUP,MODE

输出示例:

NAME FSTYPE LABEL UUID MOUNTPOINT OWNER GROUP MODE sda root disk brw-rw---- ├─sda1 ext4 boot a1b2c3d4-e5f6-7890-1234-567890abcdef /boot root root brw-rw---- └─sda2 xfs data 11223344-5566-7788-9900-aabbccddeeff /data appuser appgroup brw-rw----

故障排查步骤:

  1. 确认目标挂载点的文件系统类型
  2. 检查属主和属组是否符合应用要求
  3. 验证设备节点的读写权限
  4. 对比/etc/fstab中的配置是否一致

3. RAID 状态快速判断

对于软件 RAID 配置,lsblk能提供重要线索:

lsblk -o NAME,SIZE,RO,FSTYPE,MOUNTPOINT,RA

关键观察点:

  • 相同 SIZE 的多个磁盘可能是 RAID 成员
  • RO=1 的设备可能是 RAID 1 的镜像盘
  • 通过RA(Read-Ahead) 值可判断 RAID 配置

RAID 类型判断矩阵:

观察特征可能 RAID 类型
2块盘大小相同,RO=1RAID 1
3+块盘大小相同,RO=0RAID 5/6
多块盘,大小呈阶梯分布RAID 0+1

4. 存储设备热插拔监控

在设备热插拔场景中,实时监控命令组合:

watch -n 1 "lsblk -S -o NAME,HCTL,TYPE,VENDOR,MODEL,TRAN,SUBSYSTEMS,STATE"

输出动态示例:

NAME HCTL TYPE VENDOR MODEL TRAN SUBSYSTEMS STATE sda 2:0:0:0 disk ATA Samsung SSD 860 sata block:scsi:pci running sdb 3:0:0:0 disk Seagate ST2000LM003 usb block:usb:pci suspended

状态解读:

  • running:设备正常在线
  • suspended:设备可能正在断开连接
  • offline:设备已断开

5. 容器环境存储分析

在容器化环境中,快速定位存储依赖关系:

lsblk -p -e 7 -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,PKNAME

关键参数说明:

  • -p:显示完整设备路径
  • -e 7:排除 loop 设备
  • PKNAME:显示父设备名称

典型容器存储问题排查流程:

  1. 通过PKNAME找到关联的物理卷
  2. 检查MOUNTPOINT是否被多个容器共享
  3. 确认SIZE是否符合容器声明的要求

6. 云磁盘性能分析

在云环境中,识别磁盘类型对性能调优至关重要:

lsblk -d -o NAME,MODEL,SIZE,ROTA,MIN-IO,SCHED,RA,WSAME,DISC-GRAN,DISC-MAX

云磁盘特征对照表:

参数HDD 特征值SSD 特征值NVMe 特征值
ROTA100
WSAME004096
DISC-GRAN512K4M2M

7. 安全审计准备

系统安全审计时,完整的存储设备清单:

lsblk -a -O -J | jq '.blockdevices[] | del(.children)'

输出示例(JSON 格式):

{ "name": "sda", "maj:min": "8:0", "rm": "0", "size": "1.8T", "ro": "0", "type": "disk", "mountpoint": null, "fstype": null, "uuid": null }

审计要点:

  1. 检查所有rm=0的固定磁盘
  2. 确认未授权的可移动设备 (rm=1)
  3. 验证敏感挂载点的加密状态

8. 自动化运维集成

在自动化脚本中,推荐使用可解析的输出格式:

lsblk -P -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,FSTYPE,UUID,PKNAME

示例输出:

NAME="sda" MAJ:MIN="8:0" RM="0" SIZE="1.8T" RO="0" TYPE="disk" MOUNTPOINT="" FSTYPE="" UUID="" PKNAME="" NAME="sda1" MAJ:MIN="8:1" RM="0" SIZE="512M" RO="0" TYPE="part" MOUNTPOINT="/boot" FSTYPE="ext4" UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" PKNAME="sda"

Shell 处理示例:

eval $(lsblk -P -n /dev/sda1) echo "Partition $NAME is mounted at $MOUNTPOINT with $FSTYPE"

在实际运维中,我发现将lsblkjq结合处理 JSON 输出,能极大提高脚本的健壮性。特别是在处理多路径磁盘时,lsblk -J输出的完整拓扑结构比传统文本解析更可靠。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 12:06:31

Ubuntu udev规则实战:区分2个相同ID的CH340 USB串口设备

Ubuntu udev规则实战:精确区分相同ID的CH340 USB串口设备当你在机器人开发或嵌入式项目中同时使用多个CH340芯片的USB转串口设备时,会遇到一个棘手的问题:这些设备拥有完全相同的厂商ID和产品ID(1a86:7523)&#xff0c…

作者头像 李华
网站建设 2026/7/6 12:05:47

r77-rootkit Shellcode无文件部署:反射式DLL注入与内存驻留技术详解

1. 项目概述:从标题拆解核心意图 看到“如何编写r77-rootkit Shellcode:无文件部署与集成方案”这个标题,我的第一反应是,这绝对是一个在安全研究领域,特别是红队攻防和高级威胁模拟中,极具深度和实践价值的…

作者头像 李华
网站建设 2026/7/6 12:04:20

CentOS 7/8 网络配置实战:3种模式(桥接/NAT/主机)对比与固定IP 5步操作

CentOS 7/8 网络配置实战:3种模式深度解析与固定IP配置指南在虚拟化环境中部署Linux系统时,网络配置是每个运维人员和开发者必须掌握的核心技能。不同于物理服务器的直连网络,虚拟机网络提供了桥接、NAT和仅主机三种模式,每种模式…

作者头像 李华
网站建设 2026/7/6 11:57:34

Windows API SetWindowsHookEx 实战:C++ 实现全局键盘监听与3种消息过滤

Windows API SetWindowsHookEx 实战:C 实现全局键盘监听与3种消息过滤在Windows系统开发中,消息钩子机制是实现底层事件监控和处理的强大工具。SetWindowsHookEx API作为Windows消息处理体系的核心组件,允许开发者拦截并处理各种系统级事件&a…

作者头像 李华
网站建设 2026/7/6 11:57:09

Linux 进程管理实战:kill -9 与 kill -15 的 3 种场景选择与僵尸进程规避

Linux 进程管理实战:kill -9 与 kill -15 的 3 种场景选择与僵尸进程规避在 Linux 系统管理中,进程管理是最基础也是最重要的技能之一。特别是对于运维和开发人员来说,如何优雅地终止进程、避免资源泄漏和僵尸进程的产生,直接关系…

作者头像 李华
网站建设 2026/7/6 11:55:38

Windows 11 23H2 修复 FTP 跳转 Edge:3 种注册表方案与 1 个 .reg 脚本

Windows 11 23H2 强制跳转 Edge 访问 FTP 的终极解决方案最近升级到 Windows 11 23H2 的用户可能发现了一个恼人的问题:当尝试通过资源管理器访问 FTP 站点时,系统会强制跳转到 Edge 浏览器打开,而 Edge 对 FTP 的支持又相当有限。本文将深入…

作者头像 李华