Linux物理機(jī)區(qū)分SSD與HDD的常見方法
引言
在 Linux 系統(tǒng)中,我們經(jīng)常需要確認(rèn)一塊硬盤究竟是 固態(tài)硬盤 (SSD) 還是 機(jī)械硬盤 (HDD),以便做合理的存儲(chǔ)規(guī)劃和性能評(píng)估。
在直連硬盤的場(chǎng)景下,方法很簡(jiǎn)單,但在企業(yè)級(jí)服務(wù)器(例如 DELL 服務(wù)器配合 PERC RAID 控制器)上就容易遇到“看不準(zhǔn)”的情況。本文結(jié)合 PERC H730 Mini 控制器,介紹幾種常見方法。
常見方法(直通盤場(chǎng)景下有效)
在沒有 RAID 控制器干預(yù)時(shí),可以直接在 Linux 下查看硬盤類型。
通過 rotational 標(biāo)志
cat /sys/block/sda/queue/rotational
1→ 旋轉(zhuǎn)磁盤(HDD)0→ 固態(tài)硬盤(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
為什么在企業(yè)級(jí)服務(wù)器上這些方法可能不準(zhǔn)?
以 DELL PERC H730 Mini 為例,它是基于 LSI MegaRAID 芯片的硬件 RAID 控制器。
當(dāng)服務(wù)器通過 RAID 卡創(chuàng)建虛擬磁盤時(shí),操作系統(tǒng)看到的并不是物理硬盤,而是 RAID 卡虛擬出來的邏輯卷。
因此:
/sys/block/*/queue/rotational會(huì)統(tǒng)一顯示為1(即 HDD)lsblk、smartctl獲取的信息也可能不完整- 無法區(qū)分底層物理盤是 HDD 還是 SSD
正確方法:使用 PERC CLI 工具
安裝 perccli
從 Dell 官方下載并安裝 perccli RPM 包:
tar xf PERCCLI_7.2616.0_Linux.tar.gz rpm -ivh perccli-*.rpm
工具路徑一般在:
/opt/MegaRAID/perccli/perccli64
查看控制器信息
/opt/MegaRAID/perccli/perccli64 show
輸出會(huì)包含 RAID 控制器型號(hào),例如:
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 字段即為硬盤介質(zhì)類型:
- HDD → 機(jī)械硬盤
- SSD → 固態(tài)硬盤
總結(jié)
- 在普通直通硬盤的 Linux 系統(tǒng)上,可以用
rotational、lsblk、smartctl來區(qū)分 SSD 和 HDD。 - 在企業(yè)級(jí)服務(wù)器上,若使用 硬件 RAID 控制器(如 DELL PERC H730 Mini),這些方法可能失效。
- 此時(shí)需要使用 Dell 官方工具
perccli或進(jìn)入 RAID BIOS (Ctrl+R),才能看到底層物理磁盤的真實(shí)類型。
這就是為什么在數(shù)據(jù)中心環(huán)境下,很多運(yùn)維人員會(huì)誤判硬盤類型的原因。
安裝 perccli 方法
從 Dell 官方下載
- Dell 官方支持站點(diǎn):
Dell PERC Command Line Interface (perccli)
搜索 PERC H730 Mini,然后在 驅(qū)動(dòng)與下載 里找到 SAS RAID Storage Manager / perccli 工具。
通常下載到的是一個(gè) RPM 包,例如:
perccli-007.1613.0000.0000-1.noarch.rpm
使用 rpm 安裝
假設(shè)你已經(jīng)把 perccli 的 rpm 包放到服務(wù)器上:
# 安裝 rpm 包 rpm -ivh perccli-*.rpm
安裝完成后,一般路徑在:
/opt/MegaRAID/perccli/perccli64
到此這篇關(guān)于Linux物理機(jī)區(qū)分SSD與HDD的常見方法的文章就介紹到這了,更多相關(guān)Linux物理機(jī)區(qū)分SSD與HDD內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Apache Kafka 跨集群復(fù)制實(shí)現(xiàn)方案詳解
本文介紹Apache Kafka 跨集群復(fù)制實(shí)現(xiàn)方案,文章比較了Kafka中的跨集群復(fù)制方案,包括MirrorMaker1和MirrorMaker2,MirrorMaker2基于KafkaConnect框架,支持雙向復(fù)制、自動(dòng)消費(fèi)者組同步、自動(dòng)Topic創(chuàng)建等特性,是當(dāng)前推薦方案,感興趣的朋友跟隨小編一起看看吧2026-01-01
Ubuntu20.04內(nèi)存不足導(dǎo)致無法開機(jī)的解決方法
Ubuntu因內(nèi)存不足無法啟動(dòng)時(shí),需進(jìn)入恢復(fù)模式刪除冗余文件釋放內(nèi)存,或通過虛擬機(jī)擴(kuò)展硬盤并用gparted調(diào)整分區(qū)擴(kuò)容,最后重啟系統(tǒng)以恢復(fù)正常運(yùn)行,本文通過圖文給大家介紹的非常詳細(xì),需要的朋友可以參考下2025-06-06
Linux手動(dòng)部署Oracle JDK 17的完全指南
本文手把手教你在 Linux 系統(tǒng)上通過官方 tar.gz 壓縮包手動(dòng)安裝 Oracle JDK 17,涵蓋舊版清理、下載解壓、環(huán)境變量配置、多版本管理及常見問題排查,適用于 Ubuntu / CentOS / Debian 等主流發(fā)行版,需要的朋友可以參考下2026-05-05
詳解Linux系統(tǒng)中的tempfs與/dev/shm
/dev/shm是Linux非常有用的一個(gè)目錄,它就是所謂的tmpfs,也可以稱之為臨時(shí)文件系統(tǒng)(不是塊設(shè)備),類似oracle中的臨時(shí)表空間一樣,用于加速和優(yōu)化系統(tǒng)。下面這篇文章主要給大家介紹了Linux系統(tǒng)中tempfs與/dev/shm的相關(guān)資料,需要的朋友可以參考下。2017-02-02
linux服務(wù)器安裝PHP擴(kuò)展zip,zlib方法
下面小編就為大家分享一篇linux服務(wù)器安裝PHP擴(kuò)展zip,zlib方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
SSH設(shè)置別名訪問遠(yuǎn)程服務(wù)器詳細(xì)介紹
這篇文章主要介紹了SSH設(shè)置別名訪問遠(yuǎn)程服務(wù)器詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-06-06
linux下搭建scala環(huán)境并寫個(gè)簡(jiǎn)單的scala程序
今天小編就為大家分享一篇關(guān)于linux下搭建scala環(huán)境并寫個(gè)簡(jiǎn)單的scala程序,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04

