Linux磁盘说明与信息查询汇总

2025年12月21日/ 浏览 24

标题:Linux磁盘管理全攻略:从基础认知到实战查询
关键词:Linux磁盘管理、分区、文件系统、fdisk、lsblk、df、du
描述:本文深入解析Linux磁盘结构体系,汇总常用磁盘信息查询命令,提供从物理磁盘到文件系统的完整操作指南,助力系统管理员高效管理存储资源。

正文:

在Linux服务器运维中,磁盘管理是绕不开的核心技能。无论是扩容存储空间、排查磁盘占满告警,还是优化I/O性能,都需要对磁盘体系有清晰的认知。本文将带你深入理解Linux磁盘管理的逻辑层次,并汇总实战中高频使用的信息查询命令。

一、磁盘体系的逻辑分层

Linux磁盘系统可抽象为三层结构:
1. 物理磁盘(Physical Disk):如/dev/sda/dev/nvme0n1等,代表真实的存储设备
2. 分区(Partition):在物理磁盘上划分的逻辑区域,如/dev/sda1
3. 文件系统(Filesystem):如ext4、XFS、Btrfs等,用于结构化存储数据

这三层通过 挂载(Mount) 操作关联:将分区挂载到目录(如/home),用户才能通过文件路径访问存储空间。


二、核心信息查询命令实战

1. 查看物理磁盘列表

bash
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

输出示例:
NAME SIZE TYPE MOUNTPOINT
sda 238.9G disk
├─sda1 512M part /boot/efi
└─sda2 238.4G part /
nvme0n1 476.9G disk
└─nvme0n1p1 476.9G part /data

解读
TYPE=disk:物理磁盘设备
TYPE=part:分区
-o参数定制显示字段(推荐添加MODEL查看磁盘型号)

2. 查看分区详情

bash
sudo fdisk -l

输出关键信息:
Disk /dev/sda: 238.9 GiB, 256060514304 bytes, 500118192 sectors
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1050623 1048576 512M ef EFI
/dev/sda2 1052672 500117503 499064832 238G 83 Linux

要点
Id列:ef表示EFI系统分区,83为Linux标准分区
Boot列:*标记启动分区

3. 文件系统类型检测

bash
sudo blkid

输出示例:
/dev/sda1: UUID="A3B7-8C1F" TYPE="vfat"
/dev/sda2: UUID="d38e5a8f-85d7-4a9b-b8e2-7c0b7c9d8b1c" TYPE="ext4"

技巧
TYPE字段直接显示文件系统类型
UUID是挂载时的唯一可靠标识(设备名可能变动)

4. 磁盘空间使用统计

bash
df -hT

输出示例:
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 234G 189G 34G 85% /
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm

参数解析
-h:人类可读的GB/MB单位
-T:显示文件系统类型
重点关注Use%:超过80%需警惕

5. 目录空间深度分析

bash
du -h --max-depth=1 /var

输出示例:
16K /var/tmp
3.2G /var/log
14G /var/lib
17G /var

高阶技巧
--max-depth=1:只显示一级子目录大小
– 配合sort -h排序:du -h --max-depth=1 /var | sort -hr


三、故障排查场景速查

▎场景1:磁盘空间突然占满

排查步骤
1. df -h定位使用率高的分区
2. cd到对应挂载点(如/
3. 逐层扫描大目录:
bash
du -h --max-depth=1 | sort -h

▎场景2:新磁盘无法识别

操作流程
1. 确认磁盘是否被系统检测:
bash
dmesg | grep -i 'sd\|nvme'

2. 检查磁盘分区状态:
bash
sudo fdisk -l /dev/sdb

3. 若未分区,使用partedfdisk创建分区表


四、进阶工具链推荐

  • iostat:监控磁盘I/O性能
    bash
    iostat -dx 2
  • smartctl:检测磁盘健康状态
    bash
    smartctl -a /dev/sda
  • lsof:查看文件占用进程
    bash
    lsof /mnt/data

掌握这些命令组合,你已能应对90%的磁盘管理场景。关键在于理解命令输出的关联性:物理磁盘→分区→文件系统→挂载点→目录空间,形成完整的排查链路。

picture loss