在Linux服务器上,查看物理硬盘是了解系统资源和性能状况的关键步骤,本指南将指导您如何使用Linux命令行工具来检查和管理物理硬盘信息。您需要使用df命令来查看当前挂载的磁盘分区情况,该命令会显示文件系统的总空间、已用空间以及剩余空间。``shell,sudo df -h,`,您可以使用lsblk命令来列出所有已识别的磁盘设备及其相关信息,这有助于识别系统中的硬盘驱动器。`shell,sudo lsblk -f,`,如果您想查看特定硬盘的状态,可以使用smartctl命令,要查看第一个硬盘的状态,可以执行:`shell,sudo smartctl -a /dev/sda1,`,还可以使用smartctl命令获取硬盘的健康状态报告,要获取第一个硬盘的健康状态报告,可以执行:`shell,sudo smartctl -a /dev/sda1 > /path/to/report.txt,`,如果您需要调整硬盘的挂载选项或管理其大小,可以使用fdisk、parted或resize2fs`等工具,这些工具提供了更详细的磁盘管理功能。
目录导读:
我要强调的是,在开始之前,请确保你已经对Linux操作系统和命令行工具有足够的了解,如果你对这些概念还不是很熟悉,那么接下来的步骤可能会让你感到有些困惑,但是别担心,我会尽量用简单易懂的语言来解释这个过程。
让我们来谈谈如何查看Linux服务器上的物理硬盘信息,这个过程可以分为几个简单的步骤,包括使用df命令、hdparm命令以及lsblk命令,这些命令都是Linux系统管理员和系统工程师常用的工具,它们可以帮助我们快速地查看和管理服务器上的硬盘信息。

让我们来看一下如何使用df命令查看硬盘空间使用情况。df是Disk Usage的缩写,它用于显示文件系统的空间使用情况,在终端中输入以下命令:
df -h
这个命令会以人类可读的格式(如G、M等)显示当前磁盘的使用情况,如果服务器上有两个硬盘,一个100GB,另一个200GB,那么输出可能会是这样的:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 85G 15G 85% /
tmpfs 3.9G 0 3.9G 0% /run
udev 100M 0 100M 0% /dev
tmpfs 3.9G 0 3.9G 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /run/shm
/dev/sdb1 200G 170G 24G 86% /home
在这个例子中,我们可以看到两个硬盘的详细信息,包括它们的容量、已使用空间、剩余空间以及挂载点。
我们来看一下如何使用hdparm命令查看硬盘的详细信息。hdparm是Hard Disk Parameter的缩写,它是一个强大的工具,可以用来检查和分析硬盘的状态,在终端中输入以下命令:
sudo hdparm -I /dev/sda1 | grep 'block size'
这个命令会显示硬盘的块大小信息,如果硬盘的块大小是512字节,那么输出可能会是这样的:
block size: 512 bytes
这就是我们如何在Linux服务器上查看物理硬盘的详细信息,通过使用这些命令,我们可以快速地获取硬盘的容量、已使用空间、剩余空间以及挂载点等信息,这对于管理和维护服务器上的硬盘非常重要。
我想强调的是,虽然这些命令可以帮助我们查看硬盘信息,但它们并不能解决所有问题,如果你遇到任何关于硬盘的问题,比如数据丢失或者硬盘故障,那么你应该考虑寻求专业的帮助,定期备份硬盘数据也是非常重要的,这样可以防止数据丢失或者损坏。
扩展知识阅读
大家好,今天我们要聊一个在 Linux 服务器管理中非常实用的话题——如何查看物理硬盘,无论你是系统管理员、运维工程师,还是对 Linux 服务器硬件感兴趣的爱好者,掌握这些技能都能让你在日常工作中事半功倍,硬盘作为服务器的核心存储设备,其状态直接关系到数据的完整性和服务器的稳定性,今天我们就来详细聊聊如何在 Linux 系统中查看物理硬盘的相关信息。
为什么需要查看物理硬盘?
在服务器管理中,硬盘的状态是至关重要的,无论是例行检查,还是故障排查,了解硬盘的型号、容量、健康状态、连接方式等信息,都能帮助你更好地进行系统维护和故障排除。

- 硬盘故障预警:通过监控硬盘的健康状态,提前发现潜在问题,避免数据丢失。
- 容量规划:了解服务器上安装了哪些硬盘,总容量是多少,是否需要扩容。
- 硬件兼容性:在更换或升级硬盘时,确认新硬盘是否与系统兼容。
- RAID 配置:查看 RAID 控制器或软件 RAID 中的物理硬盘信息。
基础命令:查看硬盘的基本信息
Linux 提供了多种命令来查看硬盘信息,下面我们从最基础的开始介绍。
fdisk
fdisk 是一个经典的分区工具,但它也可以用来查看硬盘信息。
sudo fdisk -l
示例输出:
Disk /dev/sda: 1000 GiB, 1073741824000 bytes, 10737418240 sectors
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 1073741839 1072741216 500G Linux filesystem
说明:
fdisk -l列出了所有物理硬盘(如/dev/sda)及其分区。- 每个硬盘的容量、分区表类型等信息一目了然。
lsblk
lsblk 是一个更现代、更简洁的工具,可以显示块设备(包括硬盘、分区、磁盘阵列等)的信息。
lsblk
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1000G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 999G 0 part /
sdb 8:16 0 500G 0 disk
└─sdb1 8:17 0 500G 0 part /data
说明:
lsblk以树状结构显示硬盘及其分区。- 支持颜色高亮显示,方便区分不同设备。
/dev/sdX 设备命名规则
在 Linux 中,物理硬盘通常以 /dev/sdX 的形式命名,
sd表示 SCSI 硬盘(现在也用于 SATA 和 SAS 硬盘)。X是字母,表示硬盘的顺序(如a,b,c等)。
如果系统中有多个硬盘,它们会被依次命名为 /dev/sda、/dev/sdb 等。
进阶工具:更详细的硬盘信息
除了基础命令,还有一些更强大的工具可以提供更详细的硬盘信息。

