GNU/Linux >> Linux Esercitazione >  >> Linux

Come scoprire se il disco è SSD o HDD in Linux

Immagina questo scenario. Sei un principiante che ha un'esperienza limitata con Linux. Di recente hai acquistato un nuovo laptop con preinstallato Linux, ad esempio Ubuntu. Non sei veramente sicuro se il disco installato è SSD (Solid State Drive) o un normale HDD (Hard Disk Drive). Nessun problema! Questa breve guida ti insegnerà come scoprire se il disco è SSD o HDD nei sistemi operativi Linux.

Trova se il disco è SSD o HDD in Linux

A partire dalla versione del kernel 2.6.29 , i sistemi operativi Linux possono rilevare automaticamente SSD. Ci sono alcuni modi per scoprire se il disco è SSD o HDD. Qui ho fornito 7 metodi.

Metodo 1:verifica se il disco è rotazionale

Come forse già saprai, il tradizionale Disco rigido (HDD) memorizza i dati su un disco circolare noto come piatto . Quando il disco gira, la testina di lettura/scrittura mobile accederà ai dati. Più velocemente il disco gira (ruota), più veloce funziona il disco rigido.

D'altra parte, Solid State Drive (SDD) è una moderna tecnologia di archiviazione e un tipo più veloce di unità disco che archivia i dati su chip di memoria flash immediatamente accessibili. A differenza degli HDD tradizionali, gli SSD non hanno parti mobili e gli SSD non ruotano .

Quindi, per scoprire se il disco installato è SSD o HDD normale, controlla se il disco è in rotazione usando il seguente comando:

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

Se l'output è 1 , il disco è HDD. Se l'output è 0 (zero), il disco è SDD. Perché gli SSD non ruoteranno. Quindi l'output dovrebbe essere zero se hai SSD nel tuo sistema.

Ogni unità ha una directory in /sys/class/block/ Posizione. Quindi puoi controllare anche i dettagli di altre unità.

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

Nota:

Se sei su una macchina virtuale guest KVM, la lettera di unità sarebbe vda . Il risultato varierà in base al tipo di autobus hai scelto durante la macchina virtuale. Ad esempio, se scegli SATA come tipo di bus per il disco virtuale, vedrai il seguente output:

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

Metodo 2:utilizzo del comando lsblk

Il lsblk il comando legge sysfs filesystem e udev db per raccogliere informazioni su tutti i dispositivi a blocchi disponibili o specificati. Il comando lsblk fa parte di util-linux pacchetto e viene preinstallato con la maggior parte delle distribuzioni Linux.

Nel caso in cui il comando lsblk non fosse disponibile, installa il pacchetto util-linux usando il gestore di pacchetti della tua distribuzione.

Ad esempio, su sistemi basati su Arch, puoi installarlo usando il comando:

$ sudo pacman -S util-linux

Su sistemi basati su Debian:

$ sudo apt install util-linux

Su sistemi basati su RPM:

$ sudo yum install util-linux

Su openSUSE:

$ sudo zypper install util-linux

Ora, trova se il disco è SSD o HDD usando il comando:

$ lsblk -d -o name,rota

Risultato di esempio:

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

Qui, "rota" significa dispositivo di rotazione . Se ottieni il valore della rotazione nell'output sopra come 1 , il disco è HDD. Se il valore è 0 (zero) , il disco è SSD.

Metodo 3:utilizzo degli strumenti di monitoraggio SMART

L'altro modo per scoprire se il disco è SSD o HDD utilizza smartctl comando. Lo smartctl fa parte del pacchetto di strumenti di monitoraggio S.M.A.R.T, che viene utilizzato per controllare e monitorare S.M.A.R.T. dischi rigidi ATA e SCSI abilitati.

Per installare gli strumenti di monitoraggio SMART su Arch Linux e le sue varianti, eseguire:

$ sudo pacman -S install smartmontools

Su Debian, Ubuntu:

$ sudo apt install smartmontools

Su RHEL, CentOS:

$ sudo yum install smartmontools

Su openSUSE:

$ sudo zypper install smartmontools

Dopo aver installato il pacchetto smartmontools, eseguire il comando seguente per scoprire se il disco è SSD o HDD:

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

Se il disco è SSD, otterrai un output come di seguito.

Rotation Rate:    Solid State Device

Se il disco è HDD, otterrai questo output:

Rotation Rate: 5400 rpm

Metodo 4 - Utilizzo di dmesg + Google

Questo non è un approccio diretto per trovare il tipo di disco. In questo metodo, utilizziamo dmesg comando per trovare il modello del disco e quindi cercare su Google i dettagli per scoprire se il disco è SSD o HDD.

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

