插件窝 干货文章 在Linux系统中,如何查看和诊断块设备信息?

在Linux系统中,如何查看和诊断块设备信息?

磁盘 bash 查看 sudo 164    来源:    2025-04-09

在Linux系统中,查看和诊断块设备信息是系统管理和故障排查的重要任务。以下是详细的命令和操作指南:


1. 列出所有块设备

lsblk (推荐)

lsblk      # 树形显示块设备(默认)
lsblk -f   # 显示文件系统类型和UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  # 自定义输出列
  • 作用:直观显示设备层级(如磁盘、分区、LVM等)及其挂载点。

fdisk

sudo fdisk -l    # 列出所有磁盘和分区表
  • 适用场景:查看磁盘分区表(MBR/GPT)和未挂载的设备。

blkid

sudo blkid       # 显示块设备的UUID和文件系统类型

2. 查看磁盘空间使用情况

df

df -h            # 以易读格式显示已挂载文件系统的空间使用
df -Th           # 额外显示文件系统类型

du

du -sh /path     # 统计目录占用空间
du -h --max-depth=1 /  # 查看根目录下各子目录大小

3. 诊断磁盘性能

iostat (来自sysstat包)

iostat -dx 1     # 监控磁盘I/O统计(每秒刷新)
  • 关键指标
    • %util:磁盘利用率(接近100%表示过载)。
    • await:I/O平均等待时间(毫秒)。

iotop (需安装)

sudo iotop -o    # 实时显示高I/O进程

4. 检查磁盘健康状态(SMART)

smartctl (需安装smartmontools)

sudo smartctl -a /dev/sda     # 查看磁盘SMART详细信息
sudo smartctl -t short /dev/sda  # 运行短期自检
  • 关键项Reallocated_Sector_Ct(重映射扇区数)、Temperature_Celsius

5. 其他实用工具

hdparm (测试磁盘速度)

sudo hdparm -Tt /dev/sda   # 测试缓存和磁盘读取速度

lshw (查看硬件详情)

sudo lshw -class disk      # 显示磁盘硬件信息

dmesg (查看内核日志)

dmesg | grep -i sda        # 过滤磁盘相关日志(如错误或插拔事件)

6. 高级诊断

  • LVM工具bash sudo pvs && sudo vgs && sudo lvs # 查看物理卷、卷组、逻辑卷
  • RAID状态bash cat /proc/mdstat # 查看软件RAID状态

常见问题排查步骤

  1. 磁盘空间不足df -h → 定位大文件(du)→ 清理或扩容。
  2. I/O性能瓶颈iostat/iotop → 优化高负载进程或升级硬件。
  3. 磁盘错误dmesg + smartctl → 备份数据并更换磁盘。

通过以上工具组合,可以全面掌握Linux系统中块设备的状态和性能。