Sur un PC je voulais identifier les disques installés dans la machine, disques à plateaux ou SSD.

Pour cela il faut utiliser la commande lsblk.

Par défaut, la commande lsblk va afficher :

  • NAME : le nom du périphérique ou de la partition
  • MAJ:MIN : numéro majeur:mineur du périphérique
  • RM : périphérique amovible
  • SIZE : la taille du périphérique ou de la partition
  • RO : périphérique en lecture seule
  • TYPE : type de périphérique
  • MOUNTPOINTS : le point de montage

Exemple sur mon portable :

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 931,5G  0 disk 
├─sda1   8:1    0  23,3G  0 part /
├─sda2   8:2    0  14,9G  0 part [SWAP]
└─sda3   8:3    0 893,3G  0 part /home

Sur un serveur ou il y a plusieurs disques, certains périphériques sont de type Logical Volume (lvm) :

NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                     8:0    0 931,5G  0 disk 
├─sda1                  8:1    0  18,6G  0 part /
├─sda2                  8:2    0   3,7G  0 part [SWAP]
├─sda3                  8:3    0  93,1G  0 part /home
└─sda4                  8:4    0   816G  0 part 
  └─vg00-SavePC       254:11   0   500G  0 lvm  /montage/SavePC
sdb                     8:16   1     0B  0 disk 
sdc                     8:32   0 931,5G  0 disk 
└─sdc1                  8:33   0 931,5G  0 part 
  ├─vg02-DepotGit     254:5    0   100G  0 lvm  /var/git
  ├─vg02-NewImages    254:6    0   300G  0 lvm  /montage/Images
  ├─vg02-NewMusiques  254:7    0   200G  0 lvm  /montage/Musiques
  ├─vg02-NewNextcloud 254:8    0   200G  0 lvm  /var/www/html/nextcloud
  ├─vg02-NewLogweb3   254:9    0    20G  0 lvm  /var/www/html/logweb3
  └─vg02-pmb          254:10   0    50G  0 lvm  /var/www/html/pmb
sdd                     8:48   0   3,6T  0 disk 
└─sdd1                  8:49   0   3,6T  0 part 
  ├─vg03-Musiques     254:0    0   200G  0 lvm  
  ├─vg03-nextcloud    254:1    0   200G  0 lvm  
  ├─vg03-vmkvm        254:2    0   300G  0 lvm  /montage/vmkvm
  ├─vg03-vg03--images 254:3    0   300G  0 lvm  
  └─vg03-logweb3      254:4    0    20G  0 lvm  

Il y a d’autres informations que l’on peut afficher, il faut spécifier ces informations avec l’option -o.
La liste des informations disponible est obtenue avec la commande lsblk --list-columns.

Pour identifier un disque à plateau d’un SSD on va afficher le paramètre ROTA qui prendra la valeur 0 pour un SSD et 1 pour un disque à plateau.
On utilisera la commande suivant pour afficher le nom du disque (NAME) et le type de disque (ROTA).

lsblk -o name,rota

Sur mon serveur, on voit qu’il y les 2 types de disques :

NAME                  ROTA
sda                      1
├─sda1                   1
├─sda2                   1
├─sda3                   1
└─sda4                   1
  └─vg00-SavePC          1
sdb                      0
sdc                      1
└─sdc1                   1
  ├─vg02-DepotGit        1
  ├─vg02-NewImages       1
  ├─vg02-NewMusiques     1
  ├─vg02-NewNextcloud    1
  ├─vg02-NewLogweb3      1
  └─vg02-pmb             1
sdd                      1
└─sdd1                   1
  ├─vg03-Musiques        1
  ├─vg03-nextcloud       1
  ├─vg03-vmkvm           1
  ├─vg03-vg03--images    1
  └─vg03-logweb3         1

Le champ ROTA du disque sdb vaut 0, c’est donc un disque SSD.

La valeur du champ ROTA peut être rajouté à la sortie par défaut :

lsblk -o +ROTA

Ce qui donne :

NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS             ROTA
sda                     8:0    0 931,5G  0 disk                            1
├─sda1                  8:1    0  18,6G  0 part /                          1
├─sda2                  8:2    0   3,7G  0 part [SWAP]                     1
├─sda3                  8:3    0  93,1G  0 part /home                      1
└─sda4                  8:4    0   816G  0 part                            1
  └─vg00-SavePC       254:11   0   500G  0 lvm  /montage/SavePC            1
sdb                     8:16   1     0B  0 disk                            0
sdc                     8:32   0 931,5G  0 disk                            1
└─sdc1                  8:33   0 931,5G  0 part                            1
  ├─vg02-DepotGit     254:5    0   100G  0 lvm  /var/git                   1
  ├─vg02-NewImages    254:6    0   300G  0 lvm  /montage/Images            1
  ├─vg02-NewMusiques  254:7    0   200G  0 lvm  /montage/Musiques          1
  ├─vg02-NewNextcloud 254:8    0   200G  0 lvm  /var/www/html/nextcloud    1
  ├─vg02-NewLogweb3   254:9    0    20G  0 lvm  /var/www/html/logweb3      1
  └─vg02-pmb          254:10   0    50G  0 lvm  /var/www/html/pmb          1
sdd                     8:48   0   3,6T  0 disk                            1
└─sdd1                  8:49   0   3,6T  0 part                            1
  ├─vg03-Musiques     254:0    0   200G  0 lvm                             1
  ├─vg03-nextcloud    254:1    0   200G  0 lvm                             1
  ├─vg03-vmkvm        254:2    0   300G  0 lvm  /montage/vmkvm             1
  ├─vg03-vg03--images 254:3    0   300G  0 lvm                             1
  └─vg03-logweb3      254:4    0    20G  0 lvm                             1