hdparm est un outil pour Linux qui permet de contrôler et de modifier les paramètres d’un disque dur ATA/IDE/SATA sous Linux. Il peut être utilisé pour améliorer les performances, la gestion de l’énergie (APM), le mode de transfert et d’autres aspects du disque. Il peut aussi être utilisé pour tester la vitesse de lecture du disque ou pour effacer les données. Il faut être prudent avec certaines options de hdparm, car elles peuvent endommager le disque ou le système.
Dans ce tutoriel, je vous montre comment utiliser hdparm pour régler et optimiser votre disque et tester les performances et vitesse de lecture.
Table des matières
Comment installer hdparm
Ubuntu, Debian, Linux Mint
Utilisez APT de cette manière pour installer le paquet :
sudo apt install hdparm
Fedora, RHL
Utilisez l’utilitaire yum pour installer l’utilitaire de disque :
sudo yum install hdparm
Comment utiliser hdparm pour optimiser les disques sur Linux
Afficher les informations d’un disque
hdparm /dev/sda
/dev/sda:
multcount = 16 (on)
IO_support = 1 (32-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 243201/255/63, sectors = 3907029168, start = 0
Pour afficher plus de détails sur le disque, comme le numéro et modèle de disque, les capacités, la configuration, les commandes et fonctionnalités disponibles :
hdparm -I /dev/sda | more
Comment mesurer la vitesse des disques sur Linux avec hdparm
Pour mesurer la vitesse des disques avec hdparm, utilisez l’option -t :
sudo hdparm -t /dev/sda
Timing buffered disk reads: 446 MB in 3.04 seconds = 146.77 MB/sec
Vous pouvez tester la vitesse des disques avec l’accès direct à la mémoire (DMA).
L’option -direct indique à hdparm d’utiliser l’indicateur O_DIRECT pour contourner le cache de page lors des tests de synchronisation. Cela permet d’obtenir une mesure plus précise des performances brutes du disque.
sudo hdparm -t --direct /dev/sda
Timing O_DIRECT disk reads: 464 MB in 3.04 seconds = 152.75 MB/sec
Hdparm lit toujours les données à partir du début du périphérique de stockage. Cependant, les disques durs ont tendance à fournir des données un peu plus lentement à partir des zones extérieures des disques magnétiques ; c’est pourquoi hdparm vous permet de définir un décalage.
Dans l’exemple suivant, nous demanderons à hdparm de lire les données à partir d’un emplacement du disque. Nous demanderons à hdparm de lire les données à partir de 20 Go.
sudo hdparm --offset 20 -T /dev/sda
/dev/sda:
Timing cached reads: 26184 MB in 1.99 seconds = 13162.58 MB/sec
Comment optimiser son disque sur Linux avec hdparm
Avant de modifier les paramètres de votre disque, notez bien les valeurs avec l’option -I pour pouvoir revenir en arrière en cas de problème.
Activer la mise en cache de l’écriture
La mise en cache de l’écriture recueille les données de plusieurs écritures dans un cache RAM avant de les écrire de manière permanente sur le disque. Comme elle réduit le nombre d’écritures sur le disque dur, elle peut améliorer les performances dans certains cas.
La mise en cache de l’écriture peut entraîner une perte de données si l’alimentation du serveur est coupée avant que le cache ne soit écrit sur le disque. N’activez pas la mise en cache de l’écriture si vous souhaitez minimiser le risque de perte de données.
La commande suivante active la mise en cache en écriture :
sudo hdparm -W1 /dev/sda
Pour désactiver la mise en cache en écriture, utilisez :
sudo hdparm -W0 /dev/sda
Activer l’accès direct à la mémoire (DMA)
L’accès direct à la mémoire (DMA) permet aux composants du serveur d’accéder directement à sa mémoire vive, sans passer par le processeur. Dans certains cas, il permet d’améliorer considérablement les performances du disque dur.
Pour activer le DMA, exécutez la commande suivante, en remplaçant /dev/sda par votre disque dur :
sudo hdparm -d1 /dev/sda
Vous pouvez désactiver le DMA en exécutant la commande suivante
sudo hdparm -d0 /dev/sda
Le DMA n’est pas disponible sur tous les serveurs et, avec les serveurs virtuels en particulier, il se peut que vous ne puissiez pas modifier les paramètres du disque dur.
Augmenter le R/W multiple sector transfer
L’option -I permet dans les Capabilities de vérifier si le transfert de secteurs multiples R/W est au maximum via la valeur Current =.
Si elle est en dessous de Max=, vous pouvez augmenter la valeur avec l’option -m comme ceci :
hdparm -m16 /dev/sda
Vitesse maximale
Certaines propriétés du disque peuvent être modifiées lorsque le périphérique est en fonctionnement ; par exemple, la plupart des disques vous permettent d’activer et de désactiver la gestion de l’alimentation.
Les fonctions que hdparm peut modifier et activer sur un disque dur peuvent être consultées à l’aide de la commande
De nombreux disques durs modernes permettent de ralentir le mouvement de la tête. Bien que cela augmente les temps d’accès, cela réduit également le niveau de bruit. Pour savoir si votre propre disque dur offre ce “mode acoustique”, vous pouvez utiliser la commande suivante :
hdparm -M /dev/sda
Pour atteindre la vitesse maximale, utilisez la valeur maximale :
hdparm -M 254 /dev/sda
En outre, les lecteurs modernes peuvent même récupérer quelques secteurs à l’avance (“read ahead”). Pour en définir le nombre, utilisez le commutateur -a, par exemple :
hdparm -a256 /dev/sda
Liens
- Vérifier la santé de son disque dur sur Linux
- Testdisk : Comment récupérer une partition supprimée ou perdue
- Testdisk : réparer les partitions de disque RAW
- Photorec : récupérer des fichiers supprimés sur Linux
- Comment retrouver/récupérer un fichier supprimé sur Linux
- fdisk/gfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- cfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- mkfs : formater et créer un système de fichiers (ext4, NTFS, FAT) sur Linux