GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir si le disque est un SSD ou un disque dur sous Linux

Imaginez ce scénario. Vous êtes un débutant qui a une expérience limitée avec Linux. Vous avez récemment acheté un nouvel ordinateur portable préinstallé avec Linux, par exemple Ubuntu. Vous ne savez pas vraiment si le disque installé est un SSD (Solid State Drive) ou un HDD normal (Hard Disk Drive). Aucun problème! Ce bref guide vous apprendra comment déterminer si le disque est SSD ou HDD dans les systèmes d'exploitation Linux.

Trouver si le disque est un SSD ou un HDD sous Linux

À partir de la version du noyau 2.6.29 , les systèmes d'exploitation Linux peuvent détecter automatiquement les SSD. Il existe plusieurs façons de déterminer si le disque est un SSD ou un HDD. Ici, j'ai donné 7 méthodes.

Méthode 1 - Vérifier si le disque est en rotation

Comme vous le savez peut-être déjà, le disque dur (HDD) traditionnel stocke les données sur un disque circulaire appelé plateau . Lorsque le disque tourne, la tête mobile de lecture/écriture accède aux données. Plus le disque tourne (tourne) vite, plus le disque dur fonctionne vite.

D'autre part, Solid State Drive (SDD) est une technologie de stockage moderne et un type de lecteur de disque plus rapide qui stocke les données sur des puces de mémoire flash accessibles instantanément. Contrairement aux disques durs traditionnels, les SSD ne comportent aucune pièce mobile et les SSD ne tournent pas .

Ainsi, pour savoir si le disque installé est un SSD ou un HDD normal, vérifiez simplement si le disque est rotatif à l'aide de la commande suivante :

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

Si la sortie est 1 , le disque est HDD. Si la sortie est 0 (zéro), le disque est SDD. Parce que les SSD ne tournent pas. La sortie doit donc être nulle si vous avez un SSD dans votre système.

Chaque lecteur a un répertoire dans /sys/class/block/ emplacement. Ainsi, vous pouvez également vérifier les détails d'autres lecteurs.

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

Remarque :

Si vous êtes sur une machine virtuelle invitée KVM, la lettre de lecteur serait vda . Le résultat variera en fonction du type de bus vous avez choisi lors de la machine virtuelle. Par exemple, si vous choisissez SATA comme type de bus pour le disque virtuel, vous verrez la sortie suivante :

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

Méthode 2 - Utilisation de la commande lsblk

Le lsblk la commande lit le sysfs système de fichiers et udev db pour collecter des informations sur tous les périphériques de bloc disponibles ou spécifiés. La commande lsblk fait partie de util-linux package et est pré-installé avec la plupart des distributions Linux.

Juste au cas où la commande lsblk n'est pas disponible, installez simplement le package util-linux à l'aide du gestionnaire de packages de votre distribution.

Par exemple, sur les systèmes basés sur Arch, vous pouvez l'installer à l'aide de la commande :

$ sudo pacman -S util-linux

Sur les systèmes basés sur Debian :

$ sudo apt install util-linux

Sur les systèmes basés sur RPM :

$ sudo yum install util-linux

Sur openSUSE :

$ sudo zypper install util-linux

Maintenant, trouvez si le disque est SSD ou HDD en utilisant la commande :

$ lsblk -d -o name,rota

Exemple de résultat :

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

Ici, "rota" signifie dispositif de rotation . Si vous obtenez la valeur de rotation dans la sortie ci-dessus comme 1 , le disque est HDD. Si la valeur est 0 (zéro) , alors le disque est SSD.

Méthode 3 - Utiliser les outils de surveillance SMART

L'autre façon de savoir si le disque est SSD ou HDD utilise smartctl commande. Le smartctl fait partie du package d'outils de surveillance S.M.A.R.T, qui est utilisé pour contrôler et surveiller S.M.A.R.T. disques durs ATA et SCSI activés.

Pour installer les outils de surveillance SMART sur Arch Linux et ses variantes, exécutez :

$ sudo pacman -S install smartmontools

Sur Debian, Ubuntu :

$ sudo apt install smartmontools

Sur RHEL, CentOS :

$ sudo yum install smartmontools

Sur openSUSE :

$ sudo zypper install smartmontools

Après avoir installé le package smartmontools, exécutez la commande suivante pour déterminer si le disque est un SSD ou un HDD :

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

Si le disque est un SSD, vous obtiendrez une sortie comme ci-dessous.

Rotation Rate:    Solid State Device

Si le disque est HDD, vous obtiendrez cette sortie :

Rotation Rate: 5400 rpm

Méthode 4 - Utilisation de dmesg + Google

Ce n'est pas une approche directe pour trouver le type de disque. Dans cette méthode, nous utilisons dmesg commande pour trouver le modèle de disque, puis google les détails pour savoir si le disque est SSD ou HDD.

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

