GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar si el disco es SSD o HDD en Linux

Imagina este escenario. Eres un novato que tiene una experiencia limitada con Linux. Recientemente compró una nueva computadora portátil que tiene preinstalado Linux, por ejemplo, Ubuntu. No está realmente seguro de si el disco instalado es SSD (unidad de estado sólido) o HDD (unidad de disco duro) normal. ¡No hay problema! Esta breve guía le enseñará cómo encontrar si el disco es SSD o HDD en los sistemas operativos Linux.

Encuentre si el disco es SSD o HDD en Linux

A partir de la versión del Kernel 2.6.29 , los sistemas operativos Linux pueden detectar automáticamente SSD. Hay algunas formas de averiguar si el disco es SSD o HDD. Aquí he dado 7 métodos.

Método 1:compruebe si el disco es giratorio

Como ya sabrá, la unidad de disco duro (HDD) tradicional almacena los datos en un disco circular conocido como plato . Cuando el disco gira, el cabezal móvil de lectura/escritura accederá a los datos. Cuanto más rápido gira (gira) el disco, más rápido funciona el disco duro.

Por otro lado, Unidad de estado sólido (SDD) es una tecnología de almacenamiento moderna y un tipo más rápido de unidad de disco que almacena los datos en chips de memoria flash accesibles instantáneamente. A diferencia de los discos duros tradicionales, los SSD no tienen piezas móviles y los SSD no giran. .

Entonces, para saber si el disco instalado es SSD o HDD normal, solo verifique si el disco es giratorio usando el siguiente comando:

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

Si la salida es 1 , el disco es HDD. Si la salida es 0 (cero), el disco es SDD. Porque los SSD no giran. Entonces, la salida debería ser cero si tiene SSD en su sistema.

Cada unidad tiene un directorio en /sys/class/block/ localización. Por lo tanto, también puede verificar los detalles de otras unidades.

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

Nota:

Si está en una máquina virtual invitada KVM, la letra de la unidad sería vda . El resultado variará según el tipo de autobús eligió durante la máquina virtual. Por ejemplo, si elige SATA como tipo de bus para el disco virtual, verá el siguiente resultado:

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

Método 2:usar el comando lsblk

El lsblk comando lee el sysfs sistema de archivos y udev db para recopilar información sobre todos los dispositivos de bloque disponibles o especificados. El comando lsblk es parte de util-linux paquete y viene preinstalado con la mayoría de las distribuciones de Linux.

En caso de que el comando lsblk no esté disponible, simplemente instale el paquete util-linux usando el administrador de paquetes de su distribución.

Por ejemplo, en sistemas basados ​​en Arch, puede instalarlo usando el comando:

$ sudo pacman -S util-linux

En sistemas basados ​​en Debian:

$ sudo apt install util-linux

En sistemas basados ​​en RPM:

$ sudo yum install util-linux

En openSUSE:

$ sudo zypper install util-linux

Ahora, encuentre si el disco es SSD o HDD usando el comando:

$ lsblk -d -o name,rota

Salida de muestra:

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

Aquí, "rota" significa dispositivo de rotación . Si obtiene el valor de rotación en el resultado anterior como 1 , el disco es HDD. Si el valor es 0 (cero) , entonces el disco es SSD.

Método 3:uso de herramientas de supervisión SMART

La otra forma de averiguar si el disco es SSD o HDD es usando smartctl dominio. El smartctl es parte del paquete de herramientas de monitoreo S.M.A.R.T, que se utiliza para controlar y monitorear S.M.A.R.T. discos duros ATA y SCSI habilitados.

Para instalar herramientas de monitoreo SMART en Arch Linux y sus variantes, ejecute:

$ sudo pacman -S install smartmontools

En Debian, Ubuntu:

$ sudo apt install smartmontools

En RHEL, CentOS:

$ sudo yum install smartmontools

En openSUSE:

$ sudo zypper install smartmontools

Después de instalar el paquete smartmontools, ejecute el siguiente comando para averiguar si el disco es SSD o HDD:

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

Si el disco es SSD, obtendrá una salida como la siguiente.

Rotation Rate:    Solid State Device

Si el disco es HDD, obtendrá este resultado:

Rotation Rate: 5400 rpm

Método 4:usar dmesg + Google

Este no es un enfoque directo para encontrar el tipo de disco. En este método, usamos dmesg comando para encontrar el modelo de disco y luego buscar en Google los detalles para encontrar si el disco es SSD o HDD.

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

Verá el nombre del modelo de disco entre todos los demás detalles.

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

