当前位置:首页>Linux>Linux磁盘空间检查:基于实际生产环境的命令行与图形界面方法

Linux磁盘空间检查:基于实际生产环境的命令行与图形界面方法

  • 2026-09-09 02:15:06
Linux磁盘空间检查:基于实际生产环境的命令行与图形界面方法

作为系统工程师,日常巡检和故障排查中检查磁盘空间是最常见的操作之一。

本文将以一套真实的物理服务器环境为例——双RAID阵列(RAID 10 + RAID 0,其中RAID 10配置热备盘)、LVM逻辑卷、UEFI引导——完整演示如何精准查看磁盘使用情况,并准确解读每一条输出信息。

存储配置如下:

  • RAID阵列1(/dev/sda):由5块物理硬盘(Drive0-4)组成的RAID 10阵列,其中1块为热备盘,实际参与读写的数据盘为4块,总可用容量约4.36T。划分了独立的 /boot、/boot/efi、/、SWAP 和 LVM 卷。
  • RAID阵列2(/dev/sdb):由单块物理硬盘(Drive5)组成的RAID 0阵列(JBOD直通模式),总可用容量约2.18T,整块阵列挂载于 /backup。
  • LVM逻辑卷 rl-myvmdata:4.3T,挂载于 /myvmdata,底层使用 /dev/sda5 物理卷(来自RAID 10阵列的剩余空间)。

注:在操作系统层面,每个RAID阵列被识别为一块虚拟磁盘(/dev/sda、/dev/sdb)。这种命名方式是标准行为,Volume0对应sda,Volume1对应sdb。RAID阵列中的热备盘对操作系统完全透明,OS只能看到阵列总容量,无法感知热备盘的存在。

方法一:使用 df 命令检查磁盘空间

df(disk-free)是 Linux 下最经典、最通用的磁盘空间查看命令。在日常运维中,最推荐的用法是 df -Th,它将人类易读格式与文件系统类型合二为一:

[root@mywps ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                   tmpfs     126G     0  126G   0% /dev/shm
tmpfs                   tmpfs      51G   27M   51G   1% /run
efivarfs                efivarfs  512K   80K  428K  16% /sys/firmware/efi/efivars
/dev/sda3               xfs       100G  6.8G   94G   7% /
/dev/sda2               xfs       960M  469M  492M  49% /boot
/dev/sda1               vfat      599M  7.1M  592M   2% /boot/efi
/dev/sdb1               xfs       2.2T   47G  2.2T   3% /backup
/dev/mapper/rl-myvmdata xfs       4.3T  635G  3.7T  15% /myvmdata
tmpfs                   tmpfs      26G   36K   26G   1% /run/user/0

# 何快速识别“真正的存储设备?

物理服务器的 df 输出往往很长,包含大量虚拟文件系统。只需关注以下格式的条目,它们才是RAID阵列分区或逻辑卷:

设备名称容量挂载点类型说明
/dev/sda3
100G
/
xfs
RAID 10分区:根分区
/dev/sda2
960M
/boot
xfs
RAID 10分区:独立引导分区
/dev/sda1
599M
/boot/efi
vfat
RAID 10分区:UEFI启动分区
/dev/sdb1
2.2T
/backup
xfs
RAID 0整阵列:独立数据存储(JBOD)
/dev/mapper/rl-myvmdata
4.3T
/myvmdata
xfs
LVM逻辑卷:基于RAID 10剩余空间

而 devtmpfs、tmpfs、efivarfs 均为内存文件系统或内核接口,无需计入实际磁盘占用,可忽略。

# 从本例可以直接读取到以下关键信息:

(1)RAID 10阵列(sda,含1块热备盘):

  • 根分区 / 100G,已用 6.8G(7%)—— 系统盘使用率健康
  • 独立 /boot 分区 960M,已用 469M(49%)—— 接近一半,正常范围
  • 独立 /boot/efi 分区 599M,已用 7.1M(2%)—— UEFI引导分区
  • LVM卷 /myvmdata 4.3T,已用 635G(15%)—— 主数据存储区,空间充裕
  • 热备盘不占用可用容量,仅在阵列中磁盘故障时自动顶替

(2)RAID 0阵列(sdb):

  • 数据盘 /backup 2.2T,已用 47G(3%)—— 第二组RAID阵列(单盘JBOD),几乎为空。

这就是 df -Th 的魅力:一行命令,容量单位、文件系统类型、使用率一目了然。

# 查看所有RAID阵列和分区的终极命令:lsblk

当怀疑“磁盘空间神秘消失”或“新加RAID阵列未识别”时,lsblk是最可靠的伙伴。它以树状结构完整呈现RAID阵列、分区、LVM的完整拓扑:

[root@mywps ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda               8:0    0  4.4T  0 disk 
├─sda1            8:1    0  600M  0 part /boot/efi
├─sda2            8:2    0    1G  0 part /boot
├─sda3            8:3    0  100G  0 part /
├─sda4            8:4    0    8G  0 part [SWAP]
└─sda5            8:5    0  4.3T  0 part 
  └─rl-myvmdata 253:0    0  4.3T  0 lvm  /myvmdata
sdb               8:16   0  2.2T  0 disk 
└─sdb1            8:17   0  2.2T  0 part /backup

# 关于热备盘的重要说明:

热备盘对操作系统是完全透明的。 在lsblk输出中看不到任何与热备盘相关的信息——没有独立设备,没有容量显示,没有任何标记。这是因为热备盘不参与读写、不贡献容量、不暴露为块设备,它仅在阵列卡眼中“待命”。

方法二:使用 du 命令分析目录级磁盘占用

df 看的是分区级容量,du 则用于分析目录级空间占用。两者配合,可快速定位空间消耗源头。

# 常用 du 命令组合:

# 查看根目录下各一级目录的占用情况(限制深度,避免卡顿)
du -h --max-depth=1 / 2>/dev/null | sort -hr

# 查看 /myvmdata 下哪个子目录占用最大(定位大文件目录)
du -sh /myvmdata/* 2>/dev/null | sort -hr | head -10

# 查看当前目录的总用量
du -sh

# 查找超过1GB的大文件(直接从根目录开始)
find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null

场景举例: 发现 /myvmdata 已用 635G,想快速定位“罪魁祸首”:

[root@mywps /]# cd /myvmdata
[root@mywps myvmdata]# du -sh * | sort -hr | head -10
604G vmimages
[root@mywps myvmdata]# 

更直接的方法:用 find直接定位大文件:

# 查找超过1GB的大文件
find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null

# 查找超过100MB的大文件并按大小排序
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{print $5, $9}' | sort -hr

# 这套组合拳的意义在于:

(1)df给方向——定位哪个分区满了

(2) du给路径——找出哪个目录最大

(3) find给目标——揪出具体是哪个文件占用了空间

这三步层层递进,从宏观到微观精准定位空间消耗源头。

方法三:图形界面方法(适用于带显示器的物理服务器)

如果物理服务器安装了桌面环境(如 RHEL/CentOS 工作站、Ubuntu Desktop),推荐以下工具:

  • GNOME 磁盘工具(gnome-disks):直观显示物理硬盘、分区表、LVM,支持挂载/卸载、格式化、分区调整
  • 磁盘使用分析器(baobab):以环形图、树形图可视化展示目录占用,适合快速扫描

绝大多数生产环境物理服务器无图形界面,因此建议运维人员必须熟练掌握 df -Th、lsblk、du 三驾马车,这才是物理服务器运维的立身之本。

总结:物理服务器磁盘空间检查标准流程

作为一名 Linux 系统工程师,接手一台物理服务器时,标准操作流程是:

步骤命令目的
1
df -Th快速总览
:已挂载分区容量、使用率、文件系统类型
2
lsblk存储拓扑
:查看RAID阵列数量、分区布局、LVM结构,发现未挂载空间
3
du -sh /* 2>/dev/null | sort -hr | head -10根目录分析
:若根分区快满,迅速找出大目录
4
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null大文件定位
:直接揪出占用空间的具体文件

磁盘空间告警? 检查只是第一步,作为物理服务器运维,还需要掌握:

  • LVM 在线扩容(不重启、不卸载、不停业务)
  • XFS 文件系统无损扩展
  • 物理硬盘故障检测(SMART)
  • RAID 卡与远程管理卡(iDRAC/iLO)磁盘状态查看
  • RAID阵列健康状态与热备盘监控
  • 大日志文件轮转策略与清理

最新文章

随机文章