做linux运维的都知道,磁盘问题是日常高频故障:新增磁盘识别不到、分区忘记挂载、磁盘爆满找不到闲置盘---这些问题几乎每天都在困扰我们。
很多人第一反应敲fdisk -l,但输出密密麻麻一堆扇区、分区表,硬盘和分区的从属关系看得头昏。而lsblk是绝大多数发行版自自带的块设备查看工具,无需root权限就能运行,树形结构一眼分清硬盘-分区-lvm-挂载目录,是日常硬盘故障排除的必备工具。
一、lsblk的核心功能
lsblk全称list block devices,意思就是列出所有块设备,包含机械盘、ssd、u 盘、swap分区、lvm逻辑卷、镜像loop设备。对比两个常用磁盘命令,优势一目了然:
fdisk:需要sudo,只看分区表,层级不直观,不显示挂载路径;
df:只展示已挂载分区,看不到没挂载的新硬盘、空闲分区;
lsblk:不用管理员权限,树形展示父子关系,已挂载或未挂载全部显示,还能看文件系统、uuid、磁盘介质类型。
直接输入命令,不加任何参数就能查看全貌:
输出字段通俗解读
- NAME:设备名,sda第一块物理硬盘,sda1是它下面第一个分区;各种云服务器常见vda
- RM:1=可移动设备(U 盘、光驱 sr0),0=本地硬盘
- SIZE:磁盘/分区容量,自动 G/M 单位,不用换算字节
- TYPE:disk 物理盘、part 分区、lvm 逻辑卷、swap 交换分区
- MOUNTPOINT:挂载目录,空白=未挂载;SWAP代表交换分区
1.lsblk -f 运维最常用:查看文件系统 + UUID
新增硬盘挂载、修改/etc/fstab开机自动挂载,会用到分区uuid:
输出会新增fstype文件系统(xfs/ext4)、uuid、label磁盘标签。
应用场景:挂载数据盘时复制uuid写入 fstab,避免服务器重启磁盘序号变动导致开机失败。
#uuid也可以通过blkid来查看blkid |grep sdx
也可以通过以下命令查看uuid
lsblk -o NAME,SIZE,TYPE,UUID,MOUNTPOINT
2. lsblk -d只看物理硬盘,过滤所有分区
有时候服务器加装硬盘后,我们只想统计有几块物理盘,忽略sda1、lvm逻辑卷这些子设备:
lsblk -d#自定义输出列lsblk -d -o NAME,SIZE,MODEL,ROTA
ROTA字段:0=SSD固态硬盘,1=机械硬盘,快速区分磁盘介质;
-o 自定义输出列,只保留自己需要的信息,界面干净。
服务器多块硬盘,只排查 /dev/sdb 这块新增数据盘:树形只展示 sdb 自身以及下面所有分区,无需在一大堆设备里翻找。
4. lsblk -l 列表模式,去掉树形符号
脚本里调用lsblk抓取磁盘名称,树形竖线会干扰文本处理,用-l平铺输出:
5. lsblk -b 字节显示容量,用于容量精确统计
默认是GB、MB近似值,需要精确字节计算磁盘总容量时使用:
三、lsblk实战总结
场景 1:新挂载物理硬盘或云盘,确认系统是否识别
机房加装硬盘、云服务器扩容数据盘后,不用重启机器,直接执行lsblk。
输出出现sdb/vdb这类disk设备:系统已识别硬件,直接分区格式化;
看不到新增磁盘:检查虚拟机磁盘配置、硬盘数据线、raid卡。同时找出未挂载空闲分区:
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT | grep -v /
MOUNTPOINT为空的分区,就是闲置待挂载磁盘。
场景 2:磁盘空间爆满,判断是否有未挂载大容量分区df -h看到根目录占满,但是服务器配置标注有500G数据盘,df却看不到。
执行lsblk,如果存在sdb且挂载点空白,说明硬盘存在但没挂载,格式化挂载后扩容存储。
场景 3:区分ssd和机械盘,做数据库性能优化
对于数据库等对读写要求较高的业务推荐放ssd固态硬盘,批量服务器排查磁盘介质:lsblk -d -o NAME,SIZE,ROTA | grep disk
ROTA=0的磁盘分配给mysql、redis,提升io性能。
场景 4:LVM 逻辑卷扩容,梳理磁盘层级
很多系统默认lvm分区,根分区空间不足需要扩容。lsblk树形能清晰看到:物理硬盘 sda2→卷组os→逻辑卷root,不用再用 pvdisplay、vgdisplay 多条命令来回切换。
场景 5:制作开机自动挂载fstab,复制分区uuid
步骤:
- 编辑/etc/fstab 写入uuid、挂载目录、文件系统;
- lsblk 普通用户就能运行,部分硬盘型号、厂商信息需要加sudo;
- loop循环设备是镜像挂载产生,大量残留loop占用空间可以清理;
- ro只读磁盘多是光盘、写保护u盘,服务器硬盘出现 ro=1大概率磁盘故障。
日常磁盘排查优先lsblk,替代老旧fdisk,不管是云服务器运维、物理机房维护,这条命令上手零门槛,树形输出直观易懂。如果觉得文章对你的运维工作有帮助,记得点赞加关注。
#运维#linux运维#linux实战#lsblk