在 Linux 云主机中,可以通过以下方法快速判断磁盘是机械硬盘(HDD)还是固态硬盘(SSD)。
以下是具体操作步骤和工具:
方法 1:使用 lsblk 查看设备属性
lsblk -d -o name,rota
- 输出解析:
-
rota=1:表示旋转设备(机械硬盘,HDD)。 -
rota=0:表示非旋转设备(固态硬盘,SSD)。 - 示例:
NAMEROTA
vda0# vda 是 SSD(rota=0)
vdb1# vdb 是 HDD(rota=1)
方法 2:通过 cat /sys/block/sdX/queue/rotational
将 sdX 替换为你的磁盘设备名(如 sda、nvme0n1):
cat /sys/block/sdX/queue/rotational
- 返回值:
-
1:机械硬盘(HDD)。 -
0:固态硬盘(SSD)。
方法 3:使用 hdparm 工具
安装并检查磁盘类型:
sudo apt install hdparm -y# Debian/Ubuntu
sudo yum install hdparm -y# CentOS/RHEL
sudo hdparm -I /dev/sdX | grep "Nominal Media Rotation Rate"
- 输出解析:
-
Rotation Rate: Solid State Device:SSD。 - 具体转速(如
7200 rpm):HDD。
方法 4:检查 /proc/scsi/scsi(旧内核)
cat /proc/scsi/scsi
- 如果显示
Vendor: ATA且型号包含SSD关键词,可能是固态盘。
方法 5:通过 SMART 数据(需 smartctl)
安装工具并检查:
sudo apt install smartmontools -y# Debian/Ubuntu
sudo yum install smartmontools -y# CentOS/RHEL
sudo smartctl -a /dev/sdX | grep "Rotation Rate"
- 输出示例:
-
Rotation Rate: Solid State Device→ SSD。 -
Rotation Rate: 5400 rpm→ HDD。
云主机的注意事项
- 虚拟化设备干扰:
- 云主机的磁盘可能是虚拟化设备(如
/dev/vda),rota可能不准确,需结合云平台控制台确认。
- NVMe 磁盘:
- NVMe 设备默认是 SSD,可通过
lsblk查看:
lsblk -d -o name,rota,model
输出中的 model 字段通常包含 SSD 标识。
快速总结
| 命令 | HDD 标识 | SSD 标识 |
|---|---|---|
lsblk -d -o name,rota |
rota=1 |
rota=0 |
cat /sys/block/sdX/queue/rotational |
1 |
0 |
hdparm -I /dev/sdX |
显示转速(如 7200 rpm) |
Solid State Device |
smartctl -a /dev/sdX |
显示转速 | Rotation Rate: Solid State Device |
验证示例
$ lsblk -d -o name,rota,model
NAME ROTA MODEL
vda0 Virtio Block Device# 虚拟化SSD
nvme0n1 0 Samsung SSD 860 EVO# 物理SSD
sdb1 WDC HDD 1TB# 物理HDD
如果仍有疑问,建议通过云服务商的控制台查看磁盘类型(如 AWS 的 EBS 类型、阿里云的云盘类型)。










网友评论