如何在CentOS系统中查询硬盘信息和空间使用情况?

在CentOS系统中,对硬盘进行查询和管理是系统管理员的核心日常工作之一,无论是为了监控存储空间、排查磁盘故障,还是规划新的存储方案,掌握一系列高效、准确的硬盘查询命令都至关重要,本文将系统性地介绍在CentOS环境下查询硬盘信息的多种方法,从基础概览到深度检测,帮助您全面了解服务器的存储状态。

如何在CentOS系统中查询硬盘信息和空间使用情况?

lsblk:以树形结构查看块设备

lsblk(List Block Devices)是现代Linux系统中最为直观和常用的硬盘查询工具之一,它能够以清晰的树状图展示所有块设备(包括硬盘、分区、LVM逻辑卷等)及其相互关系。

执行 lsblk 命令,您会看到类似以下的输出:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0   238G  0 part
  └─cl-root 253:0    0   238G  0 lvm  /
sdb      8:16   0  1.8T  0 disk
└─sdb1   8:17   0  1.8T  0 part /data

这个输出包含了关键信息:

  • NAME:设备名称。
  • MAJ:MIN:主设备号和次设备号。
  • RM:是否为可移动设备(1为是,0为否)。
  • SIZE:设备容量。
  • RO:是否为只读(1为是,0为否)。
  • TYPE:设备类型(disk为磁盘,part为分区,lvm为逻辑卷)。
  • MOUNTPOINT:挂载点。

使用 lsblk -f 可以额外显示文件系统类型和UUID,使用 lsblk -d则可以只列出磁盘本身,不显示其下的分区。

fdisk:经典的磁盘分区与查询工具

fdisk 是一个功能强大的磁盘分区工具,同时也是一个优秀的磁盘信息查询器,通过 -l 参数,它可以列出系统中所有磁盘的分区表详细信息。

执行 sudo fdisk -l,输出会包含每个磁盘的详细信息,

Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
...
Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 3907028991 3907026944  1.8T 83 Linux

fdisk 的输出对于了解磁盘的几何结构、分区方案(如MBR或GPT)、每个分区的起始和结束扇区等底层信息非常有用,是进行分区操作前必做的检查步骤。

smartctl:深入硬盘健康状态检测

当需要评估硬盘的物理健康状况时,smartctl 是不二之选,它是 smartmontools 软件包的一部分,通过读取S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)信息来预测硬盘故障。

如何在CentOS系统中查询硬盘信息和空间使用情况?

确保已安装该工具:sudo yum install smartmontools

查询硬盘整体健康状态:
sudo smartctl -H /dev/sda

如果返回 PASSED,则表明硬盘根据S.M.A.R.T.标准当前状态良好。

获取硬盘的详细信息(型号、序列号、固件版本、总通电时间等):
sudo smartctl -i /dev/sda

查看完整的S.M.A.R.T.属性列表:
sudo smartctl -A /dev/sda

这些信息对于判断硬盘是否即将失效、进行硬件更换预警具有决定性意义。

df 与 du:文件系统空间使用情况分析

df(Disk Free)和 du(Disk Usage)命令关注的是文件系统层面的空间使用情况。

df -h-h表示以人类可读的格式,如KB, MB, GB显示)可以快速查看所有已挂载文件系统的总容量、已用空间、可用空间及使用百分比。

如何在CentOS系统中查询硬盘信息和空间使用情况?

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root  238G   45G  193G  19% /
/dev/sda1            512M  6.1M  506M   2% /boot/efi
/dev/sdb1            1.8T  150G  1.7T   8% /data

du 命令则用于递归地统计指定目录或文件所占用的磁盘空间,常用于定位占用空间过大的文件或目录,du -sh /var/log/*

为了方便对比和选择,下表小编总结了上述命令的核心用途:

命令 主要用途 常用选项 关键输出信息
lsblk 查看块设备结构 -f, -d 设备树、大小、挂载点、文件系统
fdisk 查看分区表详情 -l 磁盘几何信息、分区方案、分区起止
smartctl 检测物理硬盘健康 -H, -i, -a 健康状态、型号、S.M.A.R.T.属性
df 查看文件系统空间 -h, -T 总容量、已用/可用空间、使用率
du 统计目录/文件大小 -sh, --max-depth 具体路径下文件和子目录的占用空间

相关问答FAQs

问题1:如何查看新添加到服务器但尚未分区或格式化的硬盘?

解答: 新添加的硬盘在操作系统中通常会被识别,但因为没有分区表和挂载点,所以df看不到它,最有效的命令是 lsblksudo fdisk -llsblk会显示一个新的磁盘设备(例如/dev/sdc),但它下面没有任何分区或挂载点信息。fdisk -l则会明确地列出这块磁盘,并提示“Disk /dev/sdc: … doesn’t contain a valid partition table”,这正是新硬盘的典型特征。

问题2:为什么有时dfdu命令统计的已用空间不一致?

解答: 这是一个常见现象,主要由以下几个原因造成:

  1. 文件被删除但进程仍在使用:如果一个文件被删除(使用rm命令),但仍有运行的进程持有该文件的句柄,那么文件的数据不会被立即从磁盘上释放。du命令是基于目录遍历统计的,它不会计算这个已删除的文件,而df命令是基于文件系统超级块统计的,它仍然会将这部分空间算作“已用”。
  2. 文件系统保留空间:ext4等文件系统默认会为root用户保留一部分空间(通常是5%),以防止系统盘被普通用户文件填满导致系统崩溃。df的总容量是包含了这部分保留空间的,而du则不计算它。
  3. 挂载点覆盖:如果一个目录被用作挂载点(例如/mnt),那么在该挂载操作之前,/mnt目录本身占用的空间会被du统计,但挂载新设备后,df显示的是新设备的空间,而旧目录的空间被“遮盖”了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 05:14
下一篇 2025-10-07 05:17

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信