Vous verrez le nom du modèle de disque parmi tous les autres détails.

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

Recherchez simplement ce modèle sur Google pour trouver les détails du disque.

Méthode 5 - Utilisation des détails SCSI + Google

C'est la même chose que la méthode ci-dessus. Nous récupérons le modèle de disque de /proc répertoire à l'aide de la commande :

$ cat /proc/scsi/scsi

Exemple de résultat :

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

Et puis Google les détails pour savoir si le disque est SSD ou HDD.

Méthode 6 - Utilisation des utilitaires Sg3

Utilitaires Sg3 est une collection d'utilitaires pour les périphériques utilisant le jeu de commandes SCSI. Chaque utilitaire de ce package implémente une commande SCSI.

Sg3-utils est disponible dans les dépôts par défaut de Debian et Ubuntu. Pour l'installer sur votre système, exécutez simplement :

$ sudo apt install sg3-utils

Maintenant, vérifiez les données vitales du produit (VPD) pour les caractéristiques du périphérique de bloc en exécutant la commande suivante :

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

Exemple de résultat :

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

Passez par la sortie. Si la sortie contient cette ligne - "Taux de rotation nominal :5 400 tr/min" , c'est le disque dur. Pour SSD, vous verriez probablement - "Support non rotatif" .

Méthode 7 – Analyse comparative des performances d'accès au disque

Déterminez si le disque est un SSD ou un HDD en lisant des blocs aléatoires du disque à l'aide de la commande :

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

Cette commande lira 1000 blocs aléatoires de 4k à partir des 16 premiers Go d'un disque.

Si votre disque est un SSD, l'opération devrait se terminer en environ une seconde . Si le disque est un disque dur, cela prendra quelques secondes.

Cela sera utile pour vérifier les disques de votre VPS. Si vous utilisez un VPS et que vous vouliez vérifier si l'hébergeur vous a fourni un SSD ou un HDD, c'est une façon de le savoir !

Et s'il y a plusieurs disques ?

Que se passe-t-il si j'ai deux disques, l'un SSD et l'autre HDD ? Les deux disques sont de même taille et du même fabricant. Je ne sais pas sur quel disque mon Linux est installé. Dans ce cas, recherchez simplement sur quel disque se trouve le système de fichiers racine à l'aide de la commande suivante :

$ df / -h

Exemple de résultat :

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

Vous pouvez également utiliser lshw commande pour trouver plus de détails sur les disques :

$ sudo lshw -short -C disk

Exemple de résultat :

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

Comme vous le voyez dans la sortie ci-dessus, mon système de fichiers racine est installé dans /dev/sda . Suivez maintenant l'une des méthodes ci-dessus pour déterminer si le disque est un disque dur ou un SSD.

Remarque :

Dans certains nouveaux ordinateurs portables comme Lenovo ideapad s240 , vous verrez un nom d'appareil différent, par exemple nvme0n1 . Voyons la liste des périphériques de bloc disponibles à l'aide de la commande :

$ ls /sys/block

Exemple de résultat :

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

Découvrons sur quel disque se trouve le système de fichiers racine :

$ df / -h

Exemple de résultat :

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

Comme vous le voyez dans les sorties ci-dessus, il n'y a pas de sda ou sdb . Ne pas paniquer! C'est normal. Le /dev/nvme ... le nom de l'appareil indique le nouveau NVMe "disques". Si le disque est connecté via un port NVM Express au lieu d'un port SATA ou SAS traditionnel, vous verrez un nom de périphérique différent, comme indiqué dans la sortie ci-dessus.

Ici, /dev/nvme0n1 est équivalent à /dev/sda . Par conséquent, /dev/nvme0n1p6 est équivalent à /dev/sda6 .

Lecture suggérée :

  • Comment trouver les spécifications matérielles sous Linux
  • Comment vérifier si un système Linux est une machine physique ou virtuelle
  • Comment vérifier si un système Linux est 32 bits ou 64 bits
  • Comment savoir si un processeur prend en charge la technologie de virtualisation (VT)

Ce sont quelques méthodes pour savoir si le disque est SSD ou HDD sous Linux. J'espère que cela a été utile.

Icône SSD Image par PagDev de Pixabay

Hdd icon Image par Clker-Free-Vector-Images de Pixabay


Linux
  1. Comment partitionner un disque sous Linux

  2. Comment vérifier la santé du SSD/HDD sous Linux

  3. Comment trouver un disque SSD ou HDD sous Linux ?

  4. Comment diriger les résultats de 'find' vers mv sous Linux

  5. Comment trouver l'adresse IP de la passerelle sous Linux

Comment trouver une adresse IP sous Linux

Comment trouver le nom d'hôte sous Linux

Façons de vérifier le SSD ou le disque dur dans le système d'exploitation Linux

Comment trouver la taille totale d'un répertoire sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver la liste des référentiels installés sous Linux