15/11/2024

Interface d’extension : blkid, blockdev, smartctl, etc.

Côté matériel, il est impératif de tenir compte également des contrôleurs d’entrées/sorties, des disques et autres équipements de stockage.

A cet égard, on peut utiliser le résultat des commandes suivantes :

  • megacli
  • storcli

Cette dernière commande est en fait le successeur de megacli. Il n’est pas nécessaire de l’exécuter en tant que root et on peut en outre récupérer une quantité importante d’informations.

Pour lister les données du contrôleur et sa configuration, on devra exécuter :

$ sudo storcli /cx show all

Si l’on souhaite plutôt disposer des informations concernant les périphériques et les unités de stockage on exécutera alors :

$ sudo storcli /cx /eall /sall show

A ce niveau, on peut aussi utiliser les commandes classiques, permettant respectivement de fournir les indications de performance des périphériques, l’équivalent de la commande top dédiée aux disques ainsi que les traces du trafic d’entrées/sorties des différentes unités de type bloc, à savoir les commandes :

  • iostat (issu du package sysstat)
  • iotop
  • blktrace

Exemple : indications des performances des différents périphériques d’une machine avec iostat :

REMARQUE : ces commandes permettent aussi bien de fournir des indications au niveau du contrôleur qu’au niveau des disques et/ou des périphériques eux-mêmes.

Afin d’afficher les informations concernant le contrôleur SCSI, il est également possible d’utiliser la commande lsscsi dont le résultat est de la forme suivante :

En ce qui concerne les disques, on peut bien évidemment utiliser la commande lsblk permettant de visualiser sous forme d’arbre les différents niveaux d’attachement des périphériques physiques au volumes logiques (dans le cas de l’utilisation du LVM). En fait, cette commande permet d’afficher les périphériques de type bloc, en les liant les uns aux autres :

# lsblk

On peut compléter le résultat de cette première commande avec sa petite sœur blkid permettant d’obtenir les indications d’entrées/sorties d’un périphérique physique :

# blkid -i /dev/sda1

REMARQUE : sans option, en ne mentionnant que le nom du périphérique, on peut aussi récupérer le n°UUID (identifiant unique) de ce dernier :

# blkid /dev/sda1
/dev/sda1 :  UUID ="2760a9e-fbe4-4592-90d0-68a98b2cb25b" TYPE="ext4"

Par ailleurs, il est également possible d’exécuter la commande blockdev, issu du package util-linux, permettant d’appeler les ioctls des différents périphériques de type bloc, depuis la ligne de commande.

Exemple : récupérer la capacité d’un périphérique de type bloc :

# blockdev --getbss /dev/sda

RAPPEL : les ioctls ne sont rien d’autre que des appels système propres aux opérations d’entrées/sorties spécifiques à un périphérique de type bloc.

Il existe une catégorie de disque appelée SMART, pilotée par la commande smartctl et permettant le contrôle et le monitoring de ce genre de périphérique. En premier lieu, il faut toujours vérifier que le composant interrogé bénéficie de ce protocole SMART :

# smartctl -i /dev/sda

Lorsque c’est le cas, on devrait alors voir s’afficher le résultat suivant :

ATTENTION : pour pouvoir afficher les différentes métriques concernant les périphériques, il faut au préalable activer la fonction via la commande suivante :

# smartctl --smart=on --offlibne=auto --saveauto=on /dev/sda

Il est également possible d’avoir recours à la commande traditionnelle fdisk, en exécutant l’instruction ci-dessous permettant de récupérer la liste des différents périphériques utilisés sur les partitions du système :

# fdisk -l

Pour clore cette section concernant le stockage, il ne faut pas négliger l’espace d’échange (aussi appelé swap). Pour pouvoir récupérer les informations le concernant, on put regarder le contenu du fichier /proc/swaps ou utiliser la commande swapon permettant d’obtenir la taille de cet espace et le nombre d’octets alloués :

# swapon -s
author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail