====== Installation gnu-linux sur SSD ======
Quelques recommandations pour une installation adaptée/pérenne sur un disque SSD((**S**olid **S**tate **D**isk)).
* 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 =====
* https://sites.google.com/site/easylinuxtipsproject/ssd
* http://joao.machado-family.com/2014/04/01/linux-ssd-trim-setup/
* http://doc.ubuntu-fr.org/tmpfs