Retourner sur le site

Optimiser disques NVMe

Réduire l'usure SSD, améliorer les I/O avec fstrim, noatime et iostat.

Optimiser disques NVMe

Les disques NVMe offrent une latence très faible, mais un mauvais réglage (écritures inutiles, absence de TRIM) peut dégrader les performances à long terme. Ce guide couvre les optimisations sûres sur un VPS Linux HolyCloud.

Prérequis

  • VPS Linux avec stockage NVMe ou SSD (vérifier avec lsblk et nvme list si disponible)
  • Accès root ou sudo
  • Snapshot ou sauvegarde avant modification de /etc/fstab

Identifier le disque et le système de fichiers

Listez les périphériques et le point de montage racine :

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE,MODEL
findmnt /
df -hT /

Sur un volume NVMe typique : /dev/nvme0n1p1 monté en ext4 ou xfs.

Activer TRIM avec fstrim

Le TRIM informe le SSD des blocs libérés. Sur la plupart des distributions récentes, fstrim.timer est déjà actif :

systemctl status fstrim.timer
systemctl enable --now fstrim.timer

Exécution manuelle (sans risque sur système de fichiers monté en lecture-écriture supporté) :

fstrim -av

Pour un montage précis :

fstrim -v /

Réduire les écritures : option noatime dans fstab

Par défaut, Linux met à jour atime à chaque lecture, ce qui génère des écritures superflues sur SSD. Sauvegardez puis éditez /etc/fstab :

cp -a /etc/fstab /etc/fstab.bak.$(date +%F)
grep -v '^#' /etc/fstab

Remplacez defaults par defaults,noatime (ou ajoutez noatime aux options existantes) pour la ligne racine, par exemple :

UUID=xxxx-xxxx  /  ext4  defaults,noatime  0  1

Appliquez sans redémarrage :

mount -o remount,noatime /
findmnt -o OPTIONS /

Note : relatime est souvent le défaut moderne ; noatime va plus loin. Évitez discard en continu sur certains setups — préférez fstrim périodique.

Surveiller les I/O avec iostat

Installez sysstat si nécessaire :

apt update && apt install -y sysstat

Mesures en direct (intervalle 2 s, 5 échantillons) :

iostat -xz 2 5

Indicateurs utiles :

  • %util proche de 100 % : disque saturé
  • await élevé : latence I/O importante
  • r/s / w/s : débit lecture/écriture

Historique quotidien (après activation de sysstat) :

sed -i 's/ENABLED="false"/ENABLED="true"/' /etc/default/sysstat
systemctl enable --now sysstat
sar -d 1 3

Vérifications complémentaires

Contrôlez que le scheduler convient (souvent none ou mq-deadline sur NVMe) :

cat /sys/block/nvme0n1/queue/scheduler

Vérifiez l’alignement et l’espace (ext4) :

tune2fs -l /dev/nvme0n1p1 | grep -E 'Block count|Reserved block'

Dépannage

| Symptôme | Action |

|----------|--------|

| fstrim: Operation not supported | Vérifier support TRIM : lsblk -D |

| Montage ne remonte pas | Restaurer /etc/fstab.bak et mount -a |

| I/O élevées constantes | iotop -o pour identifier le processus |

Besoin d'aide ?

Pour un changement de partitionnement ou migration vers un volume plus grand, ouvrez un ticket depuis votre espace client HolyCloud.