CentOS如何查看硬盘的详细信息,包括大小、型号和挂载点?

在CentOS系统中,有效地管理和监控硬盘是确保系统稳定运行和高效利用资源的关键任务,无论是系统管理员还是普通用户,都需要掌握一系列命令来查看磁盘信息,包括磁盘布局、分区情况、空间使用状况以及磁盘健康状态,本文将详细介绍几种在CentOS中查看硬盘信息的核心工具,并通过实例说明它们的使用方法和适用场景。

CentOS如何查看硬盘的详细信息,包括大小、型号和挂载点?

快速概览:lsblk 与 df

对于日常的快速检查,lsblkdf 是最常用且最直观的两个命令,它们能迅速提供磁盘和文件系统的基本信息。

lsblk:列出块设备

lsblk(List Block Devices)命令以树状结构清晰地展示系统中的所有块设备,包括硬盘、分区、逻辑卷等,它默认不会显示RAM盘等空设备。

基本用法:

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   200G  0 lvm  /
  └─cl-swap 253:1    0     8G  0 lvm  [SWAP]
sdb           8:16   0 465.8G  0 disk /data
  • NAME: 设备名称。
  • MAJ:MIN: 主设备号和次设备号。
  • RM: 是否为可移动设备(0为否,1为是)。
  • SIZE: 设备容量。
  • RO: 是否为只读(0为否,1为是)。
  • TYPE: 设备类型(disk为磁盘,part为分区,lvm为逻辑卷)。
  • MOUNTPOINT: 挂载点。

从上例可以直观地看到,系统有两块物理磁盘(sdasdb)。sda被分成了两个分区,其中一个分区被用作LVM(逻辑卷管理),并划分了根分区()和交换分区(swap)。sdb则直接作为一个分区挂载到了/data目录。

df:报告文件系统磁盘空间使用量

df(Disk Free)命令用于显示文件系统的总容量、已用空间、可用空间及使用百分比,通常与-h(human-readable)参数结合使用,以便以KB、MB、GB等易读的单位显示。

基本用法:

df -h

输出示例及解读:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root  200G  5.0G  195G   3% /
devtmpfs             3.9G     0  3.9G   0% /dev
tmpfs                3.9G     0  3.9G   0% /dev/shm
tmpfs                3.9G  8.6M  3.9G   1% /run
tmpfs                3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1            512M  6.1M  506M   2% /boot/efi
/dev/sdb             462G   73M  439G   1% /data
  • Filesystem: 文件系统对应的设备路径。
  • Size: 总容量。
  • Used: 已使用空间。
  • Avail: 可用空间。
  • Use%: 使用百分比。
  • Mounted on: 挂载点。

df命令的视角是文件系统层面的,它关心的是“某个挂载点还剩多少空间”,这对于监控磁盘是否快满至关重要。

深度分区信息:fdisk 与 parted

当需要对磁盘进行分区操作或查看更底层的分区信息时,fdiskparted是更专业的工具。

fdisk:磁盘分区表操作器

fdisk是一个传统的、功能强大的磁盘分区工具,使用-l参数可以列出所有磁盘的分区表信息,而不会进入交互模式。

CentOS如何查看硬盘的详细信息,包括大小、型号和挂载点?

基本用法:

sudo fdisk -l

输出片段示例:

Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
...
Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048   1050623   1048576   512M ef EFI System
/dev/sda2      1050624 500117503 499066880 238.1G 8e Linux LVM

fdisk -l的输出非常详细,包含了磁盘的几何信息(扇区、磁头、柱面)以及每个分区的起始和结束扇区、分区ID(如8e代表Linux LVM)等,这对于诊断分区问题和进行手动分区都非常有用。

parted:更强的分区工具

parted支持GPT和MBR两种分区表格式,功能比fdisk更现代,尤其擅长处理大容量磁盘,同样,-l参数用于列出磁盘分区信息。

基本用法:

sudo parted -l

输出片段示例:

