Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例

文章目录

  • [Linux 物理机如何区分 SSD 与 HDD ------以 DELL PERC H730 Mini 为例](#Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例)
  • 常见方法(直通盘场景下有效)
    • [通过 rotational 标志](#通过 rotational 标志)
    • [通过 lsblk](#通过 lsblk)
    • [通过 smartctl](#通过 smartctl)
  • 为什么在企业级服务器上这些方法可能不准?
  • [正确方法:使用 PERC CLI 工具](#正确方法:使用 PERC CLI 工具)
  • 总结
  • [附 perccli包如何从官方下载](#附 perccli包如何从官方下载)
  • [🚀 安装 perccli 方法](#🚀 安装 perccli 方法)
    • [从 Dell 官方下载](#从 Dell 官方下载)
    • [使用 rpm 安装](#使用 rpm 安装)

Linux 物理机如何区分 SSD 与 HDD ------以 DELL PERC H730 Mini 为例

在 Linux 系统中,我们经常需要确认一块硬盘究竟是 固态硬盘 (SSD) 还是 机械硬盘 (HDD) ,以便做合理的存储规划和性能评估。

在直连硬盘的场景下,方法很简单,但在企业级服务器(例如 DELL 服务器配合 PERC RAID 控制器)上就容易遇到"看不准"的情况。本文结合 PERC H730 Mini 控制器,介绍几种常见方法。


常见方法(直通盘场景下有效)

在没有 RAID 控制器干预时,可以直接在 Linux 下查看硬盘类型。

通过 rotational 标志

bash 复制代码
cat /sys/block/sda/queue/rotational
  • 1 → 旋转磁盘(HDD)
  • 0 → 固态硬盘(SSD)

通过 lsblk

bash 复制代码
lsblk -d -o name,rota,model,size

示例输出:

复制代码
NAME ROTA MODEL               SIZE
sda     1 ST2000DM008-2FR1   1.8T  # HDD
sdb     0 Samsung SSD 860    500G  # SSD

通过 smartctl

bash 复制代码
smartctl -i /dev/sda | grep Rotation

输出:

  • Rotation Rate: 7200 rpm → HDD
  • Rotation Rate: Solid State Device → SSD

为什么在企业级服务器上这些方法可能不准?

DELL PERC H730 Mini 为例,它是基于 LSI MegaRAID 芯片的硬件 RAID 控制器。

当服务器通过 RAID 卡创建虚拟磁盘时,操作系统看到的并不是物理硬盘,而是 RAID 卡虚拟出来的逻辑卷。

因此:

  • /sys/block/*/queue/rotational 会统一显示为 1(即 HDD)
  • lsblksmartctl 获取的信息也可能不完整
  • 无法区分底层物理盘是 HDD 还是 SSD

正确方法:使用 PERC CLI 工具

安装 perccli

从 Dell 官方下载并安装 perccli RPM 包:

PERCCLI_7.2616.0_Linux.tar.gz

bash 复制代码
tar xf PERCCLI_7.2616.0_Linux.tar.gz
rpm -ivh perccli-*.rpm

工具路径一般在:

复制代码
/opt/MegaRAID/perccli/perccli64

查看控制器信息

bash 复制代码
/opt/MegaRAID/perccli/perccli64 show

输出会包含 RAID 控制器型号,例如:

复制代码
Model = PERC H730 Mini

查看物理磁盘信息

bash 复制代码
/opt/MegaRAID/perccli/perccli64 /c0 /eall /sall show

示例输出:

复制代码
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model
32:0      0 Onln   0 1.818 TB SAS  HDD N   N  512B MG04SCA20ENY
32:1      1 Onln   0 1.818 TB SAS  HDD N   N  512B MG04SCA20ENY
32:2      2 Onln   1 1.745 TB SATA SSD N   N  512B INTEL SSDSC2KB019TZ
32:3      3 Onln   1 1.745 TB SATA SSD N   N  512B INTEL SSDSC2KB019TZ
32:4      4 Onln   1 1.745 TB SATA SSD N   N  512B INTEL SSDSC2KB019TZ
32:5      5 Onln   1 1.745 TB SATA SSD N   N  512B INTEL SSDSC2KB019TZ

其中 Med 字段即为硬盘介质类型:

  • HDD → 机械硬盘
  • SSD → 固态硬盘

总结

  • 在普通直通硬盘的 Linux 系统上,可以用 rotationallsblksmartctl 来区分 SSD 和 HDD。
  • 在企业级服务器上,若使用 硬件 RAID 控制器(如 DELL PERC H730 Mini),这些方法可能失效。
  • 此时需要使用 Dell 官方工具 perccli 或进入 RAID BIOS (Ctrl+R),才能看到底层物理磁盘的真实类型。

这就是为什么在数据中心环境下,很多运维人员会误判硬盘类型的原因。


附 perccli包如何从官方下载


🚀 安装 perccli 方法

从 Dell 官方下载

通常下载到的是一个 RPM 包,例如:

复制代码
perccli-007.1613.0000.0000-1.noarch.rpm

使用 rpm 安装

假设你已经把 perccli 的 rpm 包放到服务器上:

bash 复制代码
# 安装 rpm 包
rpm -ivh perccli-*.rpm

安装完成后,一般路径在:

复制代码
/opt/MegaRAID/perccli/perccli64

相关推荐
零二年的冬5 分钟前
epoll详解
java·linux·开发语言·c++·链表
weixin_449310848 分钟前
电商对账革命:破解效率困局,拥抱自动化转型
运维·自动化
Agent产品评测局11 分钟前
企业工单处理自动化落地,派单回访全流程闭环实现:2026架构升级与多方案全景盘点
运维·人工智能·ai·架构·自动化
问简17 分钟前
ubuntu 输入法优化
linux·运维·ubuntu
勤自省18 分钟前
Windows 文件无法粘贴到 Linux(Ubuntu)系统的解决方案
linux·windows·ubuntu
Bert.Cai35 分钟前
Linux tail命令详解
linux·运维
舒一笑1 小时前
AI 系统落地难的,从来不只是模型:一次企业级部署实施复盘
运维·后端·程序员
sbjdhjd1 小时前
Docker | 核心概念科普 + 保姆级部署
linux·运维·服务器·docker·云原生·面试·eureka
charlie1145141911 小时前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c
Agent产品评测局1 小时前
企业生产报工自动化落地,数据采集全流程实现方案 —— 2026制造业数字化转型深度选型指南
运维·人工智能·ai·chatgpt·自动化