GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit, zda je disk SSD nebo HDD v Linuxu

Představte si tento scénář. Jste nováček, který má omezené zkušenosti s Linuxem. Nedávno jste si zakoupili nový notebook, který má předinstalovaný Linux, například Ubuntu. Opravdu si nejste jisti, zda je nainstalovaný disk SSD (Solid State Drive) nebo normální HDD (Hard Disk Drive). Žádný problém! Tento stručný průvodce vás naučí, jak zjistit, zda je disk SSD nebo HDD v operačních systémech Linux.

Zjistit, zda je disk SSD nebo HDD v Linuxu

Počínaje verzí jádra 2.6.29 Operační systémy Linux mohou automaticky detekovat SSD. Existuje několik způsobů, jak zjistit, zda je disk SSD nebo HDD. Zde jsem uvedl 7 metod.

Metoda 1 – Zkontrolujte, zda se disk otáčí

Jak již možná víte, tradiční Hard Disk Drive (HDD) ukládá data na kruhový disk známý jako talíř . Když se disk otočí, pohybující se čtecí/zapisovací hlava bude mít přístup k datům. Čím rychleji se disk točí (rotuje), tím rychleji pevný disk pracuje.

Na druhou stranu, Solid State Drive (SDD) je moderní úložná technologie a rychlejší typ diskové jednotky, která ukládá data na okamžitě dostupné flash paměťové čipy. Na rozdíl od tradičních HDD nemají SSD žádné pohyblivé části a SSD se neotáčí .

Chcete-li tedy zjistit, zda je nainstalovaný disk SSD nebo normální HDD, zkontrolujte, zda je disk rotační, pomocí následujícího příkazu:

$ cat /sys/block/sda/queue/rotational

Pokud je výstup 1 , disk je HDD. Pokud je výstup 0 (nula), disk je SDD. Protože SSD se neotáčí. Takže výstup by měl být nulový, pokud máte v systému SSD.

Každá jednotka má adresář v/sys/class/block/ umístění. Můžete tedy zkontrolovat podrobnosti o jiných jednotkách.

$ cat /sys/block/sdb/queue/rotational
$ cat /sys/block/sdc/queue/rotational

Poznámka:

Pokud jste na hostujícím virtuálním počítači KVM, písmeno jednotky by bylo vda . Výsledek se bude lišit v závislosti na typu sběrnice jste zvolili během virtuálního stroje. Pokud například zvolíte SATA jako typ sběrnice pro virtuální disk, uvidíte následující výstup:

$ cat /sys/block/vda/queue/rotational 
1

Metoda 2 – Použití příkazu lsblk

lsblk příkaz čte sysfs souborový systém a udev db shromáždit informace o všech dostupných nebo zadaných blokových zařízeních. Příkaz lsblk je součástí util-linux balíček a je předinstalovaný u většiny distribucí Linuxu.

Pro případ, že příkaz lsblk není dostupný, stačí nainstalovat balíček util-linux pomocí správce balíčků vaší distribuce.

Například na systémech založených na Arch jej můžete nainstalovat pomocí příkazu:

$ sudo pacman -S util-linux

Na systémech založených na Debianu:

$ sudo apt install util-linux

Na systémech založených na RPM:

$ sudo yum install util-linux

Na openSUSE:

$ sudo zypper install util-linux

Nyní zjistěte, zda je disk SSD nebo HDD pomocí příkazu:

$ lsblk -d -o name,rota

Ukázkový výstup:

NAME   ROTA
loop0     1
loop1     1
loop2     1
loop3     1
loop4     1
loop5     1
loop6     1
loop7     1
loop8     1
loop9     1
loop10    1
loop11    1
loop12    1
loop13    1
loop14    1
loop15    1
loop16    1
loop17    1
loop18    1
loop19    1
loop20    1
sda       1
sr0       1

Zde „rota“ znamená rotační zařízení . Pokud získáte hodnotu rota ve výše uvedeném výstupu jako 1 , disk je HDD. Pokud je hodnota 0 (nula) , pak je disk SSD.