Vedrai il nome del modello del disco tra tutti gli altri dettagli.

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

Basta cercare su Google questo modello per trovare i dettagli del disco.

Metodo 5:utilizzo dei dettagli SCSI + Google

Questo è lo stesso del metodo sopra. Recuperiamo il modello del disco da /proc directory usando il comando:

$ cat /proc/scsi/scsi

Risultato di esempio:

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

E poi Google i dettagli per sapere se il disco è SSD o HDD.

Metodo 6:utilizzo di Sg3-utils

Utilità Sg3 è una raccolta di utilità per i dispositivi che utilizzano il set di comandi SCSI. Ciascuna utilità in questo pacchetto implementa un comando SCSI.

Sg3-utils è disponibile nei repository predefiniti di Debian e Ubuntu. Per installarlo sul tuo sistema, esegui semplicemente:

$ sudo apt install sg3-utils

Ora, controlla i dati vitali del prodotto (VPD) per le caratteristiche del dispositivo a blocchi eseguendo il comando seguente:

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

Risultato di esempio:

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

Passa attraverso l'output. Se l'output contiene questa riga - "Tasso di rotazione nominale:5400 giri/min" , è HDD. Per SSD, probabilmente vedresti - "Mezzo non rotante" .

Metodo 7:benchmark delle prestazioni di accesso al disco

Trova se il disco è SSD o HDD leggendo blocchi casuali dal disco usando il comando:

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

Questo comando leggerà 1000 blocchi casuali da 4k dai primi 16 GB di un disco.

Se il tuo disco è SSD, l'operazione dovrebbe essere completata in circa un secondo . Se il disco è HDD, ci vorranno alcuni secondi per il completamento.

Questo sarà utile per controllare i dischi nel tuo VPS. Se stai utilizzando un VPS e vuoi verificare se il provider di hosting ti ha fornito SSD o HDD, questo è un modo per scoprirlo!

Cosa succede se ci sono più dischi?

Cosa succede se ho due dischi, uno è SSD e un altro è HDD? Entrambi i dischi sono della stessa dimensione e dello stesso produttore. Non so su quale disco sia installato il mio Linux. In tal caso, trova semplicemente su quale disco si trova il filesystem di root usando il seguente comando:

$ df / -h

Risultato di esempio:

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

In alternativa, usa lshw comando per trovare maggiori dettagli sui dischi:

$ sudo lshw -short -C disk

Risultato di esempio:

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

Come puoi vedere nell'output sopra, il mio filesystem di root è installato in /dev/sda . Ora segui uno dei metodi precedenti per scoprire se il disco è HDD o SSD.

Nota:

In alcuni nuovi laptop come Lenovo ideapad s240 , vedrai un nome di dispositivo diverso, ad esempio nvme0n1 . Vediamo l'elenco dei dispositivi a blocchi disponibili usando il comando:

$ ls /sys/block

Risultato di esempio:

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

Scopriamo su quale disco si trova il filesystem di root:

$ df / -h

Risultato di esempio:

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

Come puoi vedere negli output sopra, non c'è sda o sdb . Niente panico! E 'normale. Il /dev/nvme ... il nome del dispositivo indica NVMe più recente "dischi". Se il disco è collegato tramite una porta NVM Express anziché una porta SATA o SAS tradizionale, vedrai un nome di dispositivo diverso come mostrato nell'output sopra.

Qui, /dev/nvme0n1 è equivalente a /dev/sda . Quindi, /dev/nvme0n1p6 è equivalente a /dev/sda6 .

Lettura consigliata:

  • Come trovare le specifiche hardware su Linux
  • Come verificare se un sistema Linux è una macchina fisica o virtuale
  • Come verificare se un sistema Linux è a 32 o 64 bit
  • Come scoprire se una CPU supporta la tecnologia di virtualizzazione (VT)

Questi sono alcuni metodi per scoprire se il disco è SSD o HDD in Linux. Spero sia stato utile.

Icona SSD Immagine di PagDev da Pixabay

Icona Hdd Immagine di Clker-Free-Vector-Images da Pixabay


Linux
  1. Come trovare un disco è SSD o HDD in Linux?

  2. Come utilizzare il comando trova di Linux per trovare i file

  3. Come trovare tutti i file sparsi in Linux

  4. Come trovare la dimensione del buffer del socket di Linux

  5. Come reindirizzare i risultati di "trova" a mv in Linux

Come trovare l'indirizzo IP in Linux

Come trovare il nome host in Linux

Modi per controllare SSD o HDD nel sistema operativo Linux

Come trovare la dimensione totale di una directory in Linux

Come trovare file con il comando fd in Linux

Come trovare l'elenco dei repository installati in Linux