Model: ATA VENDOR SSD (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   256GB   255GB                                lvm

parted的输出格式简洁明了,并直接指明了分区表类型(gpt),这在现代系统中非常普遍。

深入目录空间分析:du

df查看的是整个文件系统的使用情况,如果我们想知道是哪个具体的目录或文件占用了大量空间,就需要使用du(Disk Usage)命令。

基本用法:

  • du -h /path/to/directory:查看指定目录下各子目录的大小,以易读格式显示。
  • du -sh /path/to/directory-s(–summarize)选项只显示该目录的总大小,而不列出子目录。

示例:

du -sh /var/log
2G    /var/log

这个命令能快速定位到大文件或大目录,是进行磁盘空间清理时的得力助手。

CentOS如何查看硬盘的详细信息,包括大小、型号和挂载点?

磁盘健康状态监测:smartctl

除了空间信息,磁盘的物理健康状况同样重要。smartctlsmartmontools软件包的一部分,用于读取和解读硬盘的S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)信息。

需要安装该工具:

sudo yum install smartmontools

查看硬盘的全面健康报告(以/dev/sda为例):

sudo smartctl -a /dev/sda

输出结果包含了详细的身份信息、S.M.A.R.T.属性(如通电时间、坏块数量、重新映射扇区计数等),通过分析这些数据可以预测硬盘潜在的故障风险。

为了更清晰地选择合适的工具,下表小编总结了上述命令的核心功能:

命令 主要用途 优点 缺点
lsblk 快速查看块设备树状结构 直观,信息精炼,显示挂载点 信息相对简单,不包含空间使用量
df -h 查看已挂载文件系统的空间使用情况 快速了解各分区剩余空间,便于监控 无法查看未挂载分区,不显示目录层级
fdisk -l 查看详细的磁盘分区表信息 信息非常底层,包含分区类型和ID 输出信息对新手不太友好
parted -l 查看分区表及分区信息,支持GPT 格式清晰,能识别现代分区表 功能与fdisk有重叠,但更现代
du -sh 分析特定目录或文件的磁盘占用 精确定位大文件/目录,便于清理 扫描大目录时耗时较长
smartctl -a 检查硬盘的S.M.A.R.T.健康状态 提供硬件层面的健康预警,预防数据丢失 需要额外安装,输出信息专业性强

相关问答FAQs

Q1: dfdu 命令显示的已用空间不一致,为什么?

A: 这是一个常见问题,通常由以下几个原因造成:

  1. 文件被删除但进程仍在使用: 如果一个文件被rm命令删除,但仍有正在运行的进程持有该文件的句柄,那么df会认为该空间仍在使用,而du扫描文件系统时找不到这个文件,因此不会计算其大小,解决方法是重启相关服务或系统。
  2. 文件系统保留空间: ext4等文件系统默认会为root用户保留一部分空间(通常为5%),以防系统满盘时无法登录。df计算的总空间和可用空间会考虑这部分,而du扫描的是实际文件占用。
  3. 挂载点下的目录: 如果在一个非空的目录上挂载了新的文件系统,du扫描该目录时会看到新文件系统下的内容,而df会分别报告原文件系统和新文件系统的空间,这会导致在根目录下用du计算总和与df的根分区使用量不符。

Q2: 我在服务器上插入了一块新硬盘,但为什么使用lsblk能看到设备,而df却看不到?

A: 因为一块新硬盘在被系统使用之前,需要经过三个主要步骤:

  1. 分区: 硬盘需要被划分为一个或多个分区,新硬盘通常是“裸盘”,没有分区表或分区,你可以使用fdiskparted等工具来创建分区。sudo fdisk /dev/sdb
  2. 格式化: 创建分区后,你需要为分区指定一个文件系统(如ext4, xfs),这个过程称为格式化。sudo mkfs.ext4 /dev/sdb1,未经格式化的分区无法存储数据。
  3. 挂载: 格式化后的分区需要被关联到系统的一个目录(挂载点)才能访问。sudo mount /dev/sdb1 /mnt/newdiskdf命令只会显示已经挂载的文件系统。

lsblk能够检测到物理设备的存在,而df关心的是文件系统的可用空间,只有当你完成了上述所有步骤后,df才会显示这块新硬盘分区的信息。

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

(0)
热舞的头像热舞
上一篇 2025-10-09 10:52
下一篇 2025-10-09 10:56

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信