Metoda 3 – Použití monitorovacích nástrojů SMART

Dalším způsobem, jak zjistit, zda je disk SSD nebo HDD, je použití smartctl příkaz. Smartctl je součástí balíčku monitorovacích nástrojů S.M.A.R.T, který se používá k ovládání a monitorování S.M.A.R.T. povolené pevné disky ATA a SCSI.

Chcete-li nainstalovat monitorovací nástroje SMART na Arch Linux a jeho varianty, spusťte:

$ sudo pacman -S install smartmontools

Na Debianu, Ubuntu:

$ sudo apt install smartmontools

Na RHEL, CentOS:

$ sudo yum install smartmontools

Na openSUSE:

$ sudo zypper install smartmontools

Po instalaci balíčku smartmontools spusťte následující příkaz a zjistěte, zda je disk SSD nebo HDD:

$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'

Pokud je disk SSD, získáte výstup jako níže.

Rotation Rate:    Solid State Device

Pokud je disk HDD, dostanete tento výstup:

Rotation Rate: 5400 rpm

Metoda 4 – Použití dmesg + Google

Toto není přímý přístup k nalezení typu disku. V této metodě používáme dmesg příkaz k nalezení modelu disku a poté si vygooglujte podrobnosti, abyste zjistili, zda je disk SSD nebo HDD.

$ dmesg | grep -i -e scsi -e ata

Mezi všemi ostatními detaily uvidíte název modelu disku.

[...]
[ 1.845159] scsi 0:0:0:0: Direct-Access ATA ST9500325AS DEM1 PQ: 0 ANSI: 5
[...]

Chcete-li najít podrobnosti o disku, stačí googlit tento model.

Metoda 5 – Použití podrobností SCSI + Google

To je stejné jako výše uvedená metoda. Model disku získáváme z /proc adresář pomocí příkazu:

$ cat /proc/scsi/scsi

Ukázkový výstup:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST9500325AS      Rev: DEM1
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: PLDS     Model: DVD+-RW DS-8A8SH Rev: KD11
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
  Vendor: Generic- Model: Multi-Card       Rev: 1.00
  Type:   Direct-Access                    ANSI  SCSI revision: 00

A pak si vygooglujte podrobnosti, abyste věděli, zda je disk SSD nebo HDD.

Metoda 6 – Použití Sg3-utils

Sg3-utils je kolekce nástrojů pro zařízení používající sadu příkazů SCSI. Každý nástroj v tomto balíčku implementuje jeden příkaz SCSI.

Sg3-utils je k dispozici ve výchozích úložištích Debianu a Ubuntu. Chcete-li jej nainstalovat do systému, jednoduše spusťte:

$ sudo apt install sg3-utils

Nyní pomocí následujícího příkazu zkontrolujte data Vital Product Data (VPD) pro charakteristiky blokového zařízení:

$ sudo sg_vpd --page=bdc /dev/sda

Ukázkový výstup:

Block device characteristics VPD page (SBC):
Nominal rotation rate: 5400 rpm
Product type: Not specified
WABEREQ=0
WACEREQ=0
Nominal form factor not reported
ZONED=0
BOCS=0
FUAB=0
VBULS=0

Projděte si výstup. Pokud výstup obsahuje tento řádek - "Nominální rychlost otáčení:5400 ot./min" , je to HDD. U SSD byste pravděpodobně viděli - "Nerotující médium" .

Metoda 7 – Srovnání výkonu přístupu na disk

Zjistěte, zda je disk SSD nebo HDD čtením náhodných bloků z disku pomocí příkazu:

time for i in `seq 1 1000`; do
    dd bs=4k if=/dev/sda count=1 skip=$(( $RANDOM * 128 )) >/dev/null 2>&1;
done

Tento příkaz přečte 1000 náhodných 4k bloků z prvních 16GB disku.

Pokud je váš disk SSD, operace by měla být dokončena přibližně za sekundu . Pokud je disk HDD, bude dokončení trvat několik sekund.

To bude užitečné pro kontrolu disků ve vašem VPS. Pokud používáte VPS a chtěli jste zkontrolovat, zda vám poskytovatel hostingu poskytl SSD nebo HDD, toto je jeden způsob, jak to zjistit!

Co když je více disků?

Co když mám dva disky, jeden je SSD a druhý HDD? Oba disky jsou stejné velikosti a od stejného výrobce. Nevím na jakém disku mám nainstalovaný Linux. V takovém případě jednoduše vyhledejte, na kterém disku se kořenový souborový systém nachází, pomocí následujícího příkazu:

$ df / -h

Ukázkový výstup:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       458G  341G   95G  79% /

Případně použijte lshw příkaz k nalezení dalších podrobností o discích:

$ sudo lshw -short -C disk

Ukázkový výstup:

H/W path                 Device           Class          Description
====================================================================
/0/100/1d/1/1/6/0.0.0    /dev/sdb         disk           Multi-Card
/0/100/1d/1/1/6/0.0.0/0  /dev/sdb         disk           
/0/1/0.0.0               /dev/sda         disk           500GB ST9500325AS
/0/2/0.0.0               /dev/cdrom       disk           DVD+-RW DS-8A8SH

Jak vidíte ve výše uvedeném výstupu, můj kořenový souborový systém je nainstalován v /dev/sda . Nyní postupujte podle některé z výše uvedených metod a zjistěte, zda je disk HDD nebo SSD.

Poznámka:

V některých nových noteboocích, jako je Lenovo ideapad s240 , uvidíte jiný název zařízení, například nvme0n1 . Podívejme se na seznam dostupných blokových zařízení pomocí příkazu:

$ ls /sys/block

Ukázkový výstup:

loop0   loop11  loop14  loop17  loop2   loop3  loop6  loop9
loop1   loop12  loop15  loop18  loop20  loop4  loop7  nvme0n1
loop10  loop13  loop16  loop19  loop21  loop5  loop8

Pojďme zjistit, na kterém disku se nachází kořenový souborový systém:

$ df / -h

Ukázkový výstup:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p6  96G   34G   58G   34%  /

Jak vidíte ve výše uvedených výstupech, neexistuje žádné sda nebo sdb . Nepanikařte! To je normální. Soubor /dev/nvme ... název zařízení označuje novější NVMe "disky." Pokud je disk připojen přes port NVM Express namísto tradičního portu SATA nebo SAS, uvidíte jiný název zařízení, jak je znázorněno na výše uvedeném výstupu.

Zde /dev/nvme0n1 je ekvivalentní k /dev/sda . Proto /dev/nvme0n1p6 je ekvivalentní /dev/sda6 .

Doporučené čtení:

  • Jak najít hardwarové specifikace v systému Linux
  • Jak zkontrolovat, zda je systém Linux fyzický nebo virtuální počítač
  • Jak zkontrolovat, zda je systém Linux 32bitový nebo 64bitový
  • Jak zjistit, zda procesor podporuje technologii virtualizace (VT)

Toto je několik metod, jak zjistit, zda je disk SSD nebo HDD v Linuxu. Doufám, že to bylo užitečné.

Obrázek ikony SSD od PagDev od Pixabay

Hdd icon Image by Clker-Free-Vector-Images z Pixabay


Linux
  1. Jak rozdělit disk v Linuxu

  2. Jak zjistit velikost vyrovnávací paměti soketu linuxu

  3. Jak přenést výsledky 'najít' do mv v Linuxu

  1. Jak zkontrolovat stav SSD/HDD v Linuxu

  2. Jak najít disk je SSD nebo HDD v Linuxu?

  3. Jak používat Linuxový příkaz find k hledání souborů

  1. Jak najít všechny řídké soubory v Linuxu

  2. Jak zjistit, zda je disk SSD nebo HDD

  3. Jak zjistit IP adresu brány v Linuxu