Outils pour utilisateurs

Outils du site


sysadmin:systeme-sur-ssd

Installation gnu-linux sur SSD

Quelques recommandations pour une installation adaptée/pérenne sur un disque SSD1).

  • Dans le BIOS s'assurer que le mode SATA détecté est bien AHCI et non pas IDE.
  • Lors de la création des partitions, laisser 10% de l'espace non alloué en fin de disque. Cet espace sera utilisé par les firmwares SSD pour l'overprovisioning (augmente perf. et durée de vie).
  • Utiliser le système de fichier EXT4 qui offre une journalisation nécessaire pour le système mais non excessive.
  • Dans /etc/fstab ajouter l'option noatime qui permet de désactiver l'écriture systématique du timestamp à chaque lecture d'un fichier par le système.
  • Éviter la fragmentation des fichiers sur la partition en gardant toujours 20% d'espace libre. Ne pas défragmenter (génère énormément d’écritures).

Utiliser fréquemment fstrim

S'assurer que le TRIM s'execute régulierement (lors du démarrage, lors de chaque arret) en ajoutant la commande fstrim dans le fichier /etc/rc.local

Minimiser l'utilisation du swap sur SSD

La variable swappiness permet d'influencer la manière dont le système va utiliser la zone de swap. Sa valeur peut être définie entre 1-100. Plus la valeur est faible, plus le système privilégiera la RAM même pour faire face à une forte charge avant d'utiliser la mémoire virtuelle sur SSD.

Pour afficher la valeur swappiness:

cat /proc/sys/vm/swappiness

Pour baisser la valeur par défaut de swappiness, modifier sa valeur dans un fichier de conf sous /etc/sysctl.d. Ici on crée un nouveau fichier /etc/sysctl.d/60-custom-vm.conf:

vm.swappiness = 1

On recharge les fichiers de conf via la commande:

$ sudo procps start 

Sur les systèmes utilisant systemd, on invoque la commande “systemd-sysctl” :

/usr/lib/systemd/systemd-sysctl

Désactiver l'hibernation

Le processus d'hibernation génère énormément d’écritures dans la zone de swap, il vaut mieux ne pas l'utiliser et s'assurer qu'elle est désactivée (c'est le cas par défaut sur Ubuntu).

Utiliser tmpfs

Pour réduire encore les écritures sur le SSD il est possible de déplacer les fichiers temporaires et les logs en mémoire RAM.

Modifier le fichier /etc/fstab

tmpfs      /var/log        tmpfs      defaults,noatime              0    0
tmpfs      /tmp            tmpfs      defaults,noatime,mode=1777    0    0

Sur les distributions utilisant systemd pour que le système prenne en compte les modifications apportées au fichier /etc/fstab invoquer :

systemctl daemon-reload
 
mount -a

Remarque: Comme toute l'arborescence sous /var/log disparaît après chaque redémarrage, certaines applications peuvent être perturbées. Dans ce cas, recréer l’arborescence nécessaire lors du démarrage via le script /etc/rc.local

On liste les dossiers existant sous /var/log:

$ cd /var/log
$ find . -type d -print

On recrée chaque dossier par appel d'un script lors du démarrage du système:

#
# Modification for SSD
for dir in apparmor apt cups dist-upgrade fsck gdm installer samba unattended-upgrades ;
do
   if [ ! -e /var/log/$dir ] ; then
      mkdir /var/log/$dir
   fi
done

Références

1)
Solid State Disk
sysadmin/systeme-sur-ssd.txt · Dernière modification : 2024/06/20 07:41 de yoann