Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例
文章目录
- Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例
- 常见方法(直通盘场景下有效)
- 通过 rotational 标志
- 通过 lsblk
- 通过 smartctl
- 为什么在企业级服务器上这些方法可能不准?
- 正确方法:使用 PERC CLI 工具
- 安装 perccli
- 查看控制器信息
- 查看物理磁盘信息
- 总结
- 附 perccli包如何从官方下载
- 🚀 安装 perccli 方法
- 从 Dell 官方下载
- 使用 rpm 安装
Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例
在 Linux 系统中,我们经常需要确认一块硬盘究竟是 固态硬盘 (SSD) 还是 机械硬盘 (HDD),以便做合理的存储规划和性能评估。
在直连硬盘的场景下,方法很简单,但在企业级服务器(例如 DELL 服务器配合 PERC RAID 控制器)上就容易遇到“看不准”的情况。本文结合 PERC H730 Mini 控制器,介绍几种常见方法。
常见方法(直通盘场景下有效)
在没有 RAID 控制器干预时,可以直接在 Linux 下查看硬盘类型。
通过 rotational 标志
cat /sys/block/sda/queue/rotational
1
→ 旋转磁盘(HDD)0
→ 固态硬盘(SSD)
通过 lsblk
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
smartctl -i /dev/sda | grep Rotation
输出:
Rotation Rate: 7200 rpm
→ HDDRotation Rate: Solid State Device
→ SSD
为什么在企业级服务器上这些方法可能不准?
以 DELL PERC H730 Mini 为例,它是基于 LSI MegaRAID 芯片的硬件 RAID 控制器。
当服务器通过 RAID 卡创建虚拟磁盘时,操作系统看到的并不是物理硬盘,而是 RAID 卡虚拟出来的逻辑卷。
因此:
/sys/block/*/queue/rotational
会统一显示为1
(即 HDD)lsblk
、smartctl
获取的信息也可能不完整- 无法区分底层物理盘是 HDD 还是 SSD
正确方法:使用 PERC CLI 工具
安装 perccli
从 Dell 官方下载并安装 perccli
RPM 包:
PERCCLI_7.2616.0_Linux.tar.gz
tar xf PERCCLI_7.2616.0_Linux.tar.gz
rpm -ivh perccli-*.rpm
工具路径一般在:
/opt/MegaRAID/perccli/perccli64
查看控制器信息
/opt/MegaRAID/perccli/perccli64 show
输出会包含 RAID 控制器型号,例如:
Model = PERC H730 Mini
查看物理磁盘信息
/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 系统上,可以用
rotational
、lsblk
、smartctl
来区分 SSD 和 HDD。 - 在企业级服务器上,若使用 硬件 RAID 控制器(如 DELL PERC H730 Mini),这些方法可能失效。
- 此时需要使用 Dell 官方工具
perccli
或进入 RAID BIOS (Ctrl+R),才能看到底层物理磁盘的真实类型。
这就是为什么在数据中心环境下,很多运维人员会误判硬盘类型的原因。
附 perccli包如何从官方下载
🚀 安装 perccli 方法
从 Dell 官方下载
- Dell 官方支持站点:
Dell PERC Command Line Interface (perccli)
搜索 PERC H730 Mini,然后在 驱动与下载 里找到 SAS RAID Storage Manager / perccli 工具。
通常下载到的是一个 RPM 包,例如:
perccli-007.1613.0000.0000-1.noarch.rpm
使用 rpm 安装
假设你已经把 perccli
的 rpm 包放到服务器上:
# 安装 rpm 包
rpm -ivh perccli-*.rpm
安装完成后,一般路径在:
/opt/MegaRAID/perccli/perccli64