lsblk -o MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINT
你可以通过 lsblk 的 -o 选项自定义输出列,
lsblk -o MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINT
示例输出:
MODEL SIZE TYPE FSTYPE MOUNTPOINT
CT2000NX500SSD 500G disk ext4 /data
VMware_Virtual 1000G disk ext4 /
说明:
MODEL列显示硬盘的型号。TYPE列显示设备类型(如 disk、part)。FSTYPE和MOUNTPOINT显示文件系统类型和挂载点。
lshw
lshw(List Hardware)是一个非常强大的工具,可以显示系统的硬件配置。
sudo lshw -short -C disk
示例输出:
H/W path Device Class Description
==================================================
/00:00.0 Host bridge Intel Xeon ...
/00:03.0 Bridge Intel Xeon ...
/01:00.0 Disk Samsung SSD 860 EVO 1TB
/01:00.1 Disk VMware Virtual disk
说明:
lshw -C disk专门列出所有与磁盘相关的硬件。- 输出包括厂商、型号、驱动程序等详细信息。
hdparm
hdparm 是一个用于查询和调整硬盘参数的工具,可以测试硬盘的读写速度。
sudo hdparm -t /dev/sda
示例输出:
/dev/sda:
Timing cached reads: 1000 MB in 3.00 seconds = 333.33 MB/s
Timing buffered disk reads: 1000 MB in 30.00 seconds = 33.33 MB/s
说明:
-t选项用于测试缓存读取速度。-r选项可以测试直接内存访问(DMA)速度。
如何查看 RAID 控制器中的物理硬盘?
如果你的服务器使用了硬件 RAID 控制器(如 Dell PERC、HP Smart Array 等),那么硬盘信息可能不会直接显示在 /dev/sdX 中,而是通过 RAID 控制器的管理工具来查看。

MegaCLI(适用于 LSI/Ember RAID 控制器)
sudo MegaCli64 -PDList -aAll
示例输出:
Physical Drive: 0
Slot Number: 0
Enclosure Number: 0
Drive Number: 0
WWN: 5000C5002304XXXX
Serial Number: 123456789
Firmware Version: PV2
Size: 1000 GB
State: OK
HP Smart Storage Administrator(适用于 HP 服务器)
HP 提供了一个图形化工具 hpacucli,可以查看控制器和物理硬盘的信息:
sudo hpacucli ctrl all show config
案例:突然断电导致硬盘无法识别
问题描述: 某天,一台运行在生产环境的 Linux 服务器突然断电,重启后系统无法识别其中一块硬盘,导致数据无法访问。
排查步骤:
- 使用
lsblk和fdisk -l检查硬盘是否被系统识别。 - 查看系统日志:
dmesg | grep -i sdb
发现硬盘
/dev/sdb在启动时报错,提示可能有坏块。 - 使用
smartctl检查硬盘健康状态:sudo smartctl -a /dev/sdb
发现硬盘的
Reallocated_Sector_Ct值为 10,表示有 10 个坏块被重新分配。 - 更换硬盘并进行数据恢复。
常见问题解答(FAQ)
Q1:如何区分物理硬盘和逻辑卷?
- 物理硬盘是
/dev/sdX,逻辑卷是/dev/mapper/...或/dev/VG/LV,使用lsblk可以清晰区分。
Q2:如何查看硬盘的 SN(序列号)?
- 使用
lshw或hdparm:sudo hdparm -i /dev/sda | grep 'Serial Number'
Q3:如何查看虚拟机中的物理硬盘?
- 在 VMware 或 KVM 虚拟机中,物理硬盘通常以
/dev/disk/目录下的文件命名,/dev/disk/virtio/host0.
Linux 服务器中的硬盘管理是系统维护的重要一环,通过掌握 fdisk、lsblk、lshw、hdparm 等工具,你可以轻松查看物理硬盘的型号、容量、健康状态等信息,对于使用 RAID 控制器的服务器,还需要借助专门的管理工具来获取更详细的硬盘信息。
希望这篇文章能帮助你更好地管理 Linux 服务器的硬盘资源!如果你有任何问题或建议,欢迎在评论区留言讨论哦!
附:硬盘信息汇总表
| 工具 | 功能 | 优点 | 缺点 |
|---|---|---|---|
fdisk |
查看硬盘和分区 | 基础、通用 | 输出不够详细 |
lsblk |
显示块设备树 | 简洁、支持颜色 | 不显示详细硬件信息 |
lshw |
列出所有硬件 | 详细、全面 | 输出较多,需筛选 |
hdparm |
测试硬盘性能 | 支持多种测试 | 需要 root 权限 |
smartctl |
监控硬盘健康 | 支持 S.M.A.R.T. 监控 | 需安装 smartmontools |
MegaCLI |
查看 RAID 硬盘 | 适用于 LSI 控制器 | 仅支持特定品牌 |
hpacucli |
查看 HP 服务器硬盘 | 与 HP 工具集成 | 仅适用于 HP 服务器 |
你有什么问题想问吗?欢迎在评论区留言,我会一一解答!
相关的知识点:
物理服务器哪家公司好 选购物理服务器的指南,哪家公司是你的理想选择?

