centos怎么查看磁盘是机械还是固态

在 CentOS 系统中,判断磁盘是机械硬盘(HDD)还是固态硬盘(SSD)可以通过以下多种方法实现,以下是具体操作步骤及原理说明:


一、通过 /sys文件系统(推荐)

1. 查看 rotational文件

每个磁盘设备在 /sys/block/目录下对应一个子目录(如 sdanvme0n1),其 queue/rotational文件的值直接表明磁盘类型:

复制代码
bash 复制代码
cat /sys/block/sda/queue/rotational
  • ​**输出 0**​:表示 SSD(固态硬盘)

  • ​**输出 1**​:表示 HDD(机械硬盘)

批量查看所有磁盘​:

bash 复制代码
grep -r ^0 /sys/block/*/queue/rotational  # 列出所有 SSD
grep -r ^1 /sys/block/*/queue/rotational  # 列出所有 HDD

二、使用 lsblk命令

lsblk命令可显示磁盘属性,结合 -d -o rota参数直接查看旋转状态:

bash 复制代码
lsblk -d -o NAME,ROTA
  • ​**ROTA=0**​:SSD

  • ​**ROTA=1**​:HDD

示例输出​:

复制代码
bash 复制代码
NAME   ROTA
sda     0
nvme0n1 0
sdb     1

三、通过 smartctl工具(需安装)

smartctl是 SMART(自我监测与分析技术)工具,可读取硬盘详细信息:

  1. 安装工具​:

    bash 复制代码
    sudo yum install smartmontools  # CentOS 7/8
  2. 查看旋转速率​:

    复制代码
    bash 复制代码
    sudo smartctl -i /dev/sda | grep "Rotation Rate"
    • SSD ​ 输出:Solid State Device

    • HDD ​ 输出:XXX RPM(如 7200 RPM


四、使用 hdparm命令

hdparm可查询硬盘参数,通过 Nominal Media Rotation Rate判断:

复制代码
bash 复制代码
sudo hdparm -I /dev/sda | grep "Nominal Media Rotation Rate"
  • SSD ​ 输出:Solid State Device

  • HDD ​ 输出:XXX RPM(如 5400 RPM


五、通过 lshw命令(需安装)

lshw可列出硬件信息,包含磁盘类型描述:

  1. 安装工具​:

    bash 复制代码
    sudo yum install lshw
  2. 查看磁盘信息​:

    复制代码
    bash 复制代码
    sudo lshw -class disk | grep -A 5 "description"
    • SSD ​ 描述通常包含 SSDSolid State

    • HDD ​ 描述通常包含 HDDMechanical


六、其他方法

1. 查看 /proc/partitions

通过分区表间接判断(需结合其他命令):

复制代码
bash 复制代码
cat /proc/partitions
2. 使用 fdisk查看型号
复制代码
bash 复制代码
sudo fdisk -l /dev/sda | grep "Disk model"
  • SSD ​ 型号可能包含 SSDNVMe等关键词

  • HDD ​ 型号通常包含 ST(希捷)、WD(西数)等厂商标识


总结与建议

方法 优点 缺点 适用场景
/sys/block/rotational 无需安装工具,直接读取 需已知设备名称(如 sda 快速检查单个磁盘
lsblk -d -o ROTA 一行命令显示所有磁盘信息 依赖 util-linux 批量查看多磁盘
smartctl 信息全面(含健康状态) 需安装工具 详细诊断硬盘状态
hdparm 支持更多参数查询 需安装工具 高级用户调试

推荐优先使用 lsblk/sys方法 ,简单高效。若需进一步确认硬盘健康状态,可结合 smartctl进行分析。

相关推荐
tntxia12 小时前
linux curl命令详解_curl详解
linux
扛枪的书生14 小时前
Linux 网络管理器用法速查
linux
SkyWalking中文站16 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸17 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ19 小时前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森1 天前
NumPy 数值计算基础入门
运维
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux