在 Linux CentOS 系统管理中,查看硬盘信息是一项基础且至关重要的技能,无论是为了监控系统健康状况、规划存储空间,还是进行分区和挂载操作,系统管理员都需要掌握多种命令来获取不同层面的硬盘信息,本文将系统性地介绍在 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: 设备名称,如
sda
、sdb
代表第一块和第二块 SCSI/SATA 硬盘,nvme0n1
代表 NVMe 硬盘。sda1
、sdb1
则是它们各自的分区。 - 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
输出信息解读:
- 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
命令
lsblk
、fdisk
和 parted
关注的是物理磁盘和分区的结构,而 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: 文件系统类型,如
xfs
、ext4
、vfat
。 - Size: 分区总大小。
- Used: 已使用空间。
- Avail: 可用空间。
- Use%: 使用百分比。
- Mounted on: 挂载点。
df
命令是监控磁盘空间、避免因空间耗尽导致服务中断的首选工具。
命令对比小编总结
为了方便快速选择合适的工具,下表小编总结了上述命令的主要用途和特点。
命令 | 主要用途 | 关键特性 |
---|---|---|
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 smartmontools
或 sudo dnf install smartmontools
,安装后,使用以下命令查看指定硬盘(/dev/sda
)的全面健康报告:
sudo smartctl -a /dev/sda
该命令会输出大量信息,包括硬盘型号、序列号、固件版本、总通电时间以及各项 SMART 属性的当前值、最差值和阈值,通过分析这些数据,可以判断硬盘是否存在潜在故障风险,如果只想快速判断健康状态,可以使用 smartctl -H /dev/sda
,它会给出一个简单的 “PASSED” 或 “FAILED”
问题2:我在服务器上插入了一块新硬盘,但是用 lsblk
看不到,怎么办?
解答: 新硬盘未能被系统识别,可能由多种原因导致,可以按以下步骤排查:
- 物理连接检查:首先确认硬盘的电源线和数据线(SATA/SAS/NVMe)都已插紧,硬盘本身供电正常,如果是热插拔硬盘,确保已完全插入插槽。
- 查看内核消息:插入硬盘后,系统内核通常会记录相关事件,使用
dmesg | tail -20
查看最新的内核日志,看是否有关于新 SCSI 设备(通常显示为[sdx]
)或 ATA 设备的检测信息,如果没有任何新设备信息,说明物理层面可能存在问题。 - 扫描 SCSI 总线:在某些情况下,特别是对于非热插拔控制器连接的硬盘,可能需要手动触发总线扫描,这操作有风险,需谨慎,可以尝试以下命令(将
host 0
替换为您的 SCSI 控制器编号,可通过lsscsi
查看):echo "- - -" > /sys/class/scsi_host/host0/scan
- 确认设备节点:执行扫描后,再次使用
lsblk
或ls /dev/sd*
检查新设备是否出现,如果以上步骤均无效,建议检查服务器 BIOS/UEFI 设置中是否能看到该硬盘,或考虑更换硬盘/数据线进行测试。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复