Simplemente busque en Google este modelo para encontrar los detalles del disco.

Método 5:uso de detalles de SCSI + Google

Esto es lo mismo que el método anterior. Recuperamos el modelo de disco de /proc directorio usando el comando:

$ cat /proc/scsi/scsi

Salida de muestra:

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

Y luego busque en Google los detalles para saber si el disco es SSD o HDD.

Método 6:uso de Sg3-utils

Utilidades Sg3 es una colección de utilidades para dispositivos que utilizan el conjunto de comandos SCSI. Cada utilidad en este paquete implementa un comando SCSI.

Sg3-utils está disponible en los repositorios predeterminados de Debian y Ubuntu. Para instalarlo en su sistema, simplemente ejecute:

$ sudo apt install sg3-utils

Ahora, verifique los datos vitales del producto (VPD) para las características del dispositivo de bloque ejecutando el siguiente comando:

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

Salida de muestra:

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

Ir a través de la salida. Si la salida contiene esta línea - "Tasa de rotación nominal:5400 rpm" , es disco duro. Para SSD, probablemente verá:"Medio no giratorio" .

Método 7:evaluación comparativa del rendimiento de acceso al disco

Encuentra si el disco es SSD o HDD leyendo bloques aleatorios del disco usando el 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

Este comando leerá 1000 bloques aleatorios de 4k de los primeros 16 GB de un disco.

Si su disco es SSD, la operación debería completarse en aproximadamente un segundo . Si el disco es HDD, tardará unos segundos en completarse.

Esto será útil para verificar los discos en su VPS. Si está utilizando un VPS y desea verificar si el proveedor de alojamiento le proporcionó SSD o HDD, ¡esta es una forma de averiguarlo!

¿Qué sucede si hay varios discos?

¿Qué pasa si tengo dos discos, uno es SSD y otro es HDD? Ambos discos son del mismo tamaño y del mismo fabricante. No sé en qué disco está instalado mi Linux. En ese caso, simplemente encuentre en qué disco se encuentra el sistema de archivos raíz usando el siguiente comando:

$ df / -h

Salida de muestra:

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

Alternativamente, use lshw Comando para encontrar más detalles sobre los discos:

$ sudo lshw -short -C disk

Salida de muestra:

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

Como puede ver en el resultado anterior, mi sistema de archivos raíz está instalado en /dev/sda . Ahora siga cualquiera de los métodos anteriores para averiguar si el disco es HDD o SSD.

Nota:

En algunos portátiles nuevos como Lenovo ideapad s240 , verá un nombre de dispositivo diferente, por ejemplo, nvme0n1 . Veamos la lista de dispositivos de bloque disponibles usando el comando:

$ ls /sys/block

Salida de muestra:

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

Averigüemos en qué disco se encuentra el sistema de archivos raíz:

$ df / -h

Salida de muestra:

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

Como puede ver en los resultados anteriores, no hay sda o sdb . ¡No entrar en pánico! Esto es normal. El /dev/nvme ... el nombre del dispositivo indica un NVMe más reciente "discos". Si el disco está conectado a través de un puerto NVM Express en lugar de un puerto SATA o SAS tradicional, verá un nombre de dispositivo diferente como se muestra en el resultado anterior.

Aquí, /dev/nvme0n1 es equivalente a /dev/sda . Por lo tanto, /dev/nvme0n1p6 es equivalente a /dev/sda6 .

Lectura sugerida:

  • Cómo encontrar especificaciones de hardware en Linux
  • Cómo comprobar si un sistema Linux es una máquina física o virtual
  • Cómo comprobar si un sistema Linux es de 32 bits o de 64 bits
  • Cómo averiguar si una CPU es compatible con la tecnología de virtualización (VT)

Estos son algunos métodos para saber si el disco es SSD o HDD en Linux. Espero que haya sido útil.

Icono de SSD Imagen de PagDev de Pixabay

Imagen del icono de disco duro de Clker-Free-Vector-Images de Pixabay


Linux
  1. Cómo particionar un disco en Linux

  2. Cómo comprobar el estado de SSD/HDD en Linux

  3. ¿Cómo encontrar un disco SSD o HDD en Linux?

  4. Cómo usar el comando find de Linux para buscar archivos

  5. Cómo encontrar el tamaño del búfer de socket de Linux

Cómo encontrar la dirección IP en Linux

Cómo encontrar el nombre de host en Linux

Formas de verificar SSD o HDD en el sistema operativo Linux

Cómo encontrar el tamaño total de un directorio en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo encontrar la lista de repositorios instalados en Linux