Linux CentOS怎么查看硬盘空间和分区信息?

在 Linux CentOS 系统管理中,查看硬盘信息是一项基础且至关重要的技能,无论是为了监控系统健康状况、规划存储空间,还是进行分区和挂载操作,系统管理员都需要掌握多种命令来获取不同层面的硬盘信息,本文将系统性地介绍在 CentOS 环境下查看硬盘的常用命令,从基础的设备列表到详细的分区信息,再到文件系统的使用情况,帮助您全面了解服务器的存储状态。

Linux CentOS怎么查看硬盘空间和分区信息?

快速概览:lsblk 命令

lsblk(List Block Devices)是现代 Linux 系统中查看块设备信息最直观、最常用的命令之一,它以树状结构清晰地展示磁盘、分区及其挂载点,非常适合快速了解系统存储布局。

在终端中直接输入 lsblk 即可:

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 238.5G  0 disk 
├─sda1        8:1    0   500M  0 part /boot/efi
└─sda2        8:2    0   238G  0 part /
sdb           8:16   0   1.8T  0 disk 
└─sdb1        8:17   0   1.8T  0 part /data

输出信息解读:

  • NAME: 设备名称,如 sdasdb 代表第一块和第二块 SCSI/SATA 硬盘,nvme0n1 代表 NVMe 硬盘。sda1sdb1 则是它们各自的分区。
  • MAJ:MIN: 主次设备号,用于内核识别设备。
  • RM: 是否为可移动设备,0 表示不可移动,1 表示可移动。
  • SIZE: 设备或分区的容量。
  • RO: 是否为只读,0 表示可读写。
  • TYPE: 设备类型,disk 表示整个磁盘,part 表示分区。
  • MOUNTPOINT: 挂载点,即分区在文件系统中的位置,如果为空,表示该分区尚未挂载。

为了获取更多信息,如文件系统类型和 UUID,可以使用 -f 选项:

$ lsblk -f
NAME        FSTYPE   LABEL      UUID                                 MOUNTPOINT
sda                                                
├─sda1      vfat                E4B2-8B9C                            /boot/efi
└─sda2      xfs                 a1b2c3d4-e5f6-7890-1234-567890abcdef /
sdb                                                
└─sdb1      xfs                 f9e8d7c6-b5a4-3210-fedc-ba0987654321 /data

这里新增的 FSTYPE(文件系统类型)和 UUID(通用唯一标识符)在 /etc/fstab 配置自动挂载时非常有用。

经典分区工具:fdisk 命令

fdisk 是一个功能强大的交互式分区表操作工具,但通过 -l 选项,它也能出色地完成查看磁盘分区信息的任务。fdisk 主要用于 MBR(主引导记录)分区表,但对 GPT(GUID 分区表)也有一定的支持。

执行 sudo fdisk -l 会列出系统中所有磁盘的详细分区信息:

$ sudo fdisk -l
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
...
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    1026047   1024000   500M  7 HPFS/NTFS/exFAT
/dev/sda2         1026048  500117503 499091456 238.0G 8e Linux LVM
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

输出信息解读:

Linux CentOS怎么查看硬盘空间和分区信息?

  • Disk /dev/…: 磁盘的总体信息,包括总容量、字节数和扇区数。
  • Device: 分区设备名。
  • Boot: 引导标志, 表示该分区是活动引导分区。
  • Start/End: 分区的起始和结束扇区。
  • Sectors: 分区占用的总扇区数。
  • Size: 分区大小。
  • Id/Type: 分区的类型 ID 和描述,如 83 代表 Linux,8e 代表 Linux LVM。

fdisk 的输出非常详细,尤其适合需要了解分区在物理磁盘上精确布局的场景。

现代分区工具:parted 命令

对于大于 2TB 的磁盘或使用 GPT 分区表的场景,parted 是比 fdisk 更现代、更推荐的选择,它同样可以方便地列出磁盘信息。

使用 sudo parted -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  525MB  524MB  fat32              boot, esp
 2      525MB   256GB  255GB  xfs
