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),用户才能通过文件路径访问存储空间。
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查看磁盘型号)
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列:*标记启动分区
bash
sudo blkid
输出示例:
/dev/sda1: UUID="A3B7-8C1F" TYPE="vfat"
/dev/sda2: UUID="d38e5a8f-85d7-4a9b-b8e2-7c0b7c9d8b1c" TYPE="ext4"
技巧:
– TYPE字段直接显示文件系统类型
– UUID是挂载时的唯一可靠标识(设备名可能变动)
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%需警惕
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. df -h定位使用率高的分区
2. cd到对应挂载点(如/)
3. 逐层扫描大目录:
bash
du -h --max-depth=1 | sort -h
操作流程:
1. 确认磁盘是否被系统检测:
bash
dmesg | grep -i 'sd\|nvme'
2. 检查磁盘分区状态:
bash
sudo fdisk -l /dev/sdb
3. 若未分区,使用parted或fdisk创建分区表
bash
iostat -dx 2 bash
smartctl -a /dev/sda bash
lsof /mnt/data 掌握这些命令组合,你已能应对90%的磁盘管理场景。关键在于理解命令输出的关联性:物理磁盘→分区→文件系统→挂载点→目录空间,形成完整的排查链路。