服务器测评网
我们一直在努力

Linux如何查看硬盘信息,Linux查看硬盘命令有哪些?

在Linux系统中,对硬盘的检查与管理是保障服务器稳定性和数据安全的核心运维技能,要全面掌握Linux查硬盘的方法,核心在于建立一套多维度的检测体系:首先利用基础命令快速识别设备与挂载情况,其次通过文件系统工具分析空间占用与Inode使用率,进而使用SMART工具深度检测物理健康状态,最后在必要时通过fsck进行文件系统修复。 这一流程涵盖了从逻辑层到物理层的完整诊断,能够有效应对硬盘性能下降、空间不足及硬件故障等常见问题。

Linux如何查看硬盘信息,Linux查看硬盘命令有哪些?

硬盘设备识别与基础信息查看

在进行任何深度检查之前,首要任务是准确识别系统当前挂载的硬盘设备及其分区情况,Linux下一切皆文件,硬盘通常以/dev/sd*/dev/nvme*n*的形式存在。

lsblk 是最推荐的查看工具,它能以树状图形式清晰地展示硬盘与分区之间的逻辑关系。
使用命令 lsblk -f 可以同时查看文件系统类型、UUID以及挂载点,这对于快速定位哪个分区对应哪个目录至关重要,如果需要更详细的扇区或型号信息,可以结合 fdisk -l 使用,该命令能列出磁盘的详细分区表,包括起始扇区和结束扇区,适合需要底层排错的场景。

blkid 命令也是查看块设备属性(包括文件系统类型和UUID)的高效工具,特别是在编写/etc/fstab自动挂载配置时,通过UUID定位设备比通过设备名(如/dev/sda1)更加可靠,因为设备名可能会在重启后发生变化。

磁盘空间与Inode使用情况分析

当系统报警提示“磁盘空间不足”时,运维人员需要区分是Block空间耗尽还是Inode节点耗尽,这两者是Linux文件系统管理的两个核心维度。

查看Block空间使用情况的标准命令是 df -hT-h参数以人类可读的格式(如GB、MB)显示,-T参数则打印出文件系统类型(ext4、xfs等),重点关注“Use%”列,如果超过90%,系统性能将显著下降,且可能导致服务无法写入日志。

df -h显示仍有剩余空间,但系统依然报错,则极有可能是Inode耗尽,此时应使用 df -i 命令检查,Inode用于存储文件元数据,每个文件或目录都必须占用一个Inode,在大量小文件(如邮件队列、缓存目录)的场景下,Inode往往比Block先耗尽,解决Inode不足通常需要重新规划文件系统或调整块大小,这属于更深层的架构优化。

Linux如何查看硬盘信息,Linux查看硬盘命令有哪些?

针对具体目录的空间占用分析,**du -sh –max-depth=1 /*** 命令是排查“空间去哪了”的神器,它能递归统计根目录下各一级文件夹的大小,迅速定位占用空间最大的异常目录,结合 sort 命令排序,可以更直观地展示结果。

物理硬盘健康状态深度检测(SMART)

逻辑层面的检查无法发现硬盘物理坏道或机械故障,SMART(Self-Monitoring, Analysis and Reporting Technology)技术是判断硬盘寿命和健康状态的权威标准,这需要安装 smartmontools 工具包。

首先使用 smartctl -i /dev/sda 查看硬盘基本信息,随后,执行 smartctl -H /dev/sda 进行健康状态自检,如果输出结果为 “PASSED”,则表明硬盘目前健康;若为 “FAILED”,则意味着硬盘即将发生故障,必须立即进行数据迁移。

为了获取更详细的属性,应使用 smartctl -A /dev/sda,这里需要重点关注几个关键指标:

  1. 5 (Reallocated_Sector_Ct):重映射扇区计数,如果有非零值,说明硬盘已出现坏道并尝试屏蔽,数值增长越快,风险越大。
  2. 187 (Reported_Uncorrect):无法校正的错误,此值大于0通常意味着数据已丢失。
  3. 197 (Current_Pending_Sector):当前待映射扇区,这是潜在的坏道,下次写入时可能会触发重映射。

对于机械硬盘,建议定期执行长测试:smartctl -t long /dev/sda,该过程会全面扫描盘片表面,耗时较长但能发现潜在隐患,测试完成后,使用 smartctl -l selftest /dev/sda 查看结果。

文件系统修复与逻辑错误处理

当系统出现异常重启、文件只读或数据丢失时,往往是文件系统元数据损坏,此时需要使用 fsck(File System Consistency Check)工具。

Linux如何查看硬盘信息,Linux查看硬盘命令有哪些?

重要警告:fsck命令必须在分区处于“未挂载”状态下执行,否则会对运行中的文件系统造成不可逆的数据破坏。

对于无法卸载的根分区,通常需要进入单用户模式或使用Live CD启动系统进行修复,基本修复命令为 fsck -a /dev/sdb1-a参数表示自动修复文件系统,如果自动修复失败,可以尝试使用 -y 参数对所有询问都回答“Yes”,对于XFS文件系统,由于其设计机制不同,通常使用 xfs_repair 命令,且必须先使用 xfs_metadumpxfs_restore 尽可能备份元数据,以防修复失败导致数据彻底丢失。

磁盘I/O性能监控

除了健康和空间,磁盘的读写性能(IOPS和吞吐量)直接影响业务体验。iostat 是最常用的性能监控工具。
使用 iostat -x 1 命令可以每秒刷新一次磁盘的详细I/O统计,重点观察 %util(设备利用率)和 await(平均I/O等待时间)。

  • %util 接近100%时,说明硬盘已满载。
  • await 值过高(如超过几十毫秒),说明硬盘响应缓慢,可能存在硬件瓶颈或I/O争用。
    结合 iotop 命令,可以进一步定位是哪个进程在疯狂读写硬盘,从而进行针对性的优化或限制。

相关问答

Q1:为什么执行 rm -rf 删除大文件后,使用 df -h 查看磁盘空间没有减少?
A: 这种情况通常是因为被删除的文件仍被某个进程占用,在Linux中,只要文件句柄被打开,即使删除了文件名,磁盘空间也不会立即释放,解决方法是使用 lsof | grep deleted 命令查找持有该文件句柄的进程,然后重启该服务或直接kill掉进程,空间即可释放。

Q2:SMART检测显示有“Pre-fail”属性,是否意味着硬盘马上会坏?
A: “Pre-fail”表示该属性是硬盘寿命的临界指标,一旦超过阈值即视为失败,但这并不意味着硬盘会在几秒钟内损坏,如果看到Pre-fail警告,应立即将硬盘上的数据备份到其他介质,并尽快更换硬盘,不要试图继续在故障硬盘上运行生产业务,因为二次故障可能导致数据永久丢失。

赞(0)
未经允许不得转载:好主机测评网 » Linux如何查看硬盘信息,Linux查看硬盘命令有哪些?