Model: ATA ST2000DM008-2FR1 (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2000GB  2000GB  xfs

parted 的输出非常清晰,直接标明了 Partition Table(分区表类型,gpt 或 msdos)和每个分区的 File system,信息结构化程度高,易于阅读。

文件系统使用情况:df 命令

lsblkfdiskparted 关注的是物理磁盘和分区的结构,而 df(Disk Free)则关注文件系统的使用情况,即已用空间和可用空间。

最常用的组合是 df -hT

  • -h: human-readable,以 KB、MB、GB 等易读的单位显示。
  • -T: 显示文件系统类型。
$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs          tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs          tmpfs     3.9G  8.6M  3.9G   1% /run
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda2      xfs       238G  5.2G  233G   3% /
/dev/sda1      vfat      500M  6.1M  494M   2% /boot/efi
/dev/sdb1      xfs       1.8T   89M  1.8T   1% /data

输出信息解读:

  • Filesystem: 文件系统对应的设备分区。
  • Type: 文件系统类型,如 xfsext4vfat
  • Size: 分区总大小。
  • Used: 已使用空间。
  • Avail: 可用空间。
  • Use%: 使用百分比。
  • Mounted on: 挂载点。

df 命令是监控磁盘空间、避免因空间耗尽导致服务中断的首选工具。

Linux CentOS怎么查看硬盘空间和分区信息?

命令对比小编总结

为了方便快速选择合适的工具,下表小编总结了上述命令的主要用途和特点。

命令 主要用途 关键特性
lsblk 快速查看块设备树状结构 直观、简洁,适合概览,可显示挂载点和文件系统
fdisk -l 查看详细的磁盘分区表信息 经典工具,信息精确到扇区,适合MBR分区
parted -l 查看磁盘分区信息,特别是GPT和大容量磁盘 现代工具,支持GPT,输出结构化,清晰易读
df -hT 查看已挂载文件系统的空间使用情况 监控空间使用情况,是系统运维的必备命令

熟练掌握这些命令,并根据具体需求灵活运用,将使您在管理 CentOS 服务器存储时更加得心应手,从整体布局到细节分析,再到使用监控,这套工具链能够满足绝大多数场景下的硬盘信息查看需求。


相关问答 (FAQs)

问题1:如何查看硬盘的健康状态(SMART信息)?

解答: 要查看硬盘的 S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)信息,您需要使用 smartmontools 软件包中的 smartctl 命令,确保该工具已安装:sudo yum install smartmontoolssudo dnf install smartmontools,安装后,使用以下命令查看指定硬盘(/dev/sda)的全面健康报告:

sudo smartctl -a /dev/sda

该命令会输出大量信息,包括硬盘型号、序列号、固件版本、总通电时间以及各项 SMART 属性的当前值、最差值和阈值,通过分析这些数据,可以判断硬盘是否存在潜在故障风险,如果只想快速判断健康状态,可以使用 smartctl -H /dev/sda,它会给出一个简单的 “PASSED” 或 “FAILED”

问题2:我在服务器上插入了一块新硬盘,但是用 lsblk 看不到,怎么办?

解答: 新硬盘未能被系统识别,可能由多种原因导致,可以按以下步骤排查:

  1. 物理连接检查:首先确认硬盘的电源线和数据线(SATA/SAS/NVMe)都已插紧,硬盘本身供电正常,如果是热插拔硬盘,确保已完全插入插槽。
  2. 查看内核消息:插入硬盘后,系统内核通常会记录相关事件,使用 dmesg | tail -20 查看最新的内核日志,看是否有关于新 SCSI 设备(通常显示为 [sdx])或 ATA 设备的检测信息,如果没有任何新设备信息,说明物理层面可能存在问题。
  3. 扫描 SCSI 总线:在某些情况下,特别是对于非热插拔控制器连接的硬盘,可能需要手动触发总线扫描,这操作有风险,需谨慎,可以尝试以下命令(将 host 0 替换为您的 SCSI 控制器编号,可通过 lsscsi 查看):
    echo "- - -" > /sys/class/scsi_host/host0/scan
  4. 确认设备节点:执行扫描后,再次使用 lsblkls /dev/sd* 检查新设备是否出现,如果以上步骤均无效,建议检查服务器 BIOS/UEFI 设置中是否能看到该硬盘,或考虑更换硬盘/数据线进行测试。

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

(0)
热舞的头像热舞
上一篇 2025-10-08 00:33
下一篇 2025-10-08 00:38

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信